@tappify/cli 1.4.0 → 1.5.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 (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 -29
  6. package/dist/src/core/api/api.service.js.map +1 -1
  7. package/dist/src/core/auth/auth.service.d.ts +1 -0
  8. package/dist/src/core/auth/auth.service.js +23 -0
  9. package/dist/src/core/auth/auth.service.js.map +1 -1
  10. package/dist/src/core/config/config.service.d.ts +10 -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,157 @@
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.SetRunner = exports.SETTABLE_FIELDS = void 0;
13
+ const manifest_service_js_1 = require("../../../core/manifest/manifest.service.js");
14
+ const output_service_js_1 = require("../../../core/output/output.service.js");
15
+ const registry_service_js_1 = require("../../../core/registry/registry.service.js");
16
+ const manifest_1 = require("@tappify/extension-sdk/manifest");
17
+ const nest_commander_1 = require("nest-commander");
18
+ const labels_js_1 = require("../labels.js");
19
+ const guided_service_js_1 = require("../services/guided.service.js");
20
+ const extension_runner_js_1 = require("./extension.runner.js");
21
+ exports.SETTABLE_FIELDS = [
22
+ { path: 'id', question: 'What id should it have?' },
23
+ { path: 'name', question: 'What do owners see it called?' },
24
+ { path: 'description', question: 'What does it do, in one sentence?' },
25
+ {
26
+ path: 'category',
27
+ question: 'Which part of the Tap Store does it belong in?',
28
+ },
29
+ { path: 'icon', question: 'Which file is the icon?' },
30
+ { path: 'visibility', question: 'Who can install it?' },
31
+ { path: 'installScope', question: 'What does an install cover?' },
32
+ { path: 'sdk', question: 'Which SDK range did you build against?' },
33
+ {
34
+ path: 'server.baseUrl',
35
+ question: 'Where does your production server live?',
36
+ },
37
+ {
38
+ path: 'server.sandboxBaseUrl',
39
+ question: 'Where does your sandbox server live?',
40
+ },
41
+ {
42
+ path: 'listing.longDescription',
43
+ question: 'What is the long description?',
44
+ },
45
+ { path: 'listing.website', question: 'What is your website?' },
46
+ { path: 'listing.supportUrl', question: 'Where do owners get support?' },
47
+ { path: 'listing.privacyUrl', question: 'Where is your privacy policy?' },
48
+ ];
49
+ const setPath = (target, path, value) => {
50
+ const parts = path.split('.');
51
+ let cursor = target;
52
+ for (const part of parts.slice(0, -1)) {
53
+ const next = cursor[part];
54
+ if (typeof next !== 'object' || next === null)
55
+ cursor[part] = {};
56
+ cursor = cursor[part];
57
+ }
58
+ cursor[parts[parts.length - 1]] = value;
59
+ };
60
+ let SetRunner = class SetRunner extends extension_runner_js_1.ExtensionRunner {
61
+ manifests;
62
+ registry;
63
+ guided;
64
+ constructor(manifests, registry, guided, output) {
65
+ super(output);
66
+ this.manifests = manifests;
67
+ this.registry = registry;
68
+ this.guided = guided;
69
+ }
70
+ async execute(passedParams) {
71
+ const root = this.manifests.requireRoot();
72
+ const manifest = this.manifests.read(root);
73
+ const registry = await this.registry.get();
74
+ const path = await this.guided.choose(passedParams[0], {
75
+ flag: null,
76
+ positional: 'field',
77
+ question: 'Which field are you setting?',
78
+ noun: 'manifest field',
79
+ plural: 'manifest fields',
80
+ choices: exports.SETTABLE_FIELDS.map(field => ({
81
+ value: field.path,
82
+ label: field.path,
83
+ })),
84
+ });
85
+ const field = exports.SETTABLE_FIELDS.find(entry => entry.path === path);
86
+ if (field === undefined)
87
+ return;
88
+ const choices = this.choicesFor(path, registry.categories);
89
+ const value = choices === null
90
+ ? await this.guided.value(passedParams[1], {
91
+ flag: 'value',
92
+ question: field.question,
93
+ noun: 'value',
94
+ })
95
+ : await this.guided.choose(passedParams[1], {
96
+ flag: null,
97
+ positional: 'value',
98
+ question: field.question,
99
+ noun: path,
100
+ plural: `${path} values`,
101
+ choices,
102
+ });
103
+ const next = JSON.parse(JSON.stringify(manifest));
104
+ setPath(next, path, value);
105
+ const validation = (0, manifest_1.validateManifest)(next);
106
+ if (!validation.ok) {
107
+ const own = validation.issues.find(issue => issue.path === path);
108
+ return this.output.fail({
109
+ what: `${path} was not set.`,
110
+ why: (own ?? validation.issues[0]).message,
111
+ fix: own === undefined
112
+ ? 'Follow the guidance above, then run the command again.'
113
+ : `Pass a value that fits, then run \`tappify extension set ${path} <value>\` again.`,
114
+ });
115
+ }
116
+ this.manifests.write(root, validation.manifest);
117
+ this.output.success(`Set ${path} to "${value}" in tappify.extension.json.`, 'Run `tappify extension publish` to send the change to the Tap Store.', { field: path, value });
118
+ }
119
+ choicesFor(path, categories) {
120
+ if (path === 'category') {
121
+ return categories.map(value => ({
122
+ value,
123
+ label: (0, labels_js_1.label)(labels_js_1.CATEGORY_LABELS, value),
124
+ }));
125
+ }
126
+ if (path === 'visibility') {
127
+ return ['public', 'unlisted', 'private'].map(value => ({
128
+ value,
129
+ label: (0, labels_js_1.label)(labels_js_1.VISIBILITY_LABELS, value),
130
+ }));
131
+ }
132
+ if (path === 'installScope') {
133
+ return ['project', 'organization'].map(value => ({
134
+ value,
135
+ label: (0, labels_js_1.label)(labels_js_1.INSTALL_SCOPE_LABELS, value),
136
+ }));
137
+ }
138
+ return null;
139
+ }
140
+ };
141
+ exports.SetRunner = SetRunner;
142
+ exports.SetRunner = SetRunner = __decorate([
143
+ (0, nest_commander_1.SubCommand)({
144
+ name: 'set',
145
+ description: 'Set one field in the manifest',
146
+ arguments: '[field] [value]',
147
+ argsDescription: {
148
+ field: 'Manifest field to set; omit to choose from a list',
149
+ value: 'New value for the field',
150
+ },
151
+ }),
152
+ __metadata("design:paramtypes", [manifest_service_js_1.ManifestService,
153
+ registry_service_js_1.RegistryService,
154
+ guided_service_js_1.GuidedService,
155
+ output_service_js_1.OutputService])
156
+ ], SetRunner);
157
+ //# sourceMappingURL=set.runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.runner.js","sourceRoot":"","sources":["../../../../../src/domains/extension/runners/set.runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ApiService } from '../../../core/api/api.service.js';
2
+ import { ConfigService } from '../../../core/config/config.service.js';
3
+ import { ManifestService } from '../../../core/manifest/manifest.service.js';
4
+ import { OutputService } from '../../../core/output/output.service.js';
5
+ import { ExtensionRunner } from './extension.runner.js';
6
+ export declare class StatusRunner extends ExtensionRunner {
7
+ private readonly api;
8
+ private readonly config;
9
+ private readonly manifests;
10
+ constructor(api: ApiService, config: ConfigService, manifests: ManifestService, output: OutputService);
11
+ protected execute(): Promise<void>;
12
+ }
@@ -0,0 +1,88 @@
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.StatusRunner = 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 nest_commander_1 = require("nest-commander");
18
+ const labels_js_1 = require("../labels.js");
19
+ const failures_js_1 = require("../services/failures.js");
20
+ const extension_runner_js_1 = require("./extension.runner.js");
21
+ const day = (value) => value === null || value === undefined ? '' : value.slice(0, 10);
22
+ const TIMELINE_ROWS = 10;
23
+ let StatusRunner = class StatusRunner extends extension_runner_js_1.ExtensionRunner {
24
+ api;
25
+ config;
26
+ manifests;
27
+ constructor(api, config, manifests, output) {
28
+ super(output);
29
+ this.api = api;
30
+ this.config = config;
31
+ this.manifests = manifests;
32
+ }
33
+ async execute() {
34
+ if (!this.config.isAuthenticated()) {
35
+ this.output.fail(failures_js_1.NOT_SIGNED_IN);
36
+ }
37
+ const root = this.manifests.requireRoot();
38
+ const manifest = this.manifests.read(root);
39
+ const status = await this.api.get(`/extensions/${manifest.id}/status`);
40
+ if (status.suspended) {
41
+ this.output.line(failures_js_1.SUSPENDED.what);
42
+ this.output.detail(failures_js_1.SUSPENDED.fix);
43
+ this.output.line('');
44
+ }
45
+ if (status.timeline.length > 0) {
46
+ this.output.table([
47
+ { key: 'when', label: 'When' },
48
+ { key: 'what', label: 'What' },
49
+ { key: 'who', label: 'Who' },
50
+ { key: 'note', label: 'Note' },
51
+ ], status.timeline.slice(0, TIMELINE_ROWS).map(entry => ({
52
+ when: day(entry.createdAt),
53
+ what: entry.type.split('_').join(' '),
54
+ who: (0, labels_js_1.label)(labels_js_1.ACTOR_LABELS, entry.actorType),
55
+ note: entry.body ?? '',
56
+ })));
57
+ if (status.timeline.length > TIMELINE_ROWS) {
58
+ this.output.detail(`Showing ${TIMELINE_ROWS} of ${status.timeline.length} events.`);
59
+ }
60
+ this.output.line('');
61
+ }
62
+ const head = status.live === null && status.pending === null
63
+ ? `${manifest.name} has no release yet.`
64
+ : status.live === null
65
+ ? `${manifest.name} has ${status.pending?.version ?? ''} in review and nothing live.`
66
+ : status.pending === null
67
+ ? `${manifest.name} is live at ${status.live.version} on ${status.installCount} installs.`
68
+ : `${manifest.name} is live at ${status.live.version} on ${status.installCount} installs, with ${status.pending.version} in review.`;
69
+ const next = status.pending === null
70
+ ? status.live === null
71
+ ? 'Run `tappify extension publish` to send your first release.'
72
+ : 'Run `tappify extension publish` to ship your next release.'
73
+ : 'Run `tappify extension publish` to replace the release in review.';
74
+ this.output.success(head, next, { id: manifest.id, ...status });
75
+ }
76
+ };
77
+ exports.StatusRunner = StatusRunner;
78
+ exports.StatusRunner = StatusRunner = __decorate([
79
+ (0, nest_commander_1.SubCommand)({
80
+ name: 'status',
81
+ description: 'Show the live release, the release in review and the installs',
82
+ }),
83
+ __metadata("design:paramtypes", [api_service_js_1.ApiService,
84
+ config_service_js_1.ConfigService,
85
+ manifest_service_js_1.ManifestService,
86
+ output_service_js_1.OutputService])
87
+ ], StatusRunner);
88
+ //# sourceMappingURL=status.runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.runner.js","sourceRoot":"","sources":["../../../../../src/domains/extension/runners/status.runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ManifestService } from '../../../core/manifest/manifest.service.js';
2
+ import { OutputService } from '../../../core/output/output.service.js';
3
+ import { TypesService } from '../services/types.service.js';
4
+ import { ExtensionRunner } from './extension.runner.js';
5
+ export declare class TypesRunner extends ExtensionRunner {
6
+ private readonly manifests;
7
+ private readonly types;
8
+ constructor(manifests: ManifestService, types: TypesService, output: OutputService);
9
+ protected execute(): Promise<void>;
10
+ }
@@ -0,0 +1,43 @@
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.TypesRunner = void 0;
13
+ const manifest_service_js_1 = require("../../../core/manifest/manifest.service.js");
14
+ const output_service_js_1 = require("../../../core/output/output.service.js");
15
+ const nest_commander_1 = require("nest-commander");
16
+ const types_service_js_1 = require("../services/types.service.js");
17
+ const extension_runner_js_1 = require("./extension.runner.js");
18
+ let TypesRunner = class TypesRunner extends extension_runner_js_1.ExtensionRunner {
19
+ manifests;
20
+ types;
21
+ constructor(manifests, types, output) {
22
+ super(output);
23
+ this.manifests = manifests;
24
+ this.types = types;
25
+ }
26
+ async execute() {
27
+ const root = this.manifests.requireRoot();
28
+ const result = await this.types.write(root);
29
+ const count = result.schemas.length;
30
+ this.output.success(`Wrote ${result.file} from tappify.extension.json and ${count} ${count === 1 ? 'schema file' : 'schema files'}.`, 'Commit the file so your editor and your CI see the same types.', { file: result.file, schemas: result.schemas });
31
+ }
32
+ };
33
+ exports.TypesRunner = TypesRunner;
34
+ exports.TypesRunner = TypesRunner = __decorate([
35
+ (0, nest_commander_1.SubCommand)({
36
+ name: 'types',
37
+ description: 'Regenerate src/tappify.d.ts from the manifest and its schemas',
38
+ }),
39
+ __metadata("design:paramtypes", [manifest_service_js_1.ManifestService,
40
+ types_service_js_1.TypesService,
41
+ output_service_js_1.OutputService])
42
+ ], TypesRunner);
43
+ //# sourceMappingURL=types.runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.runner.js","sourceRoot":"","sources":["../../../../../src/domains/extension/runners/types.runner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6EAAsE;AACtE,uEAAgE;AAChE,mDAA4C;AAC5C,mEAA4D;AAC5D,+DAAwD;AAMjD,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,qCAAe;IAE3B;IACA;IAFnB,YACmB,SAA0B,EAC1B,KAAmB,EACpC,MAAqB;QAErB,KAAK,CAAC,MAAM,CAAC,CAAC;QAJG,cAAS,GAAT,SAAS,CAAiB;QAC1B,UAAK,GAAL,KAAK,CAAc;IAItC,CAAC;IAES,KAAK,CAAC,OAAO;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,SAAS,MAAM,CAAC,IAAI,oCAAoC,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,GAAG,EAChH,gEAAgE,EAChE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAC/C,CAAC;IACJ,CAAC;CACF,CAAA;AApBY,kCAAW;sBAAX,WAAW;IAJvB,IAAA,2BAAU,EAAC;QACV,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,+DAA+D;KAC7E,CAAC;qCAG8B,qCAAe;QACnB,+BAAY;QAC5B,iCAAa;GAJZ,WAAW,CAoBvB"}
@@ -0,0 +1,10 @@
1
+ import { ApiService } from '../../../core/api/api.service.js';
2
+ import { ConfigService } from '../../../core/config/config.service.js';
3
+ import { OutputService } from '../../../core/output/output.service.js';
4
+ import { ExtensionRunner } from './extension.runner.js';
5
+ export declare class WhoamiRunner extends ExtensionRunner {
6
+ private readonly api;
7
+ private readonly config;
8
+ constructor(api: ApiService, config: ConfigService, output: OutputService);
9
+ protected execute(): Promise<void>;
10
+ }
@@ -0,0 +1,71 @@
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.WhoamiRunner = 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 output_service_js_1 = require("../../../core/output/output.service.js");
16
+ const nest_commander_1 = require("nest-commander");
17
+ const labels_js_1 = require("../labels.js");
18
+ const failures_js_1 = require("../services/failures.js");
19
+ const extension_runner_js_1 = require("./extension.runner.js");
20
+ let WhoamiRunner = class WhoamiRunner extends extension_runner_js_1.ExtensionRunner {
21
+ api;
22
+ config;
23
+ constructor(api, config, output) {
24
+ super(output);
25
+ this.api = api;
26
+ this.config = config;
27
+ }
28
+ async execute() {
29
+ if (!this.config.isAuthenticated()) {
30
+ this.output.fail((0, failures_js_1.notSignedIn)('This command reads your Tappify session.'));
31
+ }
32
+ const [me, vendor, members] = await Promise.all([
33
+ this.api.get('/users/me'),
34
+ this.api.get('/vendor-portal/vendor'),
35
+ this.api.get('/vendor-portal/vendor/members'),
36
+ ]);
37
+ const userId = this.config.get('userId');
38
+ const role = members.find(member => member.userId === userId)?.role ?? 'developer';
39
+ const said = (0, labels_js_1.roleLabel)(role);
40
+ const sandboxName = this.config.get('sandboxProjectName');
41
+ const sandboxId = this.config.get('sandboxProjectId');
42
+ const head = sandboxName === undefined
43
+ ? `${me.email}, ${said} of ${vendor.name}.`
44
+ : `${me.email}, ${said} of ${vendor.name}, sandbox project "${sandboxName}".`;
45
+ this.output.success(head, 'Run `tappify extension dev --live` to mount an extension on the sandbox project.', {
46
+ user: { id: me.id, email: me.email },
47
+ vendor: {
48
+ id: vendor.id,
49
+ name: vendor.name,
50
+ domain: vendor.domain,
51
+ securityReviewPassed: vendor.securityReviewPassed,
52
+ },
53
+ role,
54
+ sandboxProject: {
55
+ id: sandboxId ?? null,
56
+ name: sandboxName ?? null,
57
+ },
58
+ });
59
+ }
60
+ };
61
+ exports.WhoamiRunner = WhoamiRunner;
62
+ exports.WhoamiRunner = WhoamiRunner = __decorate([
63
+ (0, nest_commander_1.SubCommand)({
64
+ name: 'whoami',
65
+ description: 'Show the vendor, your role and the sandbox project',
66
+ }),
67
+ __metadata("design:paramtypes", [api_service_js_1.ApiService,
68
+ config_service_js_1.ConfigService,
69
+ output_service_js_1.OutputService])
70
+ ], WhoamiRunner);
71
+ //# sourceMappingURL=whoami.runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whoami.runner.js","sourceRoot":"","sources":["../../../../../src/domains/extension/runners/whoami.runner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8DAAuD;AACvD,uEAAgE;AAChE,uEAAgE;AAChE,mDAA4C;AAC5C,4CAAyC;AACzC,yDAAsD;AACtD,+DAAwD;AAuBjD,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,qCAAe;IAE5B;IACA;IAFnB,YACmB,GAAe,EACf,MAAqB,EACtC,MAAqB;QAErB,KAAK,CAAC,MAAM,CAAC,CAAC;QAJG,QAAG,GAAH,GAAG,CAAY;QACf,WAAM,GAAN,MAAM,CAAe;IAIxC,CAAC;IAES,KAAK,CAAC,OAAO;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,yBAAW,EAAC,0CAA0C,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAK,WAAW,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAS,uBAAuB,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAW,+BAA+B,CAAC;SACxD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,IAAI,GACR,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,IAAI,IAAI,WAAW,CAAC;QACxE,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEtD,MAAM,IAAI,GACR,WAAW,KAAK,SAAS;YACvB,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,IAAI,OAAO,MAAM,CAAC,IAAI,GAAG;YAC3C,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,IAAI,OAAO,MAAM,CAAC,IAAI,sBAAsB,WAAW,IAAI,CAAC;QAElF,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,IAAI,EACJ,kFAAkF,EAClF;YACE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE;YACpC,MAAM,EAAE;gBACN,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;aAClD;YACD,IAAI;YACJ,cAAc,EAAE;gBACd,EAAE,EAAE,SAAS,IAAI,IAAI;gBACrB,IAAI,EAAE,WAAW,IAAI,IAAI;aAC1B;SACF,CACF,CAAC;IACJ,CAAC;CACF,CAAA;AApDY,oCAAY;uBAAZ,YAAY;IAJxB,IAAA,2BAAU,EAAC;QACV,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oDAAoD;KAClE,CAAC;qCAGwB,2BAAU;QACP,iCAAa;QAC9B,iCAAa;GAJZ,YAAY,CAoDxB"}
@@ -0,0 +1,26 @@
1
+ import { ManifestService } from '../../../core/manifest/manifest.service.js';
2
+ import { OutputService } from '../../../core/output/output.service.js';
3
+ import type { ExtensionRegistry } from '../../../core/registry/registry.service.js';
4
+ import { TemplateService } from '../../../core/templates/template.service.js';
5
+ import type { ScopeKey } from '@tappify/extension-sdk/manifest';
6
+ import { type KindValues } from '../kinds.js';
7
+ export interface AddResult {
8
+ kind: string;
9
+ id: string;
10
+ title: string;
11
+ files: string[];
12
+ scopesAdded: ScopeKey[];
13
+ next: string;
14
+ }
15
+ export declare class AddService {
16
+ private readonly manifests;
17
+ private readonly templates;
18
+ private readonly output;
19
+ constructor(manifests: ManifestService, templates: TemplateService, output: OutputService);
20
+ add(root: string, command: string, registry: ExtensionRegistry, values: KindValues): AddResult;
21
+ private checkId;
22
+ private grantScopes;
23
+ private scopeSentence;
24
+ private plan;
25
+ private barrelWrite;
26
+ }