@tappify/cli 1.3.2 → 1.5.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 (390) hide show
  1. package/README.md +106 -31
  2. package/dist/src/app.module.js +6 -2
  3. package/dist/src/app.module.js.map +1 -1
  4. package/dist/src/core/api/api.service.d.ts +28 -2
  5. package/dist/src/core/api/api.service.js +151 -27
  6. package/dist/src/core/api/api.service.js.map +1 -1
  7. package/dist/src/core/auth/auth.service.d.ts +2 -0
  8. package/dist/src/core/auth/auth.service.js +31 -3
  9. package/dist/src/core/auth/auth.service.js.map +1 -1
  10. package/dist/src/core/config/config.service.d.ts +11 -2
  11. package/dist/src/core/config/config.service.js +13 -3
  12. package/dist/src/core/config/config.service.js.map +1 -1
  13. package/dist/src/core/core.module.js +33 -2
  14. package/dist/src/core/core.module.js.map +1 -1
  15. package/dist/src/core/environment/environment.service.d.ts +24 -0
  16. package/dist/src/core/environment/environment.service.js +93 -0
  17. package/dist/src/core/environment/environment.service.js.map +1 -0
  18. package/dist/src/core/environment/index.d.ts +1 -0
  19. package/dist/src/core/environment/index.js +18 -0
  20. package/dist/src/core/environment/index.js.map +1 -0
  21. package/dist/src/core/image/image-size.d.ts +5 -0
  22. package/dist/src/core/image/image-size.js +37 -0
  23. package/dist/src/core/image/image-size.js.map +1 -0
  24. package/dist/src/core/image/index.d.ts +1 -0
  25. package/dist/src/{domains/init/runners → core/image}/index.js +1 -1
  26. package/dist/src/core/image/index.js.map +1 -0
  27. package/dist/src/core/index.d.ts +10 -0
  28. package/dist/src/core/index.js +10 -0
  29. package/dist/src/core/index.js.map +1 -1
  30. package/dist/src/core/link/project-link.service.d.ts +13 -0
  31. package/dist/src/{domains/init/runners/init.runner.js → core/link/project-link.service.js} +54 -44
  32. package/dist/src/core/link/project-link.service.js.map +1 -0
  33. package/dist/src/core/manifest/index.d.ts +2 -0
  34. package/dist/src/core/manifest/index.js +19 -0
  35. package/dist/src/core/manifest/index.js.map +1 -0
  36. package/dist/src/core/manifest/manifest.service.d.ts +14 -0
  37. package/dist/src/core/manifest/manifest.service.js +141 -0
  38. package/dist/src/core/manifest/manifest.service.js.map +1 -0
  39. package/dist/src/core/manifest/scope-rules.d.ts +8 -0
  40. package/dist/src/core/manifest/scope-rules.js +95 -0
  41. package/dist/src/core/manifest/scope-rules.js.map +1 -0
  42. package/dist/src/core/output/colors.d.ts +6 -0
  43. package/dist/src/core/output/colors.js +27 -0
  44. package/dist/src/core/output/colors.js.map +1 -0
  45. package/dist/src/core/output/index.d.ts +2 -0
  46. package/dist/src/core/output/index.js +19 -0
  47. package/dist/src/core/output/index.js.map +1 -0
  48. package/dist/src/core/output/output.service.d.ts +37 -0
  49. package/dist/src/core/output/output.service.js +119 -0
  50. package/dist/src/core/output/output.service.js.map +1 -0
  51. package/dist/src/core/project/index.d.ts +1 -0
  52. package/dist/src/core/project/index.js +18 -0
  53. package/dist/src/core/project/index.js.map +1 -0
  54. package/dist/src/core/project/package-manager.d.ts +6 -0
  55. package/dist/src/core/project/package-manager.js +47 -0
  56. package/dist/src/core/project/package-manager.js.map +1 -0
  57. package/dist/src/core/prompt/prompt.service.d.ts +17 -0
  58. package/dist/src/core/prompt/prompt.service.js +299 -0
  59. package/dist/src/core/prompt/prompt.service.js.map +1 -0
  60. package/dist/src/core/registry/index.d.ts +1 -0
  61. package/dist/src/core/registry/index.js +18 -0
  62. package/dist/src/core/registry/index.js.map +1 -0
  63. package/dist/src/core/registry/registry.service.d.ts +55 -0
  64. package/dist/src/core/registry/registry.service.js +119 -0
  65. package/dist/src/core/registry/registry.service.js.map +1 -0
  66. package/dist/src/core/shell/shell.service.d.ts +10 -5
  67. package/dist/src/core/shell/shell.service.js +109 -15
  68. package/dist/src/core/shell/shell.service.js.map +1 -1
  69. package/dist/src/core/shutdown/teardown.d.ts +3 -0
  70. package/dist/src/core/shutdown/teardown.js +22 -0
  71. package/dist/src/core/shutdown/teardown.js.map +1 -0
  72. package/dist/src/core/templates/index.d.ts +1 -0
  73. package/dist/src/core/templates/index.js +18 -0
  74. package/dist/src/core/templates/index.js.map +1 -0
  75. package/dist/src/core/templates/template.service.d.ts +10 -0
  76. package/dist/src/core/templates/template.service.js +91 -0
  77. package/dist/src/core/templates/template.service.js.map +1 -0
  78. package/dist/src/core/update/update-notifier.d.ts +6 -0
  79. package/dist/src/core/update/update-notifier.js +90 -28
  80. package/dist/src/core/update/update-notifier.js.map +1 -1
  81. package/dist/src/core/version.d.ts +5 -0
  82. package/dist/src/core/version.js +21 -0
  83. package/dist/src/core/version.js.map +1 -0
  84. package/dist/src/domains/auth/runners/login.runner.js +5 -1
  85. package/dist/src/domains/auth/runners/login.runner.js.map +1 -1
  86. package/dist/src/domains/auth/runners/logout.runner.js +1 -1
  87. package/dist/src/domains/auth/runners/logout.runner.js.map +1 -1
  88. package/dist/src/domains/deployments/runners/configure.runner.d.ts +6 -1
  89. package/dist/src/domains/deployments/runners/configure.runner.js +231 -200
  90. package/dist/src/domains/deployments/runners/configure.runner.js.map +1 -1
  91. package/dist/src/domains/environment/environment.module.d.ts +2 -0
  92. package/dist/src/domains/environment/environment.module.js +25 -0
  93. package/dist/src/domains/environment/environment.module.js.map +1 -0
  94. package/dist/src/domains/environment/index.d.ts +2 -0
  95. package/dist/src/domains/{deploy → environment}/index.js +1 -1
  96. package/dist/src/domains/environment/index.js.map +1 -0
  97. package/dist/src/domains/environment/runners/environment-current.runner.d.ts +7 -0
  98. package/dist/src/domains/environment/runners/environment-current.runner.js +35 -0
  99. package/dist/src/domains/environment/runners/environment-current.runner.js.map +1 -0
  100. package/dist/src/domains/environment/runners/environment-switcher.service.d.ts +11 -0
  101. package/dist/src/domains/environment/runners/environment-switcher.service.js +74 -0
  102. package/dist/src/domains/environment/runners/environment-switcher.service.js.map +1 -0
  103. package/dist/src/domains/environment/runners/environment-use.runner.d.ts +11 -0
  104. package/dist/src/domains/environment/runners/environment-use.runner.js +46 -0
  105. package/dist/src/domains/environment/runners/environment-use.runner.js.map +1 -0
  106. package/dist/src/domains/environment/runners/environment.command.d.ts +12 -0
  107. package/dist/src/domains/environment/runners/environment.command.js +53 -0
  108. package/dist/src/domains/environment/runners/environment.command.js.map +1 -0
  109. package/dist/src/domains/environment/runners/index.d.ts +4 -0
  110. package/dist/src/domains/environment/runners/index.js +21 -0
  111. package/dist/src/domains/environment/runners/index.js.map +1 -0
  112. package/dist/src/domains/extension/containers.d.ts +13 -0
  113. package/dist/src/domains/extension/containers.js +239 -0
  114. package/dist/src/domains/extension/containers.js.map +1 -0
  115. package/dist/src/domains/extension/extension.module.d.ts +2 -0
  116. package/dist/src/domains/extension/extension.module.js +66 -0
  117. package/dist/src/domains/extension/extension.module.js.map +1 -0
  118. package/dist/src/domains/extension/index.d.ts +1 -0
  119. package/dist/src/domains/extension/index.js +18 -0
  120. package/dist/src/domains/extension/index.js.map +1 -0
  121. package/dist/src/domains/extension/kinds.assistant.d.ts +2 -0
  122. package/dist/src/domains/extension/kinds.assistant.js +296 -0
  123. package/dist/src/domains/extension/kinds.assistant.js.map +1 -0
  124. package/dist/src/domains/extension/kinds.d.ts +8 -0
  125. package/dist/src/domains/extension/kinds.js +42 -0
  126. package/dist/src/domains/extension/kinds.js.map +1 -0
  127. package/dist/src/domains/extension/kinds.server.d.ts +3 -0
  128. package/dist/src/domains/extension/kinds.server.js +221 -0
  129. package/dist/src/domains/extension/kinds.server.js.map +1 -0
  130. package/dist/src/domains/extension/kinds.types.d.ts +65 -0
  131. package/dist/src/domains/extension/kinds.types.js +98 -0
  132. package/dist/src/domains/extension/kinds.types.js.map +1 -0
  133. package/dist/src/domains/extension/kinds.ui.d.ts +4 -0
  134. package/dist/src/domains/extension/kinds.ui.js +309 -0
  135. package/dist/src/domains/extension/kinds.ui.js.map +1 -0
  136. package/dist/src/domains/extension/labels.d.ts +27 -0
  137. package/dist/src/domains/extension/labels.js +143 -0
  138. package/dist/src/domains/extension/labels.js.map +1 -0
  139. package/dist/src/domains/extension/runners/add.runner.d.ts +69 -0
  140. package/dist/src/domains/extension/runners/add.runner.js +453 -0
  141. package/dist/src/domains/extension/runners/add.runner.js.map +1 -0
  142. package/dist/src/domains/extension/runners/dev.runner.d.ts +33 -0
  143. package/dist/src/domains/extension/runners/dev.runner.js +257 -0
  144. package/dist/src/domains/extension/runners/dev.runner.js.map +1 -0
  145. package/dist/src/domains/extension/runners/doctor.runner.d.ts +18 -0
  146. package/dist/src/domains/extension/runners/doctor.runner.js +107 -0
  147. package/dist/src/domains/extension/runners/doctor.runner.js.map +1 -0
  148. package/dist/src/domains/extension/runners/events-add.runner.d.ts +12 -0
  149. package/dist/src/domains/extension/runners/events-add.runner.js +97 -0
  150. package/dist/src/domains/extension/runners/events-add.runner.js.map +1 -0
  151. package/dist/src/domains/extension/runners/events-remove.runner.d.ts +10 -0
  152. package/dist/src/domains/extension/runners/events-remove.runner.js +75 -0
  153. package/dist/src/domains/extension/runners/events-remove.runner.js.map +1 -0
  154. package/dist/src/domains/extension/runners/events.runner.d.ts +6 -0
  155. package/dist/src/domains/extension/runners/events.runner.js +40 -0
  156. package/dist/src/domains/extension/runners/events.runner.js.map +1 -0
  157. package/dist/src/domains/extension/runners/extension.command.d.ts +10 -0
  158. package/dist/src/domains/extension/runners/extension.command.js +71 -0
  159. package/dist/src/domains/extension/runners/extension.command.js.map +1 -0
  160. package/dist/src/domains/extension/runners/extension.runner.d.ts +17 -0
  161. package/dist/src/domains/extension/runners/extension.runner.js +53 -0
  162. package/dist/src/domains/extension/runners/extension.runner.js.map +1 -0
  163. package/dist/src/domains/extension/runners/index.d.ts +20 -0
  164. package/dist/src/domains/extension/runners/index.js +37 -0
  165. package/dist/src/domains/extension/runners/index.js.map +1 -0
  166. package/dist/src/domains/extension/runners/init.runner.d.ts +31 -0
  167. package/dist/src/domains/extension/runners/init.runner.js +276 -0
  168. package/dist/src/domains/extension/runners/init.runner.js.map +1 -0
  169. package/dist/src/domains/extension/runners/list.runner.d.ts +10 -0
  170. package/dist/src/domains/extension/runners/list.runner.js +79 -0
  171. package/dist/src/domains/extension/runners/list.runner.js.map +1 -0
  172. package/dist/src/domains/extension/runners/publish.runner.d.ts +38 -0
  173. package/dist/src/domains/extension/runners/publish.runner.js +178 -0
  174. package/dist/src/domains/extension/runners/publish.runner.js.map +1 -0
  175. package/dist/src/domains/extension/runners/remove.runner.d.ts +20 -0
  176. package/dist/src/domains/extension/runners/remove.runner.js +105 -0
  177. package/dist/src/domains/extension/runners/remove.runner.js.map +1 -0
  178. package/dist/src/domains/extension/runners/retire.runner.d.ts +18 -0
  179. package/dist/src/domains/extension/runners/retire.runner.js +80 -0
  180. package/dist/src/domains/extension/runners/retire.runner.js.map +1 -0
  181. package/dist/src/domains/extension/runners/scopes-add.runner.d.ts +16 -0
  182. package/dist/src/domains/extension/runners/scopes-add.runner.js +122 -0
  183. package/dist/src/domains/extension/runners/scopes-add.runner.js.map +1 -0
  184. package/dist/src/domains/extension/runners/scopes-remove.runner.d.ts +12 -0
  185. package/dist/src/domains/extension/runners/scopes-remove.runner.js +73 -0
  186. package/dist/src/domains/extension/runners/scopes-remove.runner.js.map +1 -0
  187. package/dist/src/domains/extension/runners/scopes.runner.d.ts +6 -0
  188. package/dist/src/domains/extension/runners/scopes.runner.js +40 -0
  189. package/dist/src/domains/extension/runners/scopes.runner.js.map +1 -0
  190. package/dist/src/domains/extension/runners/set.runner.d.ts +17 -0
  191. package/dist/src/domains/extension/runners/set.runner.js +157 -0
  192. package/dist/src/domains/extension/runners/set.runner.js.map +1 -0
  193. package/dist/src/domains/extension/runners/status.runner.d.ts +12 -0
  194. package/dist/src/domains/extension/runners/status.runner.js +88 -0
  195. package/dist/src/domains/extension/runners/status.runner.js.map +1 -0
  196. package/dist/src/domains/extension/runners/types.runner.d.ts +10 -0
  197. package/dist/src/domains/extension/runners/types.runner.js +43 -0
  198. package/dist/src/domains/extension/runners/types.runner.js.map +1 -0
  199. package/dist/src/domains/extension/runners/whoami.runner.d.ts +10 -0
  200. package/dist/src/domains/extension/runners/whoami.runner.js +71 -0
  201. package/dist/src/domains/extension/runners/whoami.runner.js.map +1 -0
  202. package/dist/src/domains/extension/services/add.service.d.ts +26 -0
  203. package/dist/src/domains/extension/services/add.service.js +263 -0
  204. package/dist/src/domains/extension/services/add.service.js.map +1 -0
  205. package/dist/src/domains/extension/services/checks/a11y-check.d.ts +3 -0
  206. package/dist/src/domains/extension/services/checks/a11y-check.js +84 -0
  207. package/dist/src/domains/extension/services/checks/a11y-check.js.map +1 -0
  208. package/dist/src/domains/extension/services/checks/bundle-checks.d.ts +3 -0
  209. package/dist/src/domains/extension/services/checks/bundle-checks.js +234 -0
  210. package/dist/src/domains/extension/services/checks/bundle-checks.js.map +1 -0
  211. package/dist/src/domains/extension/services/checks/bundle-files.d.ts +14 -0
  212. package/dist/src/domains/extension/services/checks/bundle-files.js +139 -0
  213. package/dist/src/domains/extension/services/checks/bundle-files.js.map +1 -0
  214. package/dist/src/domains/extension/services/checks/file-checks.d.ts +6 -0
  215. package/dist/src/domains/extension/services/checks/file-checks.js +128 -0
  216. package/dist/src/domains/extension/services/checks/file-checks.js.map +1 -0
  217. package/dist/src/domains/extension/services/checks/index.d.ts +7 -0
  218. package/dist/src/domains/extension/services/checks/index.js +24 -0
  219. package/dist/src/domains/extension/services/checks/index.js.map +1 -0
  220. package/dist/src/domains/extension/services/checks/manifest-checks.d.ts +7 -0
  221. package/dist/src/domains/extension/services/checks/manifest-checks.js +95 -0
  222. package/dist/src/domains/extension/services/checks/manifest-checks.js.map +1 -0
  223. package/dist/src/domains/extension/services/checks/project-checks.d.ts +7 -0
  224. package/dist/src/domains/extension/services/checks/project-checks.js +86 -0
  225. package/dist/src/domains/extension/services/checks/project-checks.js.map +1 -0
  226. package/dist/src/domains/extension/services/checks/types.d.ts +23 -0
  227. package/dist/src/domains/extension/services/checks/types.js +50 -0
  228. package/dist/src/domains/extension/services/checks/types.js.map +1 -0
  229. package/dist/src/domains/extension/services/dev.service.d.ts +26 -0
  230. package/dist/src/domains/extension/services/dev.service.js +58 -0
  231. package/dist/src/domains/extension/services/dev.service.js.map +1 -0
  232. package/dist/src/domains/extension/services/doctor.service.d.ts +36 -0
  233. package/dist/src/domains/extension/services/doctor.service.js +213 -0
  234. package/dist/src/domains/extension/services/doctor.service.js.map +1 -0
  235. package/dist/src/domains/extension/services/failures.d.ts +8 -0
  236. package/dist/src/domains/extension/services/failures.js +112 -0
  237. package/dist/src/domains/extension/services/failures.js.map +1 -0
  238. package/dist/src/domains/extension/services/guided.service.d.ts +36 -0
  239. package/dist/src/domains/extension/services/guided.service.js +133 -0
  240. package/dist/src/domains/extension/services/guided.service.js.map +1 -0
  241. package/dist/src/domains/extension/services/publish.service.d.ts +14 -0
  242. package/dist/src/domains/extension/services/publish.service.js +93 -0
  243. package/dist/src/domains/extension/services/publish.service.js.map +1 -0
  244. package/dist/src/domains/extension/services/registration.service.d.ts +7 -0
  245. package/dist/src/domains/extension/services/registration.service.js +43 -0
  246. package/dist/src/domains/extension/services/registration.service.js.map +1 -0
  247. package/dist/src/domains/extension/services/remove.service.d.ts +22 -0
  248. package/dist/src/domains/extension/services/remove.service.js +137 -0
  249. package/dist/src/domains/extension/services/remove.service.js.map +1 -0
  250. package/dist/src/domains/extension/services/types.service.d.ts +21 -0
  251. package/dist/src/domains/extension/services/types.service.js +81 -0
  252. package/dist/src/domains/extension/services/types.service.js.map +1 -0
  253. package/dist/src/domains/index.d.ts +6 -2
  254. package/dist/src/domains/index.js +6 -2
  255. package/dist/src/domains/index.js.map +1 -1
  256. package/dist/src/domains/{init → link}/index.d.ts +1 -1
  257. package/dist/src/domains/{init → link}/index.js +1 -1
  258. package/dist/src/domains/link/index.js.map +1 -0
  259. package/dist/src/domains/link/link.module.d.ts +2 -0
  260. package/dist/src/domains/{init/init.module.js → link/link.module.js} +8 -8
  261. package/dist/src/domains/link/link.module.js.map +1 -0
  262. package/dist/src/domains/link/runners/index.d.ts +1 -0
  263. package/dist/src/domains/{deploy → link}/runners/index.js +1 -1
  264. package/dist/src/domains/link/runners/index.js.map +1 -0
  265. package/dist/src/domains/link/runners/link.runner.d.ts +20 -0
  266. package/dist/src/domains/link/runners/link.runner.js +129 -0
  267. package/dist/src/domains/link/runners/link.runner.js.map +1 -0
  268. package/dist/src/domains/mcp/index.d.ts +5 -0
  269. package/dist/src/domains/mcp/index.js +22 -0
  270. package/dist/src/domains/mcp/index.js.map +1 -0
  271. package/dist/src/domains/mcp/mcp.module.d.ts +2 -0
  272. package/dist/src/domains/mcp/mcp.module.js +25 -0
  273. package/dist/src/domains/mcp/mcp.module.js.map +1 -0
  274. package/dist/src/domains/mcp/runners/mcp.runner.d.ts +7 -0
  275. package/dist/src/domains/mcp/runners/mcp.runner.js +45 -0
  276. package/dist/src/domains/mcp/runners/mcp.runner.js.map +1 -0
  277. package/dist/src/domains/mcp/services/docs-search.service.d.ts +23 -0
  278. package/dist/src/domains/mcp/services/docs-search.service.js +164 -0
  279. package/dist/src/domains/mcp/services/docs-search.service.js.map +1 -0
  280. package/dist/src/domains/mcp/services/mcp-server.factory.d.ts +42 -0
  281. package/dist/src/domains/mcp/services/mcp-server.factory.js +438 -0
  282. package/dist/src/domains/mcp/services/mcp-server.factory.js.map +1 -0
  283. package/dist/src/domains/mcp/services/validate.service.d.ts +17 -0
  284. package/dist/src/domains/mcp/services/validate.service.js +57 -0
  285. package/dist/src/domains/mcp/services/validate.service.js.map +1 -0
  286. package/dist/src/domains/upgrade/index.d.ts +1 -0
  287. package/dist/src/domains/upgrade/index.js +18 -0
  288. package/dist/src/domains/upgrade/index.js.map +1 -0
  289. package/dist/src/domains/upgrade/runners/index.d.ts +1 -0
  290. package/dist/src/domains/upgrade/runners/index.js +18 -0
  291. package/dist/src/domains/upgrade/runners/index.js.map +1 -0
  292. package/dist/src/domains/upgrade/runners/upgrade.runner.d.ts +12 -0
  293. package/dist/src/domains/upgrade/runners/upgrade.runner.js +191 -0
  294. package/dist/src/domains/upgrade/runners/upgrade.runner.js.map +1 -0
  295. package/dist/src/domains/upgrade/upgrade.module.d.ts +2 -0
  296. package/dist/src/domains/{deploy/deploy.module.js → upgrade/upgrade.module.js} +8 -8
  297. package/dist/src/domains/upgrade/upgrade.module.js.map +1 -0
  298. package/dist/src/domains/vendor/index.d.ts +1 -0
  299. package/dist/src/domains/vendor/index.js +18 -0
  300. package/dist/src/domains/vendor/index.js.map +1 -0
  301. package/dist/src/domains/vendor/runners/index.d.ts +2 -0
  302. package/dist/src/domains/vendor/runners/index.js +19 -0
  303. package/dist/src/domains/vendor/runners/index.js.map +1 -0
  304. package/dist/src/domains/vendor/runners/vendor-create.runner.d.ts +20 -0
  305. package/dist/src/domains/vendor/runners/vendor-create.runner.js +121 -0
  306. package/dist/src/domains/vendor/runners/vendor-create.runner.js.map +1 -0
  307. package/dist/src/domains/vendor/runners/vendor.command.d.ts +10 -0
  308. package/dist/src/domains/vendor/runners/vendor.command.js +42 -0
  309. package/dist/src/domains/vendor/runners/vendor.command.js.map +1 -0
  310. package/dist/src/domains/vendor/vendor.module.d.ts +2 -0
  311. package/dist/src/domains/vendor/vendor.module.js +22 -0
  312. package/dist/src/domains/vendor/vendor.module.js.map +1 -0
  313. package/dist/src/main.js +16 -2
  314. package/dist/src/main.js.map +1 -1
  315. package/dist/tsconfig.build.tsbuildinfo +1 -1
  316. package/package.json +43 -7
  317. package/templates/contributions/action/schemas/__file__.input.json +14 -0
  318. package/templates/contributions/action/server/actions/__file__.ts +8 -0
  319. package/templates/contributions/connector/server/metrics.ts +19 -0
  320. package/templates/contributions/context/server/context/__file__.ts +10 -0
  321. package/templates/contributions/knowledge/knowledge/__file__.md +6 -0
  322. package/templates/contributions/mention/server/mentions/__file__.ts +10 -0
  323. package/templates/contributions/page/src/pages/__file__.tsx +21 -0
  324. package/templates/contributions/page/test/__file__.test.tsx +12 -0
  325. package/templates/contributions/procedure/schemas/__file__.input.json +13 -0
  326. package/templates/contributions/procedure/schemas/__file__.output.json +13 -0
  327. package/templates/contributions/procedure/server/procedures/__file__.ts +13 -0
  328. package/templates/contributions/prompt/schemas/__file__.input.json +14 -0
  329. package/templates/contributions/row-action/src/row-actions/__file__.tsx +20 -0
  330. package/templates/contributions/row-action/test/__file__.test.tsx +17 -0
  331. package/templates/contributions/settings/schemas/settings.json +14 -0
  332. package/templates/contributions/settings/src/settings.tsx +24 -0
  333. package/templates/contributions/settings/test/settings.test.tsx +12 -0
  334. package/templates/contributions/skill/skills/__file__.md +14 -0
  335. package/templates/contributions/storage/schemas/__file__.json +14 -0
  336. package/templates/contributions/tab/src/tabs/__file__.tsx +21 -0
  337. package/templates/contributions/tab/test/__file__.test.tsx +12 -0
  338. package/templates/contributions/tool/schemas/__file__.input.json +14 -0
  339. package/templates/contributions/tool/server/tools/__file__.ts +8 -0
  340. package/templates/contributions/webhook/schemas/__file__.payload.json +13 -0
  341. package/templates/contributions/widget/src/widgets/__file__.tsx +48 -0
  342. package/templates/contributions/widget/test/__file__.test.tsx +16 -0
  343. package/templates/contributions/work/server/work.ts +14 -0
  344. package/templates/starter/README.md +75 -0
  345. package/templates/starter/api/tappify/[...path].ts +6 -0
  346. package/templates/starter/gitignore +6 -0
  347. package/templates/starter/icon.svg +4 -0
  348. package/templates/starter/package.json +37 -0
  349. package/templates/starter/pnpm-workspace.yaml +3 -0
  350. package/templates/starter/schemas/get-summary.input.json +11 -0
  351. package/templates/starter/schemas/get-summary.output.json +12 -0
  352. package/templates/starter/schemas/preferences.json +18 -0
  353. package/templates/starter/schemas/settings.json +19 -0
  354. package/templates/starter/server/actions/index.ts +1 -0
  355. package/templates/starter/server/context/index.ts +1 -0
  356. package/templates/starter/server/handler.ts +25 -0
  357. package/templates/starter/server/mentions/index.ts +1 -0
  358. package/templates/starter/server/procedures/get-summary.ts +32 -0
  359. package/templates/starter/server/procedures/index.ts +5 -0
  360. package/templates/starter/server/tools/index.ts +1 -0
  361. package/templates/starter/server/worker.ts +5 -0
  362. package/templates/starter/src/settings.tsx +24 -0
  363. package/templates/starter/src/styles.css +16 -0
  364. package/templates/starter/src/tappify.d.ts +59 -0
  365. package/templates/starter/src/widgets/summary.tsx +122 -0
  366. package/templates/starter/tappify.extension.json +68 -0
  367. package/templates/starter/test/matchers.d.ts +2 -0
  368. package/templates/starter/test/server.test.ts +69 -0
  369. package/templates/starter/test/settings.test.tsx +46 -0
  370. package/templates/starter/test/summary.test.tsx +109 -0
  371. package/templates/starter/tsconfig.json +20 -0
  372. package/templates/starter/vite.config.ts +8 -0
  373. package/templates/starter/vitest.config.ts +29 -0
  374. package/templates/starter/wrangler.toml +7 -0
  375. package/dist/src/domains/deploy/deploy.module.d.ts +0 -2
  376. package/dist/src/domains/deploy/deploy.module.js.map +0 -1
  377. package/dist/src/domains/deploy/index.d.ts +0 -2
  378. package/dist/src/domains/deploy/index.js.map +0 -1
  379. package/dist/src/domains/deploy/runners/deploy.runner.d.ts +0 -10
  380. package/dist/src/domains/deploy/runners/deploy.runner.js +0 -132
  381. package/dist/src/domains/deploy/runners/deploy.runner.js.map +0 -1
  382. package/dist/src/domains/deploy/runners/index.d.ts +0 -1
  383. package/dist/src/domains/deploy/runners/index.js.map +0 -1
  384. package/dist/src/domains/init/index.js.map +0 -1
  385. package/dist/src/domains/init/init.module.d.ts +0 -2
  386. package/dist/src/domains/init/init.module.js.map +0 -1
  387. package/dist/src/domains/init/runners/index.d.ts +0 -1
  388. package/dist/src/domains/init/runners/index.js.map +0 -1
  389. package/dist/src/domains/init/runners/init.runner.d.ts +0 -4
  390. package/dist/src/domains/init/runners/init.runner.js.map +0 -1
