mcpmake 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. package/dist/commands/bundle.d.ts +1 -0
  2. package/dist/commands/bundle.d.ts.map +1 -0
  3. package/dist/commands/bundle.js +5 -4
  4. package/dist/commands/bundle.js.map +1 -0
  5. package/dist/commands/ci.d.ts +1 -0
  6. package/dist/commands/ci.d.ts.map +1 -0
  7. package/dist/commands/ci.js +3 -2
  8. package/dist/commands/ci.js.map +1 -0
  9. package/dist/commands/deploy.d.ts +1 -0
  10. package/dist/commands/deploy.d.ts.map +1 -0
  11. package/dist/commands/deploy.js +4 -3
  12. package/dist/commands/deploy.js.map +1 -0
  13. package/dist/commands/diff.d.ts +1 -0
  14. package/dist/commands/diff.d.ts.map +1 -0
  15. package/dist/commands/diff.js +5 -4
  16. package/dist/commands/diff.js.map +1 -0
  17. package/dist/commands/from/describe.d.ts +1 -0
  18. package/dist/commands/from/describe.d.ts.map +1 -0
  19. package/dist/commands/from/describe.js +11 -10
  20. package/dist/commands/from/describe.js.map +1 -0
  21. package/dist/commands/from/har.d.ts +1 -0
  22. package/dist/commands/from/har.d.ts.map +1 -0
  23. package/dist/commands/from/har.js +14 -13
  24. package/dist/commands/from/har.js.map +1 -0
  25. package/dist/commands/from/openapi.d.ts +1 -0
  26. package/dist/commands/from/openapi.d.ts.map +1 -0
  27. package/dist/commands/from/openapi.js +17 -16
  28. package/dist/commands/from/openapi.js.map +1 -0
  29. package/dist/commands/from/postman.d.ts +1 -0
  30. package/dist/commands/from/postman.d.ts.map +1 -0
  31. package/dist/commands/from/postman.js +13 -12
  32. package/dist/commands/from/postman.js.map +1 -0
  33. package/dist/commands/from/stainless.d.ts +110 -0
  34. package/dist/commands/from/stainless.d.ts.map +1 -0
  35. package/dist/commands/from/stainless.js +272 -0
  36. package/dist/commands/from/stainless.js.map +1 -0
  37. package/dist/commands/from/target-support.d.ts +1 -0
  38. package/dist/commands/from/target-support.d.ts.map +1 -0
  39. package/dist/commands/from/target-support.js +2 -1
  40. package/dist/commands/from/target-support.js.map +1 -0
  41. package/dist/commands/from/url.d.ts +1 -0
  42. package/dist/commands/from/url.d.ts.map +1 -0
  43. package/dist/commands/from/url.js +14 -13
  44. package/dist/commands/from/url.js.map +1 -0
  45. package/dist/commands/from/website.d.ts +1 -0
  46. package/dist/commands/from/website.d.ts.map +1 -0
  47. package/dist/commands/from/website.js +17 -16
  48. package/dist/commands/from/website.js.map +1 -0
  49. package/dist/commands/lint.d.ts +1 -0
  50. package/dist/commands/lint.d.ts.map +1 -0
  51. package/dist/commands/lint.js +6 -5
  52. package/dist/commands/lint.js.map +1 -0
  53. package/dist/commands/merge.d.ts +1 -0
  54. package/dist/commands/merge.d.ts.map +1 -0
  55. package/dist/commands/merge.js +3 -2
  56. package/dist/commands/merge.js.map +1 -0
  57. package/dist/commands/publish.d.ts +1 -0
  58. package/dist/commands/publish.d.ts.map +1 -0
  59. package/dist/commands/publish.js +4 -3
  60. package/dist/commands/publish.js.map +1 -0
  61. package/dist/commands/rescan.d.ts +1 -0
  62. package/dist/commands/rescan.d.ts.map +1 -0
  63. package/dist/commands/rescan.js +12 -11
  64. package/dist/commands/rescan.js.map +1 -0
  65. package/dist/commands/update.d.ts +1 -0
  66. package/dist/commands/update.d.ts.map +1 -0
  67. package/dist/commands/update.js +10 -9
  68. package/dist/commands/update.js.map +1 -0
  69. package/dist/commands/verify.d.ts +1 -0
  70. package/dist/commands/verify.d.ts.map +1 -0
  71. package/dist/commands/verify.js +7 -6
  72. package/dist/commands/verify.js.map +1 -0
  73. package/dist/index.d.ts +1 -0
  74. package/dist/index.d.ts.map +1 -0
  75. package/dist/index.js +23 -2
  76. package/dist/index.js.map +1 -0
  77. package/dist/registry/official-registry.d.ts +1 -0
  78. package/dist/registry/official-registry.d.ts.map +1 -0
  79. package/dist/registry/official-registry.js +1 -0
  80. package/dist/registry/official-registry.js.map +1 -0
  81. package/package.json +24 -42
  82. package/README.md +0 -691
  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,38 +0,0 @@