@@ -0,0 +1,438 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.McpServerFactory = exports.MCP_SERVER_NAME = void 0;
13
+ const api_service_js_1 = require("../../../core/api/api.service.js");
14
+ const config_service_js_1 = require("../../../core/config/config.service.js");
15
+ const manifest_service_js_1 = require("../../../core/manifest/manifest.service.js");
16
+ const output_service_js_1 = require("../../../core/output/output.service.js");
17
+ const package_manager_js_1 = require("../../../core/project/package-manager.js");
18
+ const registry_service_js_1 = require("../../../core/registry/registry.service.js");
19
+ const shell_service_js_1 = require("../../../core/shell/shell.service.js");
20
+ const version_js_1 = require("../../../core/version.js");
21
+ const kinds_js_1 = require("../../../domains/extension/kinds.js");
22
+ const add_service_js_1 = require("../../../domains/extension/services/add.service.js");
23
+ const doctor_service_js_1 = require("../../../domains/extension/services/doctor.service.js");
24
+ const failures_js_1 = require("../../../domains/extension/services/failures.js");
25
+ const publish_service_js_1 = require("../../../domains/extension/services/publish.service.js");
26
+ const registration_service_js_1 = require("../../../domains/extension/services/registration.service.js");
27
+ const types_service_js_1 = require("../../../domains/extension/services/types.service.js");
28
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
29
+ const common_1 = require("@nestjs/common");
30
+ const node_fs_1 = require("node:fs");
31
+ const zod_1 = require("zod");
32
+ const docs_search_service_js_1 = require("./docs-search.service.js");
33
+ const validate_service_js_1 = require("./validate.service.js");
34
+ exports.MCP_SERVER_NAME = 'tappify';
35
+ const isFailure = (value) => {
36
+ if (typeof value !== 'object' || value === null)
37
+ return false;
38
+ const fields = { ...value };
39
+ return (typeof fields.what === 'string' &&
40
+ typeof fields.why === 'string' &&
41
+ typeof fields.fix === 'string');
42
+ };
43
+ const messageOf = (value) => {
44
+ if (typeof value !== 'object' || value === null)
45
+ return null;
46
+ const fields = { ...value };
47
+ return typeof fields.message === 'string' ? fields.message : null;
48
+ };
49
+ const failureOf = (error) => {
50
+ if (error instanceof output_service_js_1.CommandAbort && error.failure !== undefined) {
51
+ return error.failure;
52
+ }
53
+ if (isFailure(error))
54
+ return error;
55
+ const message = messageOf(error);
56
+ return (0, failures_js_1.toFailure)(message === null ? error : new Error(message));
57
+ };
58
+ const ok = (data) => ({
59
+ content: [{ type: 'text', text: JSON.stringify({ ok: true, ...data }) }],
60
+ });
61
+ const failed = (error, data = {}) => ({
62
+ content: [
63
+ {
64
+ type: 'text',
65
+ text: JSON.stringify({ ok: false, error: failureOf(error), ...data }),
66
+ },
67
+ ],
68
+ isError: true,
69
+ });
70
+ let McpServerFactory = class McpServerFactory {
71
+ output;
72
+ manifests;
73
+ validate;
74
+ doctor;
75
+ types;
76
+ registry;
77
+ api;
78
+ adds;
79
+ publishes;
80
+ docs;
81
+ registrations;
82
+ config;
83
+ shell;
84
+ constructor(output, manifests, validate, doctor, types, registry, api, adds, publishes, docs, registrations, config, shell) {
85
+ this.output = output;
86
+ this.manifests = manifests;
87
+ this.validate = validate;
88
+ this.doctor = doctor;
89
+ this.types = types;
90
+ this.registry = registry;
91
+ this.api = api;
92
+ this.adds = adds;
93
+ this.publishes = publishes;
94
+ this.docs = docs;
95
+ this.registrations = registrations;
96
+ this.config = config;
97
+ this.shell = shell;
98
+ }
99
+ create() {
100
+ this.output.useStderr(true);
101
+ const server = new mcp_js_1.McpServer({
102
+ name: exports.MCP_SERVER_NAME,
103
+ version: (0, version_js_1.getCurrentVersion)(),
104
+ });
105
+ server.registerTool('extension_validate', {
106
+ title: 'Validate the manifest',
107
+ description: "Check an extension's manifest against the schema and the registry.",
108
+ inputSchema: { cwd: this.cwd() },
109
+ }, async ({ cwd }) => this.tool(async () => ok({ ...(await this.validate.run(this.root(cwd))) })));
110
+ server.registerTool('extension_doctor', {
111
+ title: 'Run the checks',
112
+ description: 'Run every check the Tap Store runs, and report what would block a release.',
113
+ inputSchema: {
114
+ cwd: this.cwd(),
115
+ fix: zod_1.z
116
+ .boolean()
117
+ .optional()
118
+ .describe('Apply the fixes that cannot change behaviour'),
119
+ },
120
+ }, async ({ cwd, fix }) => this.tool(async () => {
121
+ const root = this.root(cwd);
122
+ const manifest = this.manifests.read(root);
123
+ const report = await this.doctor.run(root, {
124
+ fix: fix === true,
125
+ skipTooling: false,
126
+ skipBundle: false,
127
+ offline: false,
128
+ });
129
+ return ok({
130
+ id: manifest.id,
131
+ checks: report.checks,
132
+ errors: report.errors,
133
+ warnings: report.warnings,
134
+ passed: report.passed,
135
+ fixed: report.fixed,
136
+ });
137
+ }));
138
+ server.registerTool('extension_types', {
139
+ title: 'Regenerate the types',
140
+ description: 'Regenerate src/tappify.d.ts from the manifest and its schemas.',
141
+ inputSchema: { cwd: this.cwd() },
142
+ }, async ({ cwd }) => this.tool(async () => {
143
+ const written = await this.types.write(this.root(cwd));
144
+ return ok({ file: written.file, schemas: written.schemas });
145
+ }));
146
+ server.registerTool('extension_registry', {
147
+ title: 'Read the registry',
148
+ description: 'List the host pages, slots, charts, tables, scopes, categories and events an extension can use.',
149
+ inputSchema: {
150
+ refresh: zod_1.z
151
+ .boolean()
152
+ .optional()
153
+ .describe('Fetch the registry instead of reading the cached copy'),
154
+ },
155
+ }, async ({ refresh }) => this.tool(async () => ok({ ...(await this.registry.get({ refresh: refresh === true })) })));
156
+ server.registerTool('extension_status', {
157
+ title: 'Read the release status',
158
+ description: "Report an extension's live release, pending release, review timeline and install count.",
159
+ inputSchema: { cwd: this.cwd() },
160
+ }, async ({ cwd }) => this.tool(async () => {
161
+ const manifest = this.manifests.read(this.signedIn(cwd));
162
+ const status = await this.api.get(`/extensions/${manifest.id}/status`);
163
+ return ok({ id: manifest.id, ...status });
164
+ }));
165
+ server.registerTool('extension_add', {
166
+ title: 'Add a contribution',
167
+ description: 'Add one contribution to an extension: the manifest entry, its files and its scopes.',
168
+ inputSchema: {
169
+ cwd: this.cwd(),
170
+ kind: zod_1.z
171
+ .string()
172
+ .describe('Contribution kind to add, as the CLI names it'),
173
+ name: zod_1.z
174
+ .string()
175
+ .optional()
176
+ .describe('Name this contribution is known by'),
177
+ options: zod_1.z
178
+ .record(zod_1.z.string(), zod_1.z.union([zod_1.z.string(), zod_1.z.boolean()]))
179
+ .optional()
180
+ .describe("The kind's flags, keyed the way the CLI names them"),
181
+ },
182
+ }, async ({ cwd, kind, name, options }) => this.tool(async () => {
183
+ const root = this.root(cwd);
184
+ const registry = await this.registry.get();
185
+ const definition = (0, kinds_js_1.findKind)(kind);
186
+ const given = {
187
+ ...options,
188
+ ...(name === undefined ? {} : { name }),
189
+ };
190
+ const values = definition === undefined
191
+ ? given
192
+ : this.answers(definition, this.manifests.read(root), registry, given);
193
+ const added = this.adds.add(root, kind, registry, values);
194
+ await this.types.write(root);
195
+ return ok({
196
+ kind: added.kind,
197
+ id: added.id,
198
+ files: added.files,
199
+ scopesAdded: added.scopesAdded,
200
+ });
201
+ }));
202
+ server.registerTool('extension_publish', {
203
+ title: 'Publish a release',
204
+ description: 'Publish a release, after showing what would ship and asking for confirmation.',
205
+ inputSchema: {
206
+ cwd: this.cwd(),
207
+ notes: zod_1.z
208
+ .string()
209
+ .max(1000)
210
+ .describe('What changed in this release, for owners and the reviewer'),
211
+ confirm: zod_1.z
212
+ .boolean()
213
+ .describe('False describes the release; true publishes it'),
214
+ },
215
+ }, async ({ cwd, notes, confirm }) => this.tool(async () => {
216
+ const root = this.signedIn(cwd);
217
+ const manifest = this.manifests.read(root);
218
+ const confirmed = confirm === true;
219
+ const manager = (0, package_manager_js_1.detectPackageManager)(root);
220
+ if ((0, package_manager_js_1.hasScript)(root, 'build')) {
221
+ const build = await this.shell.run(manager, (0, package_manager_js_1.scriptArgs)(manager, 'build'), { cwd: root });
222
+ if (build.code !== 0) {
223
+ return failed({
224
+ what: 'The build failed, so nothing was published.',
225
+ why: build.output.trim().split('\n').slice(-1)[0],
226
+ fix: `Run \`${manager} run build\` to see the whole output.`,
227
+ });
228
+ }
229
+ }
230
+ if (confirmed)
231
+ await this.registrations.ensure(manifest);
232
+ const report = await this.doctor.run(root, {
233
+ fix: false,
234
+ skipTooling: true,
235
+ skipBundle: false,
236
+ offline: !confirmed,
237
+ });
238
+ if (report.errors > 0) {
239
+ return failed({
240
+ what: `Nothing was published: ${report.errors} ${report.errors === 1 ? 'check' : 'checks'} failed.`,
241
+ why: 'The Tap Store runs the same checks and would reject the release.',
242
+ fix: 'Call extension_doctor, fix every check it reports as an error, then publish again.',
243
+ }, { checks: report.checks });
244
+ }
245
+ const packed = await this.publishes.pack(root, manifest);
246
+ try {
247
+ if (!confirmed) {
248
+ return ok({
249
+ needsConfirmation: true,
250
+ summary: {
251
+ id: manifest.id,
252
+ name: manifest.name,
253
+ visibility: manifest.visibility,
254
+ notes,
255
+ bytes: packed.bytes,
256
+ entries: packed.entries,
257
+ scopes: manifest.scopes.map(scope => scope.key),
258
+ warnings: report.warnings,
259
+ storeChecks: 'run when confirmed',
260
+ next: 'Call extension_publish again with confirm set to true to publish this release.',
261
+ },
262
+ });
263
+ }
264
+ const result = await this.api.uploadMultipart(`/extensions/${manifest.id}/publish`, [
265
+ {
266
+ field: 'bundle',
267
+ filePath: packed.zipPath,
268
+ filename: 'bundle.zip',
269
+ },
270
+ ], notes === '' ? {} : { notes });
271
+ return ok({
272
+ id: manifest.id,
273
+ status: result.status,
274
+ releaseId: result.releaseId,
275
+ bytes: packed.bytes,
276
+ entries: packed.entries,
277
+ ...(result.pending === undefined
278
+ ? {}
279
+ : { pending: result.pending }),
280
+ });
281
+ }
282
+ finally {
283
+ (0, node_fs_1.rmSync)(packed.zipPath, { force: true });
284
+ }
285
+ }));
286
+ server.registerTool('docs_search', {
287
+ title: 'Search the documentation',
288
+ description: 'Search the Tappify extension documentation and return the pages that answer a question.',
289
+ inputSchema: {
290
+ query: zod_1.z
291
+ .string()
292
+ .describe('What you want the documentation to answer'),
293
+ limit: zod_1.z
294
+ .number()
295
+ .int()
296
+ .min(1)
297
+ .max(10)
298
+ .optional()
299
+ .describe('How many pages to return'),
300
+ },
301
+ }, async ({ query, limit }) => this.tool(async () => ok({ results: await this.docs.search(query, limit ?? 5) })));
302
+ return server;
303
+ }
304
+ answers(kind, manifest, registry, given) {
305
+ const values = {};
306
+ const missing = [];
307
+ if (kind.namePrompt !== null) {
308
+ const title = typeof given.name === 'string' ? given.name.trim() : '';
309
+ if (title === '')
310
+ missing.push('name');
311
+ else if (title.length < 2 || title.length > 60) {
312
+ throw new output_service_js_1.CommandAbort({
313
+ what: '`name` is not valid.',
314
+ why: 'A name is 2 to 60 characters.',
315
+ fix: 'Call extension_add again with a name that fits.',
316
+ });
317
+ }
318
+ else
319
+ values.name = title;
320
+ }
321
+ for (const question of kind.questions) {
322
+ const context = {
323
+ manifest,
324
+ registry,
325
+ values,
326
+ name: '',
327
+ file: '',
328
+ pascal: '',
329
+ camel: '',
330
+ title: typeof values.name === 'string' ? values.name : '',
331
+ };
332
+ if (question.type === 'confirm') {
333
+ const supplied = given[question.field];
334
+ values[question.field] =
335
+ typeof supplied === 'boolean' ? supplied : question.fallback === true;
336
+ continue;
337
+ }
338
+ const choices = question.choices?.(context) ?? [];
339
+ if (choices.length === 0 && question.empty !== undefined) {
340
+ throw new output_service_js_1.CommandAbort(question.empty);
341
+ }
342
+ const supplied = given[question.field];
343
+ const value = typeof supplied === 'string'
344
+ ? supplied
345
+ : typeof question.fallback === 'string'
346
+ ? question.fallback
347
+ : undefined;
348
+ if (value === undefined) {
349
+ missing.push(question.field);
350
+ continue;
351
+ }
352
+ values[question.field] =
353
+ missing.length > 0
354
+ ? value
355
+ : this.answer(question, context, choices, value);
356
+ }
357
+ if (missing.length > 0) {
358
+ throw new output_service_js_1.CommandAbort({
359
+ what: `Adding a ${kind.noun} needs more than this call gave.`,
360
+ why: `These have no value and no default: ${missing.join(', ')}.`,
361
+ fix: 'Call extension_registry to see what each one takes, then call extension_add again with `name` as its own input and the rest in options.',
362
+ });
363
+ }
364
+ return values;
365
+ }
366
+ answer(question, context, choices, value) {
367
+ if (question.type === 'text') {
368
+ const problem = question.validate?.(value, context) ?? null;
369
+ if (problem === null)
370
+ return value;
371
+ throw new output_service_js_1.CommandAbort({
372
+ what: `\`${question.field}\` is not valid.`,
373
+ why: problem,
374
+ fix: `Call extension_add again with a ${question.field} that fits.`,
375
+ });
376
+ }
377
+ const wanted = question.type === 'multi'
378
+ ? [
379
+ ...new Set(value
380
+ .split(',')
381
+ .map(part => part.trim())
382
+ .filter(part => part.length > 0)),
383
+ ]
384
+ : [value];
385
+ const unknown = wanted.filter(part => !choices.some(choice => choice.value === part));
386
+ if (unknown.length === 0 && wanted.length > 0)
387
+ return wanted.join(',');
388
+ throw new output_service_js_1.CommandAbort({
389
+ what: `\`${unknown[0] ?? value}\` is not a ${question.field} this extension can use.`,
390
+ why: `Tappify serves these: ${choices.map(choice => choice.value).join(', ')}.`,
391
+ fix: 'Call extension_registry to read the list, then call extension_add again.',
392
+ });
393
+ }
394
+ async tool(run) {
395
+ const exitCode = process.exitCode;
396
+ try {
397
+ return await run();
398
+ }
399
+ catch (error) {
400
+ return failed(error);
401
+ }
402
+ finally {
403
+ process.exitCode = exitCode;
404
+ }
405
+ }
406
+ cwd() {
407
+ return zod_1.z
408
+ .string()
409
+ .optional()
410
+ .describe('Directory inside the extension, defaulting to the current one');
411
+ }
412
+ root(cwd) {
413
+ return this.manifests.requireRoot(cwd ?? process.cwd());
414
+ }
415
+ signedIn(cwd) {
416
+ if (!this.config.isAuthenticated())
417
+ throw new output_service_js_1.CommandAbort(failures_js_1.NOT_SIGNED_IN);
418
+ return this.root(cwd);
419
+ }
420
+ };
421
+ exports.McpServerFactory = McpServerFactory;
422
+ exports.McpServerFactory = McpServerFactory = __decorate([
423
+ (0, common_1.Injectable)(),
424
+ __metadata("design:paramtypes", [output_service_js_1.OutputService,
425
+ manifest_service_js_1.ManifestService,
426
+ validate_service_js_1.ValidateService,
427
+ doctor_service_js_1.DoctorService,
428
+ types_service_js_1.TypesService,
429
+ registry_service_js_1.RegistryService,
430
+ api_service_js_1.ApiService,
431
+ add_service_js_1.AddService,
432
+ publish_service_js_1.PublishService,
433
+ docs_search_service_js_1.DocsSearchService,
434
+ registration_service_js_1.ExtensionRegistrationService,
435
+ config_service_js_1.ConfigService,
436
+ shell_service_js_1.ShellService])
437
+ ], McpServerFactory);
438
+ //# sourceMappingURL=mcp-server.factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-server.factory.js","sourceRoot":"","sources":["../../../../../src/domains/mcp/services/mcp-server.factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { ManifestService } from '../../../core/manifest/manifest.service.js';
2
+ import { RegistryService } from '../../../core/registry/registry.service.js';
3
+ import { type CheckResult } from '../../../domains/extension/services/checks/index.js';
4
+ import { DoctorService } from '../../../domains/extension/services/doctor.service.js';
5
+ export declare const VALIDATE_CHECK_IDS: readonly string[];
6
+ export interface ValidateResult {
7
+ id: string;
8
+ valid: boolean;
9
+ checks: CheckResult[];
10
+ }
11
+ export declare class ValidateService {
12
+ private readonly manifests;
13
+ private readonly registry;
14
+ private readonly doctor;
15
+ constructor(manifests: ManifestService, registry: RegistryService, doctor: DoctorService);
16
+ run(root: string): Promise<ValidateResult>;
17
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ValidateService = exports.VALIDATE_CHECK_IDS = void 0;
13
+ const manifest_service_js_1 = require("../../../core/manifest/manifest.service.js");
14
+ const registry_service_js_1 = require("../../../core/registry/registry.service.js");
15
+ const index_js_1 = require("../../../domains/extension/services/checks/index.js");
16
+ const doctor_service_js_1 = require("../../../domains/extension/services/doctor.service.js");
17
+ const common_1 = require("@nestjs/common");
18
+ exports.VALIDATE_CHECK_IDS = [
19
+ index_js_1.schemaCheck.id,
20
+ index_js_1.schemaUrlCheck.id,
21
+ index_js_1.scopesCheck.id,
22
+ index_js_1.sdkCheck.id,
23
+ ];
24
+ let ValidateService = class ValidateService {
25
+ manifests;
26
+ registry;
27
+ doctor;
28
+ constructor(manifests, registry, doctor) {
29
+ this.manifests = manifests;
30
+ this.registry = registry;
31
+ this.doctor = doctor;
32
+ }
33
+ async run(root) {
34
+ const manifest = this.manifests.read(root);
35
+ const registry = await this.registry.get();
36
+ const context = { root, manifest, registry };
37
+ const checks = [];
38
+ for (const check of this.doctor.checks()) {
39
+ if (!exports.VALIDATE_CHECK_IDS.includes(check.id))
40
+ continue;
41
+ checks.push(...(await check.run(context)));
42
+ }
43
+ return {
44
+ id: manifest.id,
45
+ valid: checks.every(check => check.level !== 'error'),
46
+ checks,
47
+ };
48
+ }
49
+ };
50
+ exports.ValidateService = ValidateService;
51
+ exports.ValidateService = ValidateService = __decorate([
52
+ (0, common_1.Injectable)(),
53
+ __metadata("design:paramtypes", [manifest_service_js_1.ManifestService,
54
+ registry_service_js_1.RegistryService,
55
+ doctor_service_js_1.DoctorService])
56
+ ], ValidateService);
57
+ //# sourceMappingURL=validate.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.service.js","sourceRoot":"","sources":["../../../../../src/domains/mcp/services/validate.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6EAAsE;AACtE,6EAAsE;AACtE,2EAOsD;AACtD,sFAA+E;AAC/E,2CAA4C;AAM/B,QAAA,kBAAkB,GAAsB;IACnD,sBAAW,CAAC,EAAE;IACd,yBAAc,CAAC,EAAE;IACjB,sBAAW,CAAC,EAAE;IACd,mBAAQ,CAAC,EAAE;CACZ,CAAC;AASK,IAAM,eAAe,GAArB,MAAM,eAAe;IAEP;IACA;IACA;IAHnB,YACmB,SAA0B,EAC1B,QAAyB,EACzB,MAAqB;QAFrB,cAAS,GAAT,SAAS,CAAiB;QAC1B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,WAAM,GAAN,MAAM,CAAe;IACrC,CAAC;IAEJ,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAE3D,MAAM,MAAM,GAAkB,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,0BAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,SAAS;YACrD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO;YACL,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC;YACrD,MAAM;SACP,CAAC;IACJ,CAAC;CACF,CAAA;AAxBY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAGmB,qCAAe;QAChB,qCAAe;QACjB,iCAAa;GAJ7B,eAAe,CAwB3B"}
@@ -0,0 +1 @@
1
+ export * from './upgrade.module';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./upgrade.module"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domains/upgrade/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
@@ -0,0 +1 @@
1
+ export * from './upgrade.runner';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./upgrade.runner"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/domains/upgrade/runners/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
@@ -0,0 +1,12 @@
1
+ import { type ReleaseChannel } from '../../../core/version.js';
2
+ import { CommandRunner } from 'nest-commander';
3
+ export declare function releaseBase(channel: ReleaseChannel, version: string): string;
4
+ export declare class UpgradeRunner extends CommandRunner {
5
+ run(): Promise<void>;
6
+ private assetName;
7
+ private install;
8
+ private replaceWindows;
9
+ private download;
10
+ private verify;
11
+ private moveInto;
12
+ }