1
- /**
2
- * High-level secret management for server credentials.
3
- *
4
- * Encrypts values with AES-256-GCM via the crypto module.
5
- * Uses in-memory storage by default; when a Pg Database is provided,
6
- * persists to the `server_secrets` table instead.
7
- */
8
- import type { Database } from './db/index.js';
9
- export declare class SecretStore {
10
- private masterKey;
11
- private db;
12
- /** In-memory fallback: Map<slug, Map<name, encryptedValue>> */
13
- private mem;
14
- constructor(masterKey: string, db?: Database | null);
15
- /** Attach a Pg database (can be called after construction). */
16
- setDatabase(db: Database): void;
17
- /**
18
- * Store (or overwrite) a secret for a server slug.
19
- */
20
- storeSecret(slug: string, name: string, value: string): Promise<void>;
21
- /**
22
- * Retrieve and decrypt a single secret. Returns null if not found.
23
- */
24
- getSecret(slug: string, name: string): Promise<string | null>;
25
- /**
26
- * List secret names (not values) for a server.
27
- */
28
- listSecrets(slug: string): Promise<string[]>;
29
- /**
30
- * Delete a secret.
31
- */
32
- deleteSecret(slug: string, name: string): Promise<void>;
33
- /**
34
- * Get all secrets for a server as a plain env-var map (for container startup).
35
- * Values are decrypted.
36
- */
37
- getSecretsAsEnv(slug: string): Promise<Record<string, string>>;
38
- }
@@ -1,103 +0,0 @@
1
- /**
2
- * High-level secret management for server credentials.
3
- *
4
- * Encrypts values with AES-256-GCM via the crypto module.
5
- * Uses in-memory storage by default; when a Pg Database is provided,
6
- * persists to the `server_secrets` table instead.
7
- */
8
- import { encrypt, decrypt } from './crypto.js';
9
- export class SecretStore {
10
- masterKey;
11
- db;
12
- /** In-memory fallback: Map<slug, Map<name, encryptedValue>> */
13
- mem = new Map();
14
- constructor(masterKey, db) {
15
- this.masterKey = masterKey;
16
- this.db = db ?? null;
17
- }
18
- /** Attach a Pg database (can be called after construction). */
19
- setDatabase(db) {
20
- this.db = db;
21
- }
22
- /**
23
- * Store (or overwrite) a secret for a server slug.
24
- */
25
- async storeSecret(slug, name, value) {
26
- const encryptedValue = encrypt(value, this.masterKey);
27
- if (this.db) {
28
- await this.db.query(`INSERT INTO server_secrets (slug, name, encrypted_value, updated_at)
29
- VALUES ($1, $2, $3, now())
30
- ON CONFLICT (slug, name) DO UPDATE
31
- SET encrypted_value = EXCLUDED.encrypted_value,
32
- updated_at = now()`, [slug, name, encryptedValue]);
33
- }
34
- else {
35
- let slugMap = this.mem.get(slug);
36
- if (!slugMap) {
37
- slugMap = new Map();
38
- this.mem.set(slug, slugMap);
39
- }
40
- slugMap.set(name, encryptedValue);
41
- }
42
- }
43
- /**
44
- * Retrieve and decrypt a single secret. Returns null if not found.
45
- */
46
- async getSecret(slug, name) {
47
- let encryptedValue;
48
- if (this.db) {
49
- const { rows } = await this.db.query('SELECT encrypted_value FROM server_secrets WHERE slug = $1 AND name = $2', [slug, name]);
50
- encryptedValue = rows.length > 0 ? rows[0].encrypted_value : undefined;
51
- }
52
- else {
53
- encryptedValue = this.mem.get(slug)?.get(name);
54
- }
55
- if (!encryptedValue)
56
- return null;
57
- return decrypt(encryptedValue, this.masterKey);
58
- }
59
- /**
60
- * List secret names (not values) for a server.
61
- */
62
- async listSecrets(slug) {
63
- if (this.db) {
64
- const { rows } = await this.db.query('SELECT name FROM server_secrets WHERE slug = $1 ORDER BY name', [slug]);
65
- return rows.map((r) => r.name);
66
- }
67
- const slugMap = this.mem.get(slug);
68
- return slugMap ? [...slugMap.keys()].sort() : [];
69
- }
70
- /**
71
- * Delete a secret.
72
- */
73
- async deleteSecret(slug, name) {
74
- if (this.db) {
75
- await this.db.query('DELETE FROM server_secrets WHERE slug = $1 AND name = $2', [slug, name]);
76
- }
77
- else {
78
- this.mem.get(slug)?.delete(name);
79
- }
80
- }
81
- /**
82
- * Get all secrets for a server as a plain env-var map (for container startup).
83
- * Values are decrypted.
84
- */
85
- async getSecretsAsEnv(slug) {
86
- const result = {};
87
- if (this.db) {
88
- const { rows } = await this.db.query('SELECT name, encrypted_value FROM server_secrets WHERE slug = $1', [slug]);
89
- for (const row of rows) {
90
- result[row.name] = decrypt(row.encrypted_value, this.masterKey);
91
- }
92
- }
93
- else {
94
- const slugMap = this.mem.get(slug);
95
- if (slugMap) {
96
- for (const [name, encryptedValue] of slugMap) {
97
- result[name] = decrypt(encryptedValue, this.masterKey);
98
- }
99
- }
100
- }
101
- return result;
102
- }
103
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * Generate a bearer token for a hosted MCP server.
3
- * Format: mf_{64 hex chars} (32 random bytes).
4
- */
5
- export declare function generateBearerToken(): string;
6
- /**
7
- * Hash a bearer token for storage. Never store raw tokens.
8
- */
9
- export declare function hashToken(token: string): string;
10
- /**
11
- * Verify a bearer token against a stored SHA-256 hash.
12
- */
13
- export declare function verifyToken(token: string, hash: string): boolean;
14
- /**
15
- * Compute SHA-256 hash of a spec file for dedup / change detection.
16
- */
17
- export declare function hashSpec(content: Buffer): string;
18
- /**
19
- * Audit generated code in a project directory for dangerous patterns.
20
- * Scans .ts files, Dockerfile, and package.json.
21
- * Returns { safe: true } if no dangerous patterns are found.
22
- */
23
- export declare function auditGeneratedCode(dir: string): Promise<{
24
- safe: boolean;
25
- findings: string[];
26
- }>;
@@ -1,142 +0,0 @@
1
- import { randomBytes, createHash } from 'node:crypto';
2
- import { readdir, readFile } from 'node:fs/promises';
3
- import { join } from 'node:path';
4
- const TOKEN_PREFIX = 'mf_';
5
- /**
6
- * Generate a bearer token for a hosted MCP server.
7
- * Format: mf_{64 hex chars} (32 random bytes).
8
- */
9
- export function generateBearerToken() {
10
- return TOKEN_PREFIX + randomBytes(32).toString('hex');
11
- }
12
- /**
13
- * Hash a bearer token for storage. Never store raw tokens.
14
- */
15
- export function hashToken(token) {
16
- return createHash('sha256').update(token).digest('hex');
17
- }
18
- /**
19
- * Verify a bearer token against a stored SHA-256 hash.
20
- */
21
- export function verifyToken(token, hash) {
22
- const computed = hashToken(token);
23
- // Constant-time comparison to prevent timing attacks
24
- if (computed.length !== hash.length)
25
- return false;
26
- let diff = 0;
27
- for (let i = 0; i < computed.length; i++) {
28
- diff |= computed.charCodeAt(i) ^ hash.charCodeAt(i);
29
- }
30
- return diff === 0;
31
- }
32
- /**
33
- * Compute SHA-256 hash of a spec file for dedup / change detection.
34
- */
35
- export function hashSpec(content) {
36
- return createHash('sha256').update(content).digest('hex');
37
- }
38
- /**
39
- * Dangerous patterns that must never appear in generated server code.
40
- * Each entry has a regex to test against file content and a human-readable label.
41
- */
42
- const DANGEROUS_PATTERNS = [
43
- { pattern: /\bchild_process\b/, label: 'child_process module' },
44
- { pattern: /\beval\s*\(/, label: 'eval()' },
45
- { pattern: /\bnew\s+Function\s*\(/, label: 'new Function()' },
46
- { pattern: /\brequire\s*\(\s*['"]child_process['"]/, label: "require('child_process')" },
47
- { pattern: /\bexecSync\b/, label: 'execSync' },
48
- { pattern: /\bspawnSync\b/, label: 'spawnSync' },
49
- { pattern: /\bexecFileSync\b/, label: 'execFileSync' },
50
- { pattern: /\bspawn\s*\(/, label: 'spawn()' },
51
- { pattern: /\bexec\s*\(/, label: 'exec()' },
52
- { pattern: /\bimport\s*\(\s*['"]/, label: 'dynamic import()' },
53
- ];
54
- /** Files that legitimately use process.env — skip the process.env check for these. */
55
- const PROCESS_ENV_ALLOWLIST = new Set(['config.ts', 'index.ts']);
56
- /** Patterns checked only on tool handler files (not config/index). */
57
- const TOOL_ONLY_PATTERNS = [
58
- { pattern: /\bprocess\.env\b/, label: 'process.env access (use config instead)' },
59
- { pattern: /\bfs\s*\./, label: 'direct fs module usage' },
60
- ];
61
- /** Patterns checked on Dockerfiles. */
62
- const DOCKERFILE_PATTERNS = [
63
- { pattern: /RUN\s+curl\b/, label: 'curl in Dockerfile RUN' },
64
- { pattern: /RUN\s+wget\b/, label: 'wget in Dockerfile RUN' },
65
- { pattern: /ADD\s+https?:\/\//, label: 'ADD from remote URL in Dockerfile' },
66
- ];
67
- /**
68
- * Audit generated code in a project directory for dangerous patterns.
69
- * Scans .ts files, Dockerfile, and package.json.
70
- * Returns { safe: true } if no dangerous patterns are found.
71
- */
72
- export async function auditGeneratedCode(dir) {
73
- const findings = [];
74
- const tsFiles = await collectTsFiles(dir);
75
- for (const filePath of tsFiles) {
76
- const content = await readFile(filePath, 'utf-8');
77
- const relativePath = filePath.slice(dir.length + 1);
78
- const fileName = filePath.split('/').pop() ?? '';
79
- // Check universal dangerous patterns
80
- for (const { pattern, label } of DANGEROUS_PATTERNS) {
81
- if (pattern.test(content)) {
82
- findings.push(`${relativePath}: contains ${label}`);
83
- }
84
- }
85
- // Check tool-only patterns (skip config.ts and index.ts)
86
- if (!PROCESS_ENV_ALLOWLIST.has(fileName)) {
87
- for (const { pattern, label } of TOOL_ONLY_PATTERNS) {
88
- if (pattern.test(content)) {
89
- findings.push(`${relativePath}: contains ${label}`);
90
- }
91
- }
92
- }
93
- }
94
- // Audit Dockerfile if present
95
- const dockerfilePath = join(dir, 'Dockerfile');
96
- try {
97
- const dockerfileContent = await readFile(dockerfilePath, 'utf-8');
98
- for (const { pattern, label } of DOCKERFILE_PATTERNS) {
99
- if (pattern.test(dockerfileContent)) {
100
- findings.push(`Dockerfile: contains ${label}`);
101
- }
102
- }
103
- }
104
- catch {
105
- // No Dockerfile — that's fine for stdio-only projects
106
- }
107
- // Audit package.json for suspicious scripts
108
- const packageJsonPath = join(dir, 'package.json');
109
- try {
110
- const pkgContent = await readFile(packageJsonPath, 'utf-8');
111
- const pkg = JSON.parse(pkgContent);
112
- const allowedScripts = new Set(['build', 'start', 'dev', 'test']);
113
- if (pkg.scripts) {
114
- for (const key of Object.keys(pkg.scripts)) {
115
- if (!allowedScripts.has(key)) {
116
- findings.push(`package.json: unexpected script "${key}"`);
117
- }
118
- }
119
- }
120
- }
121
- catch {
122
- // No package.json or invalid JSON
123
- }
124
- return { safe: findings.length === 0, findings };
125
- }
126
- /**
127
- * Recursively collect all .ts files in a directory.
128
- */
129
- async function collectTsFiles(dir) {
130
- const result = [];
131
- const entries = await readdir(dir, { withFileTypes: true });
132
- for (const entry of entries) {
133
- const fullPath = join(dir, entry.name);
134
- if (entry.isDirectory() && entry.name !== 'node_modules') {
135
- result.push(...(await collectTsFiles(fullPath)));
136
- }
137
- else if (entry.isFile() && entry.name.endsWith('.ts')) {
138
- result.push(fullPath);
139
- }
140
- }
141
- return result;
142
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * Hosting backend HTTP server.
3
- *
4
- * A minimal Node.js HTTP server (no Express) that accepts spec uploads,
5
- * generates MCP servers, and manages Docker container lifecycles.
6
- *
7
- * Endpoints:
8
- * POST /api/servers — Create a new hosted MCP server
9
- * GET /api/servers — List servers
10
- * GET /api/servers/:slug — Get server status
11
- * DELETE /api/servers/:slug — Stop and remove server
12
- * PUT /api/servers/:slug — Re-deploy with updated spec
13
- * GET /api/servers/:slug/logs — Tail container logs (SSE)
14
- * GET /health — Health check
15
- */
16
- import http from 'node:http';
17
- /**
18
- * Start the hosting backend server.
19
- */
20
- export declare function startServer(port?: number, domain?: string): Promise<http.Server>;
21
- export declare function handleRequest(req: http.IncomingMessage, res: http.ServerResponse, domain: string): Promise<void>;