@apimatic/cli 1.5.0 → 2.0.0-beta.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 (610) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +128 -212
  3. package/apimatic.schema.json +550 -0
  4. package/lib/actions/action-result.js +3 -0
  5. package/lib/actions/action-result.js.map +1 -1
  6. package/lib/actions/api/transform.js +36 -33
  7. package/lib/actions/api/transform.js.map +1 -1
  8. package/lib/actions/api/validate.d.ts +9 -6
  9. package/lib/actions/api/validate.js +44 -38
  10. package/lib/actions/api/validate.js.map +1 -1
  11. package/lib/actions/auth/login.js +7 -4
  12. package/lib/actions/auth/login.js.map +1 -1
  13. package/lib/actions/auth/logout.js +2 -1
  14. package/lib/actions/auth/logout.js.map +1 -1
  15. package/lib/actions/auth/status.js +5 -3
  16. package/lib/actions/auth/status.js.map +1 -1
  17. package/lib/actions/plugin/generate.d.ts +5 -1
  18. package/lib/actions/plugin/generate.js +83 -56
  19. package/lib/actions/plugin/generate.js.map +1 -1
  20. package/lib/actions/plugin/publish.d.ts +2 -1
  21. package/lib/actions/plugin/publish.js +34 -37
  22. package/lib/actions/plugin/publish.js.map +1 -1
  23. package/lib/actions/plugin/record-metadata.d.ts +3 -2
  24. package/lib/actions/plugin/record-metadata.js +33 -30
  25. package/lib/actions/plugin/record-metadata.js.map +1 -1
  26. package/lib/actions/portal/generate.d.ts +8 -6
  27. package/lib/actions/portal/generate.js +50 -61
  28. package/lib/actions/portal/generate.js.map +1 -1
  29. package/lib/actions/portal/prepare-project.d.ts +25 -0
  30. package/lib/actions/portal/prepare-project.js +68 -0
  31. package/lib/actions/portal/prepare-project.js.map +1 -0
  32. package/lib/actions/portal/serve.d.ts +21 -6
  33. package/lib/actions/portal/serve.js +170 -153
  34. package/lib/actions/portal/serve.js.map +1 -1
  35. package/lib/actions/publishing/profile/list.js +4 -2
  36. package/lib/actions/publishing/profile/list.js.map +1 -1
  37. package/lib/actions/quickstart.d.ts +23 -5
  38. package/lib/actions/quickstart.js +222 -21
  39. package/lib/actions/quickstart.js.map +1 -1
  40. package/lib/actions/sdk/generate.d.ts +4 -7
  41. package/lib/actions/sdk/generate.js +53 -93
  42. package/lib/actions/sdk/generate.js.map +1 -1
  43. package/lib/actions/sdk/publish/interactive.d.ts +4 -3
  44. package/lib/actions/sdk/publish/interactive.js +96 -97
  45. package/lib/actions/sdk/publish/interactive.js.map +1 -1
  46. package/lib/actions/sdk/publish/non-interactive.d.ts +4 -2
  47. package/lib/actions/sdk/publish/non-interactive.js +91 -90
  48. package/lib/actions/sdk/publish/non-interactive.js.map +1 -1
  49. package/lib/actions/sdk/publish.d.ts +3 -2
  50. package/lib/actions/sdk/publish.js +55 -53
  51. package/lib/actions/sdk/publish.js.map +1 -1
  52. package/lib/actions/sdk/record-published-sdk.d.ts +14 -0
  53. package/lib/actions/sdk/record-published-sdk.js +57 -0
  54. package/lib/actions/sdk/record-published-sdk.js.map +1 -0
  55. package/lib/client-utils/auth-manager.js +1 -1
  56. package/lib/client-utils/auth-manager.js.map +1 -1
  57. package/lib/commands/api/transform.d.ts +1 -1
  58. package/lib/commands/api/transform.js +44 -40
  59. package/lib/commands/api/transform.js.map +1 -1
  60. package/lib/commands/api/validate.js +16 -16
  61. package/lib/commands/api/validate.js.map +1 -1
  62. package/lib/commands/auth/login.js +14 -15
  63. package/lib/commands/auth/login.js.map +1 -1
  64. package/lib/commands/auth/logout.js +5 -6
  65. package/lib/commands/auth/logout.js.map +1 -1
  66. package/lib/commands/auth/status.js +4 -5
  67. package/lib/commands/auth/status.js.map +1 -1
  68. package/lib/commands/plugin/generate.d.ts +3 -3
  69. package/lib/commands/plugin/generate.js +20 -20
  70. package/lib/commands/plugin/generate.js.map +1 -1
  71. package/lib/commands/plugin/publish.js +18 -18
  72. package/lib/commands/plugin/publish.js.map +1 -1
  73. package/lib/commands/portal/generate.d.ts +9 -8
  74. package/lib/commands/portal/generate.js +36 -27
  75. package/lib/commands/portal/generate.js.map +1 -1
  76. package/lib/commands/portal/serve.d.ts +7 -9
  77. package/lib/commands/portal/serve.js +41 -44
  78. package/lib/commands/portal/serve.js.map +1 -1
  79. package/lib/commands/publishing/profile/list.js +8 -12
  80. package/lib/commands/publishing/profile/list.js.map +1 -1
  81. package/lib/commands/quickstart.d.ts +5 -5
  82. package/lib/commands/quickstart.js +18 -24
  83. package/lib/commands/quickstart.js.map +1 -1
  84. package/lib/commands/sdk/generate.d.ts +5 -7
  85. package/lib/commands/sdk/generate.js +58 -70
  86. package/lib/commands/sdk/generate.js.map +1 -1
  87. package/lib/commands/sdk/publish.d.ts +6 -7
  88. package/lib/commands/sdk/publish.js +66 -60
  89. package/lib/commands/sdk/publish.js.map +1 -1
  90. package/lib/hooks/node-version.d.ts +3 -0
  91. package/lib/hooks/node-version.js +12 -0
  92. package/lib/hooks/node-version.js.map +1 -0
  93. package/lib/hooks/not-found.js +2 -3
  94. package/lib/hooks/not-found.js.map +1 -1
  95. package/lib/hooks/utils.d.ts +4 -2
  96. package/lib/hooks/utils.js +2 -2
  97. package/lib/hooks/utils.js.map +1 -1
  98. package/lib/infrastructure/env-info.d.ts +3 -0
  99. package/lib/infrastructure/env-info.js +13 -6
  100. package/lib/infrastructure/env-info.js.map +1 -1
  101. package/lib/infrastructure/file-service.d.ts +35 -8
  102. package/lib/infrastructure/file-service.js +149 -53
  103. package/lib/infrastructure/file-service.js.map +1 -1
  104. package/lib/infrastructure/file-watch-service.d.ts +40 -0
  105. package/lib/infrastructure/file-watch-service.js +167 -0
  106. package/lib/infrastructure/file-watch-service.js.map +1 -0
  107. package/lib/infrastructure/generation-status-poller.d.ts +8 -7
  108. package/lib/infrastructure/generation-status-poller.js +20 -12
  109. package/lib/infrastructure/generation-status-poller.js.map +1 -1
  110. package/lib/infrastructure/launcher-service.js +6 -6
  111. package/lib/infrastructure/launcher-service.js.map +1 -1
  112. package/lib/infrastructure/network-service.d.ts +3 -0
  113. package/lib/infrastructure/network-service.js +15 -1
  114. package/lib/infrastructure/network-service.js.map +1 -1
  115. package/lib/infrastructure/portal-build-service.d.ts +19 -0
  116. package/lib/infrastructure/portal-build-service.js +58 -0
  117. package/lib/infrastructure/portal-build-service.js.map +1 -0
  118. package/lib/infrastructure/portal-dev-server-service.d.ts +29 -0
  119. package/lib/infrastructure/portal-dev-server-service.js +135 -0
  120. package/lib/infrastructure/portal-dev-server-service.js.map +1 -0
  121. package/lib/infrastructure/portal-pages-service.d.ts +17 -0
  122. package/lib/infrastructure/portal-pages-service.js +103 -0
  123. package/lib/infrastructure/portal-pages-service.js.map +1 -0
  124. package/lib/infrastructure/portal-project-service.d.ts +77 -0
  125. package/lib/infrastructure/portal-project-service.js +309 -0
  126. package/lib/infrastructure/portal-project-service.js.map +1 -0
  127. package/lib/infrastructure/service-error.d.ts +1 -0
  128. package/lib/infrastructure/service-error.js +39 -41
  129. package/lib/infrastructure/service-error.js.map +1 -1
  130. package/lib/infrastructure/services/api-client-factory.js +15 -13
  131. package/lib/infrastructure/services/api-client-factory.js.map +1 -1
  132. package/lib/infrastructure/services/api-service.d.ts +7 -5
  133. package/lib/infrastructure/services/api-service.js +28 -20
  134. package/lib/infrastructure/services/api-service.js.map +1 -1
  135. package/lib/infrastructure/services/auth-service.js +4 -9
  136. package/lib/infrastructure/services/auth-service.js.map +1 -1
  137. package/lib/infrastructure/services/file-download-service.js +3 -3
  138. package/lib/infrastructure/services/file-download-service.js.map +1 -1
  139. package/lib/infrastructure/services/plugin-service.d.ts +1 -8
  140. package/lib/infrastructure/services/plugin-service.js +11 -22
  141. package/lib/infrastructure/services/plugin-service.js.map +1 -1
  142. package/lib/infrastructure/services/portal-artifacts-service.d.ts +44 -0
  143. package/lib/infrastructure/services/portal-artifacts-service.js +268 -0
  144. package/lib/infrastructure/services/portal-artifacts-service.js.map +1 -0
  145. package/lib/infrastructure/services/portal-authorization-service.d.ts +22 -0
  146. package/lib/infrastructure/services/portal-authorization-service.js +23 -0
  147. package/lib/infrastructure/services/portal-authorization-service.js.map +1 -0
  148. package/lib/infrastructure/services/publishing-api-service.d.ts +1 -1
  149. package/lib/infrastructure/services/publishing-api-service.js +11 -15
  150. package/lib/infrastructure/services/publishing-api-service.js.map +1 -1
  151. package/lib/infrastructure/services/sdk-generation-service.d.ts +21 -0
  152. package/lib/infrastructure/services/sdk-generation-service.js +118 -0
  153. package/lib/infrastructure/services/sdk-generation-service.js.map +1 -0
  154. package/lib/infrastructure/services/telemetry-service.js +5 -4
  155. package/lib/infrastructure/services/telemetry-service.js.map +1 -1
  156. package/lib/infrastructure/services/transformation-service.js +29 -32
  157. package/lib/infrastructure/services/transformation-service.js.map +1 -1
  158. package/lib/infrastructure/services/validation-service.d.ts +12 -53
  159. package/lib/infrastructure/services/validation-service.js +24 -199
  160. package/lib/infrastructure/services/validation-service.js.map +1 -1
  161. package/lib/infrastructure/timer-extensions.d.ts +2 -0
  162. package/lib/infrastructure/timer-extensions.js +10 -0
  163. package/lib/infrastructure/timer-extensions.js.map +1 -0
  164. package/lib/infrastructure/tmp-extensions.d.ts +31 -1
  165. package/lib/infrastructure/tmp-extensions.js +86 -3
  166. package/lib/infrastructure/tmp-extensions.js.map +1 -1
  167. package/lib/infrastructure/zip-service.js +2 -2
  168. package/lib/infrastructure/zip-service.js.map +1 -1
  169. package/lib/prompts/api/validate.d.ts +6 -7
  170. package/lib/prompts/api/validate.js +12 -12
  171. package/lib/prompts/api/validate.js.map +1 -1
  172. package/lib/prompts/format.d.ts +4 -0
  173. package/lib/prompts/format.js +5 -0
  174. package/lib/prompts/format.js.map +1 -1
  175. package/lib/prompts/plugin/generate.d.ts +17 -12
  176. package/lib/prompts/plugin/generate.js +94 -44
  177. package/lib/prompts/plugin/generate.js.map +1 -1
  178. package/lib/prompts/plugin/publish.d.ts +2 -1
  179. package/lib/prompts/plugin/publish.js +8 -7
  180. package/lib/prompts/plugin/publish.js.map +1 -1
  181. package/lib/prompts/plugin/record-metadata.d.ts +1 -0
  182. package/lib/prompts/plugin/record-metadata.js +10 -7
  183. package/lib/prompts/plugin/record-metadata.js.map +1 -1
  184. package/lib/prompts/portal/artifacts.d.ts +8 -0
  185. package/lib/prompts/portal/artifacts.js +26 -0
  186. package/lib/prompts/portal/artifacts.js.map +1 -0
  187. package/lib/prompts/portal/authorization.d.ts +6 -0
  188. package/lib/prompts/portal/authorization.js +29 -0
  189. package/lib/prompts/portal/authorization.js.map +1 -0
  190. package/lib/prompts/portal/code-samples.d.ts +1 -0
  191. package/lib/prompts/portal/code-samples.js +9 -0
  192. package/lib/prompts/portal/code-samples.js.map +1 -0
  193. package/lib/prompts/portal/generate.d.ts +14 -9
  194. package/lib/prompts/portal/generate.js +48 -26
  195. package/lib/prompts/portal/generate.js.map +1 -1
  196. package/lib/prompts/portal/prepare-project.d.ts +20 -0
  197. package/lib/prompts/portal/prepare-project.js +36 -0
  198. package/lib/prompts/portal/prepare-project.js.map +1 -0
  199. package/lib/prompts/portal/serve.d.ts +32 -12
  200. package/lib/prompts/portal/serve.js +102 -39
  201. package/lib/prompts/portal/serve.js.map +1 -1
  202. package/lib/prompts/portal/source.d.ts +26 -0
  203. package/lib/prompts/portal/source.js +253 -0
  204. package/lib/prompts/portal/source.js.map +1 -0
  205. package/lib/prompts/prompt.d.ts +11 -3
  206. package/lib/prompts/prompt.js +39 -15
  207. package/lib/prompts/prompt.js.map +1 -1
  208. package/lib/prompts/quickstart.d.ts +46 -3
  209. package/lib/prompts/quickstart.js +199 -12
  210. package/lib/prompts/quickstart.js.map +1 -1
  211. package/lib/prompts/sdk/generate.d.ts +15 -13
  212. package/lib/prompts/sdk/generate.js +29 -32
  213. package/lib/prompts/sdk/generate.js.map +1 -1
  214. package/lib/prompts/sdk/publish/interactive.d.ts +10 -6
  215. package/lib/prompts/sdk/publish/interactive.js +26 -24
  216. package/lib/prompts/sdk/publish/interactive.js.map +1 -1
  217. package/lib/prompts/sdk/publish/non-interactive.d.ts +2 -1
  218. package/lib/prompts/sdk/publish/non-interactive.js +5 -4
  219. package/lib/prompts/sdk/publish/non-interactive.js.map +1 -1
  220. package/lib/prompts/sdk/publish.d.ts +3 -3
  221. package/lib/prompts/sdk/publish.js +13 -17
  222. package/lib/prompts/sdk/publish.js.map +1 -1
  223. package/lib/prompts/sdk/record-published-sdk.d.ts +7 -0
  224. package/lib/prompts/sdk/record-published-sdk.js +26 -0
  225. package/lib/prompts/sdk/record-published-sdk.js.map +1 -0
  226. package/lib/types/apimatic-config/document.d.ts +70 -0
  227. package/lib/types/apimatic-config/document.js +167 -0
  228. package/lib/types/apimatic-config/document.js.map +1 -0
  229. package/lib/types/apimatic-config/languages-block.d.ts +39 -0
  230. package/lib/types/apimatic-config/languages-block.js +58 -0
  231. package/lib/types/apimatic-config/languages-block.js.map +1 -0
  232. package/lib/types/apimatic-config-context.d.ts +48 -0
  233. package/lib/types/apimatic-config-context.js +121 -0
  234. package/lib/types/apimatic-config-context.js.map +1 -0
  235. package/lib/types/build/build.d.ts +1 -89
  236. package/lib/types/build/build.js +6 -161
  237. package/lib/types/build/build.js.map +1 -1
  238. package/lib/types/events/domain-event.js +3 -0
  239. package/lib/types/events/domain-event.js.map +1 -1
  240. package/lib/types/events/quickstart-completed.js +3 -3
  241. package/lib/types/events/quickstart-completed.js.map +1 -1
  242. package/lib/types/events/quickstart-initiated.js +3 -3
  243. package/lib/types/events/quickstart-initiated.js.map +1 -1
  244. package/lib/types/events/sdk-publish-validation-failed.js +1 -1
  245. package/lib/types/events/sdk-publish-validation-failed.js.map +1 -1
  246. package/lib/types/file/directory.d.ts +4 -9
  247. package/lib/types/file/directory.js +17 -65
  248. package/lib/types/file/directory.js.map +1 -1
  249. package/lib/types/file/directoryPath.d.ts +17 -0
  250. package/lib/types/file/directoryPath.js +47 -2
  251. package/lib/types/file/directoryPath.js.map +1 -1
  252. package/lib/types/file/fileName.d.ts +8 -0
  253. package/lib/types/file/fileName.js +28 -6
  254. package/lib/types/file/fileName.js.map +1 -1
  255. package/lib/types/file/filePath.d.ts +18 -2
  256. package/lib/types/file/filePath.js +39 -4
  257. package/lib/types/file/filePath.js.map +1 -1
  258. package/lib/types/file/resource-input.js +1 -2
  259. package/lib/types/file/resource-input.js.map +1 -1
  260. package/lib/types/file/urlPath.js +2 -1
  261. package/lib/types/file/urlPath.js.map +1 -1
  262. package/lib/types/flags-provider.js +22 -22
  263. package/lib/types/flags-provider.js.map +1 -1
  264. package/lib/types/package-settings-context.js +2 -1
  265. package/lib/types/package-settings-context.js.map +1 -1
  266. package/lib/types/plugin/plugin-config.d.ts +10 -50
  267. package/lib/types/plugin/plugin-config.js +7 -1
  268. package/lib/types/plugin/plugin-config.js.map +1 -1
  269. package/lib/types/plugin-config-context.d.ts +30 -37
  270. package/lib/types/plugin-config-context.js +108 -139
  271. package/lib/types/plugin-config-context.js.map +1 -1
  272. package/lib/types/plugin-context.js +3 -2
  273. package/lib/types/plugin-context.js.map +1 -1
  274. package/lib/types/portal/code-samples.d.ts +27 -0
  275. package/lib/types/portal/code-samples.js +67 -0
  276. package/lib/types/portal/code-samples.js.map +1 -0
  277. package/lib/types/portal/config/ai-config.d.ts +15 -0
  278. package/lib/types/portal/config/ai-config.js +26 -0
  279. package/lib/types/portal/config/ai-config.js.map +1 -0
  280. package/lib/types/portal/config/brand-config.d.ts +55 -0
  281. package/lib/types/portal/config/brand-config.js +105 -0
  282. package/lib/types/portal/config/brand-config.js.map +1 -0
  283. package/lib/types/portal/config/color.d.ts +19 -0
  284. package/lib/types/portal/config/color.js +43 -0
  285. package/lib/types/portal/config/color.js.map +1 -0
  286. package/lib/types/portal/config/fields.d.ts +23 -0
  287. package/lib/types/portal/config/fields.js +67 -0
  288. package/lib/types/portal/config/fields.js.map +1 -0
  289. package/lib/types/portal/config/link.d.ts +18 -0
  290. package/lib/types/portal/config/link.js +72 -0
  291. package/lib/types/portal/config/link.js.map +1 -0
  292. package/lib/types/portal/config/navigation-config.d.ts +13 -0
  293. package/lib/types/portal/config/navigation-config.js +30 -0
  294. package/lib/types/portal/config/navigation-config.js.map +1 -0
  295. package/lib/types/portal/config/site-config.d.ts +32 -0
  296. package/lib/types/portal/config/site-config.js +88 -0
  297. package/lib/types/portal/config/site-config.js.map +1 -0
  298. package/lib/types/portal/config/static-asset.d.ts +25 -0
  299. package/lib/types/portal/config/static-asset.js +77 -0
  300. package/lib/types/portal/config/static-asset.js.map +1 -0
  301. package/lib/types/portal/content-notices.d.ts +20 -0
  302. package/lib/types/portal/content-notices.js +2 -0
  303. package/lib/types/portal/content-notices.js.map +1 -0
  304. package/lib/types/portal/content-tree.d.ts +103 -0
  305. package/lib/types/portal/content-tree.js +344 -0
  306. package/lib/types/portal/content-tree.js.map +1 -0
  307. package/lib/types/portal/endpoint.d.ts +6 -0
  308. package/lib/types/portal/endpoint.js +12 -0
  309. package/lib/types/portal/endpoint.js.map +1 -0
  310. package/lib/types/portal/generated-pages.d.ts +68 -0
  311. package/lib/types/portal/generated-pages.js +111 -0
  312. package/lib/types/portal/generated-pages.js.map +1 -0
  313. package/lib/types/portal/generation-status.d.ts +31 -0
  314. package/lib/types/portal/generation-status.js +26 -0
  315. package/lib/types/portal/generation-status.js.map +1 -0
  316. package/lib/types/portal/openapi-document.d.ts +48 -0
  317. package/lib/types/portal/openapi-document.js +138 -0
  318. package/lib/types/portal/openapi-document.js.map +1 -0
  319. package/lib/types/portal/page-fragments.d.ts +13 -0
  320. package/lib/types/portal/page-fragments.js +24 -0
  321. package/lib/types/portal/page-fragments.js.map +1 -0
  322. package/lib/types/portal/page-template.d.ts +15 -0
  323. package/lib/types/portal/page-template.js +64 -0
  324. package/lib/types/portal/page-template.js.map +1 -0
  325. package/lib/types/portal/page.d.ts +24 -0
  326. package/lib/types/portal/page.js +100 -0
  327. package/lib/types/portal/page.js.map +1 -0
  328. package/lib/types/portal/portal-artifacts.d.ts +25 -0
  329. package/lib/types/portal/portal-artifacts.js +30 -0
  330. package/lib/types/portal/portal-artifacts.js.map +1 -0
  331. package/lib/types/portal/portal-config.d.ts +69 -0
  332. package/lib/types/portal/portal-config.js +105 -0
  333. package/lib/types/portal/portal-config.js.map +1 -0
  334. package/lib/types/portal/portal-downloads.d.ts +8 -0
  335. package/lib/types/portal/portal-downloads.js +14 -0
  336. package/lib/types/portal/portal-downloads.js.map +1 -0
  337. package/lib/types/portal/portal-languages.d.ts +15 -0
  338. package/lib/types/portal/portal-languages.js +45 -0
  339. package/lib/types/portal/portal-languages.js.map +1 -0
  340. package/lib/types/portal/portal-navigation.d.ts +65 -0
  341. package/lib/types/portal/portal-navigation.js +217 -0
  342. package/lib/types/portal/portal-navigation.js.map +1 -0
  343. package/lib/types/portal/portal-sdk.d.ts +15 -0
  344. package/lib/types/portal/portal-sdk.js +28 -0
  345. package/lib/types/portal/portal-sdk.js.map +1 -0
  346. package/lib/types/portal/portal-source.d.ts +129 -0
  347. package/lib/types/portal/portal-source.js +2 -0
  348. package/lib/types/portal/portal-source.js.map +1 -0
  349. package/lib/types/portal/portal-stylesheet.d.ts +19 -0
  350. package/lib/types/portal/portal-stylesheet.js +40 -0
  351. package/lib/types/portal/portal-stylesheet.js.map +1 -0
  352. package/lib/types/portal/portal-tabs.d.ts +33 -0
  353. package/lib/types/portal/portal-tabs.js +38 -0
  354. package/lib/types/portal/portal-tabs.js.map +1 -0
  355. package/lib/types/portal/preview-config.d.ts +20 -0
  356. package/lib/types/portal/preview-config.js +32 -0
  357. package/lib/types/portal/preview-config.js.map +1 -0
  358. package/lib/types/portal/preview-content.d.ts +18 -0
  359. package/lib/types/portal/preview-content.js +50 -0
  360. package/lib/types/portal/preview-content.js.map +1 -0
  361. package/lib/types/portal/published-package.d.ts +12 -0
  362. package/lib/types/portal/published-package.js +35 -0
  363. package/lib/types/portal/published-package.js.map +1 -0
  364. package/lib/types/portal/unknown-fields.d.ts +5 -0
  365. package/lib/types/portal/unknown-fields.js +10 -0
  366. package/lib/types/portal/unknown-fields.js.map +1 -0
  367. package/lib/types/portal-context.d.ts +38 -6
  368. package/lib/types/portal-context.js +71 -24
  369. package/lib/types/portal-context.js.map +1 -1
  370. package/lib/types/portal-source-context.d.ts +77 -0
  371. package/lib/types/portal-source-context.js +408 -0
  372. package/lib/types/portal-source-context.js.map +1 -0
  373. package/lib/types/project-context.d.ts +49 -0
  374. package/lib/types/project-context.js +151 -0
  375. package/lib/types/project-context.js.map +1 -0
  376. package/lib/types/project-layout.d.ts +9 -0
  377. package/lib/types/project-layout.js +10 -0
  378. package/lib/types/project-layout.js.map +1 -0
  379. package/lib/types/publish/package-settings-configuration.d.ts +2 -0
  380. package/lib/types/publish/profile-id.js +1 -0
  381. package/lib/types/publish/profile-id.js.map +1 -1
  382. package/lib/types/publish/publishing-profile.d.ts +3 -1
  383. package/lib/types/publish/publishing-profile.js +33 -15
  384. package/lib/types/publish/publishing-profile.js.map +1 -1
  385. package/lib/types/publish/publishing-profiles.js +2 -1
  386. package/lib/types/publish/publishing-profiles.js.map +1 -1
  387. package/lib/types/publish/version.js +1 -0
  388. package/lib/types/publish/version.js.map +1 -1
  389. package/lib/types/resource-context.js +3 -2
  390. package/lib/types/resource-context.js.map +1 -1
  391. package/lib/types/sdk/generate.d.ts +22 -16
  392. package/lib/types/sdk/generate.js +64 -41
  393. package/lib/types/sdk/generate.js.map +1 -1
  394. package/lib/types/sdk/stability-choice.d.ts +12 -0
  395. package/lib/types/sdk/stability-choice.js +24 -0
  396. package/lib/types/sdk/stability-choice.js.map +1 -0
  397. package/lib/types/sdk-context.d.ts +4 -5
  398. package/lib/types/sdk-context.js +10 -18
  399. package/lib/types/sdk-context.js.map +1 -1
  400. package/lib/types/spec-context.d.ts +5 -4
  401. package/lib/types/spec-context.js +9 -8
  402. package/lib/types/spec-context.js.map +1 -1
  403. package/lib/types/temp-context.d.ts +1 -1
  404. package/lib/types/temp-context.js +5 -4
  405. package/lib/types/temp-context.js.map +1 -1
  406. package/lib/types/transform-context.d.ts +9 -5
  407. package/lib/types/transform-context.js +21 -18
  408. package/lib/types/transform-context.js.map +1 -1
  409. package/lib/utils/error-utils.d.ts +2 -0
  410. package/lib/utils/error-utils.js +5 -0
  411. package/lib/utils/error-utils.js.map +1 -0
  412. package/lib/utils/json-utils.d.ts +2 -0
  413. package/lib/utils/json-utils.js +4 -0
  414. package/lib/utils/json-utils.js.map +1 -0
  415. package/lib/utils/string-utils.d.ts +8 -1
  416. package/lib/utils/string-utils.js +13 -26
  417. package/lib/utils/string-utils.js.map +1 -1
  418. package/lib/utils/utils.d.ts +1 -3
  419. package/lib/utils/utils.js +12 -40
  420. package/lib/utils/utils.js.map +1 -1
  421. package/oclif.manifest.json +69 -357
  422. package/package.json +47 -25
  423. package/portal-pages/context-plugin.mdx +26 -0
  424. package/portal-pages/sdk.mdx +8 -0
  425. package/portal-pages/sdks.mdx +11 -0
  426. package/portal-template/NOTICE +37 -0
  427. package/portal-template/downloads.ts +41 -0
  428. package/portal-template/generated-pages-reload.ts +51 -0
  429. package/portal-template/package.json +11 -0
  430. package/portal-template/portal-config.ts +32 -0
  431. package/portal-template/prerender-pages.ts +81 -0
  432. package/portal-template/spec-reload.ts +26 -0
  433. package/portal-template/src/components/api-page.tsx +15 -0
  434. package/portal-template/src/components/code-block.tsx +9 -0
  435. package/portal-template/src/components/command-block.tsx +50 -0
  436. package/portal-template/src/components/example-layout.tsx +99 -0
  437. package/portal-template/src/components/logos.tsx +127 -0
  438. package/portal-template/src/components/mdx.tsx +28 -0
  439. package/portal-template/src/components/not-found.tsx +11 -0
  440. package/portal-template/src/components/plugin-install.tsx +22 -0
  441. package/portal-template/src/components/plugin-support.tsx +53 -0
  442. package/portal-template/src/components/sdk-actions.tsx +79 -0
  443. package/portal-template/src/components/sdk-cards.tsx +100 -0
  444. package/portal-template/src/components/search.tsx +41 -0
  445. package/portal-template/src/components/usage-tabs.tsx +92 -0
  446. package/portal-template/src/lib/code-samples.server.ts +40 -0
  447. package/portal-template/src/lib/code-samples.ts +43 -0
  448. package/portal-template/src/lib/code-titles.ts +29 -0
  449. package/portal-template/src/lib/install-command.ts +13 -0
  450. package/portal-template/src/lib/json.ts +5 -0
  451. package/portal-template/src/lib/layout.shared.tsx +41 -0
  452. package/portal-template/src/lib/layout.tsx +16 -0
  453. package/portal-template/src/lib/llms.server.ts +54 -0
  454. package/portal-template/src/lib/media-adapters.ts +34 -0
  455. package/portal-template/src/lib/navigation.ts +406 -0
  456. package/portal-template/src/lib/openapi-bundle.server.ts +343 -0
  457. package/portal-template/src/lib/openapi-filter.ts +191 -0
  458. package/portal-template/src/lib/openapi-labels.ts +15 -0
  459. package/portal-template/src/lib/openapi-methods.ts +12 -0
  460. package/portal-template/src/lib/openapi-section.server.ts +280 -0
  461. package/portal-template/src/lib/openapi-slim.ts +202 -0
  462. package/portal-template/src/lib/openapi.server.ts +16 -0
  463. package/portal-template/src/lib/portal-types.ts +36 -0
  464. package/portal-template/src/lib/portal.server.ts +13 -0
  465. package/portal-template/src/lib/portal.ts +11 -0
  466. package/portal-template/src/lib/rehype-code-titles.ts +53 -0
  467. package/portal-template/src/lib/request-examples.ts +72 -0
  468. package/portal-template/src/lib/seo.ts +21 -0
  469. package/portal-template/src/lib/shared.ts +51 -0
  470. package/portal-template/src/lib/shiki-bundle.ts +104 -0
  471. package/portal-template/src/lib/sitemap.server.ts +20 -0
  472. package/portal-template/src/lib/source.server.ts +27 -0
  473. package/portal-template/src/lib/source.ts +49 -0
  474. package/portal-template/src/lib/tabs.ts +37 -0
  475. package/portal-template/src/router.tsx +12 -0
  476. package/portal-template/src/routes/$.tsx +194 -0
  477. package/portal-template/src/routes/__root.tsx +56 -0
  478. package/portal-template/src/routes/api/search[.]json.ts +9 -0
  479. package/portal-template/src/routes/llms-full[.]txt.ts +10 -0
  480. package/portal-template/src/routes/llms[.]txt.ts +10 -0
  481. package/portal-template/src/routes/robots[.]txt.ts +10 -0
  482. package/portal-template/src/routes/sitemap[.]xml.ts +10 -0
  483. package/portal-template/src/routes/spa-shell.tsx +7 -0
  484. package/portal-template/src/routes/{$}[.]md.ts +21 -0
  485. package/portal-template/src/styles/app.css +33 -0
  486. package/portal-template/tsconfig.json +26 -0
  487. package/portal-template/vite.config.ts +68 -0
  488. package/lib/actions/plugin/record-sdk.d.ts +0 -14
  489. package/lib/actions/plugin/record-sdk.js +0 -60
  490. package/lib/actions/plugin/record-sdk.js.map +0 -1
  491. package/lib/actions/portal/copilot.d.ts +0 -17
  492. package/lib/actions/portal/copilot.js +0 -89
  493. package/lib/actions/portal/copilot.js.map +0 -1
  494. package/lib/actions/portal/quickstart.d.ts +0 -18
  495. package/lib/actions/portal/quickstart.js +0 -238
  496. package/lib/actions/portal/quickstart.js.map +0 -1
  497. package/lib/actions/portal/recipe/new-recipe.d.ts +0 -15
  498. package/lib/actions/portal/recipe/new-recipe.js +0 -177
  499. package/lib/actions/portal/recipe/new-recipe.js.map +0 -1
  500. package/lib/actions/portal/toc/new-toc.d.ts +0 -21
  501. package/lib/actions/portal/toc/new-toc.js +0 -95
  502. package/lib/actions/portal/toc/new-toc.js.map +0 -1
  503. package/lib/actions/sdk/merge-source-tree.d.ts +0 -12
  504. package/lib/actions/sdk/merge-source-tree.js +0 -78
  505. package/lib/actions/sdk/merge-source-tree.js.map +0 -1
  506. package/lib/actions/sdk/quickstart.d.ts +0 -18
  507. package/lib/actions/sdk/quickstart.js +0 -188
  508. package/lib/actions/sdk/quickstart.js.map +0 -1
  509. package/lib/actions/sdk/save-changes.d.ts +0 -8
  510. package/lib/actions/sdk/save-changes.js +0 -93
  511. package/lib/actions/sdk/save-changes.js.map +0 -1
  512. package/lib/application/portal/recipe/portal-recipe.d.ts +0 -8
  513. package/lib/application/portal/recipe/portal-recipe.js +0 -33
  514. package/lib/application/portal/recipe/portal-recipe.js.map +0 -1
  515. package/lib/application/portal/recipe/recipe-generator.d.ts +0 -21
  516. package/lib/application/portal/recipe/recipe-generator.js +0 -130
  517. package/lib/application/portal/recipe/recipe-generator.js.map +0 -1
  518. package/lib/application/portal/toc/toc-content-parser.d.ts +0 -5
  519. package/lib/application/portal/toc/toc-content-parser.js +0 -44
  520. package/lib/application/portal/toc/toc-content-parser.js.map +0 -1
  521. package/lib/application/portal/toc/toc-structure-generator.d.ts +0 -11
  522. package/lib/application/portal/toc/toc-structure-generator.js +0 -165
  523. package/lib/application/portal/toc/toc-structure-generator.js.map +0 -1
  524. package/lib/commands/portal/copilot.d.ts +0 -13
  525. package/lib/commands/portal/copilot.js +0 -34
  526. package/lib/commands/portal/copilot.js.map +0 -1
  527. package/lib/commands/portal/recipe/new.d.ts +0 -12
  528. package/lib/commands/portal/recipe/new.js +0 -45
  529. package/lib/commands/portal/recipe/new.js.map +0 -1
  530. package/lib/commands/portal/toc/new.d.ts +0 -16
  531. package/lib/commands/portal/toc/new.js +0 -68
  532. package/lib/commands/portal/toc/new.js.map +0 -1
  533. package/lib/commands/sdk/save-changes.d.ts +0 -14
  534. package/lib/commands/sdk/save-changes.js +0 -51
  535. package/lib/commands/sdk/save-changes.js.map +0 -1
  536. package/lib/infrastructure/debounce-service.d.ts +0 -10
  537. package/lib/infrastructure/debounce-service.js +0 -55
  538. package/lib/infrastructure/debounce-service.js.map +0 -1
  539. package/lib/infrastructure/services/portal-service.d.ts +0 -43
  540. package/lib/infrastructure/services/portal-service.js +0 -337
  541. package/lib/infrastructure/services/portal-service.js.map +0 -1
  542. package/lib/prompts/plugin/record-sdk.d.ts +0 -9
  543. package/lib/prompts/plugin/record-sdk.js +0 -40
  544. package/lib/prompts/plugin/record-sdk.js.map +0 -1
  545. package/lib/prompts/portal/copilot.d.ts +0 -18
  546. package/lib/prompts/portal/copilot.js +0 -82
  547. package/lib/prompts/portal/copilot.js.map +0 -1
  548. package/lib/prompts/portal/quickstart.d.ts +0 -42
  549. package/lib/prompts/portal/quickstart.js +0 -243
  550. package/lib/prompts/portal/quickstart.js.map +0 -1
  551. package/lib/prompts/portal/recipe/new-recipe.d.ts +0 -29
  552. package/lib/prompts/portal/recipe/new-recipe.js +0 -165
  553. package/lib/prompts/portal/recipe/new-recipe.js.map +0 -1
  554. package/lib/prompts/portal/toc/new-toc.d.ts +0 -16
  555. package/lib/prompts/portal/toc/new-toc.js +0 -50
  556. package/lib/prompts/portal/toc/new-toc.js.map +0 -1
  557. package/lib/prompts/sdk/merge-source-tree.d.ts +0 -22
  558. package/lib/prompts/sdk/merge-source-tree.js +0 -90
  559. package/lib/prompts/sdk/merge-source-tree.js.map +0 -1
  560. package/lib/prompts/sdk/quickstart.d.ts +0 -38
  561. package/lib/prompts/sdk/quickstart.js +0 -196
  562. package/lib/prompts/sdk/quickstart.js.map +0 -1
  563. package/lib/prompts/sdk/save-changes.d.ts +0 -21
  564. package/lib/prompts/sdk/save-changes.js +0 -84
  565. package/lib/prompts/sdk/save-changes.js.map +0 -1
  566. package/lib/types/build-context.d.ts +0 -26
  567. package/lib/types/build-context.js +0 -111
  568. package/lib/types/build-context.js.map +0 -1
  569. package/lib/types/events/recipe-creation-failed.d.ts +0 -5
  570. package/lib/types/events/recipe-creation-failed.js +0 -8
  571. package/lib/types/events/recipe-creation-failed.js.map +0 -1
  572. package/lib/types/events/sdk-changes-saved.d.ts +0 -8
  573. package/lib/types/events/sdk-changes-saved.js +0 -11
  574. package/lib/types/events/sdk-changes-saved.js.map +0 -1
  575. package/lib/types/events/sdk-changes-tracked.d.ts +0 -8
  576. package/lib/types/events/sdk-changes-tracked.js +0 -11
  577. package/lib/types/events/sdk-changes-tracked.js.map +0 -1
  578. package/lib/types/events/sdk-conflicts-resolved.d.ts +0 -8
  579. package/lib/types/events/sdk-conflicts-resolved.js +0 -11
  580. package/lib/types/events/sdk-conflicts-resolved.js.map +0 -1
  581. package/lib/types/events/toc-creation-failed.d.ts +0 -5
  582. package/lib/types/events/toc-creation-failed.js +0 -8
  583. package/lib/types/events/toc-creation-failed.js.map +0 -1
  584. package/lib/types/merge-source-tree-context.d.ts +0 -28
  585. package/lib/types/merge-source-tree-context.js +0 -63
  586. package/lib/types/merge-source-tree-context.js.map +0 -1
  587. package/lib/types/plugin/language-entry.d.ts +0 -9
  588. package/lib/types/plugin/language-entry.js +0 -64
  589. package/lib/types/plugin/language-entry.js.map +0 -1
  590. package/lib/types/recipe/recipe.d.ts +0 -22
  591. package/lib/types/recipe/recipe.js +0 -6
  592. package/lib/types/recipe/recipe.js.map +0 -1
  593. package/lib/types/recipe-context.d.ts +0 -9
  594. package/lib/types/recipe-context.js +0 -26
  595. package/lib/types/recipe-context.js.map +0 -1
  596. package/lib/types/save-changes-context.d.ts +0 -17
  597. package/lib/types/save-changes-context.js +0 -42
  598. package/lib/types/save-changes-context.js.map +0 -1
  599. package/lib/types/sdl/sdl.d.ts +0 -10
  600. package/lib/types/sdl/sdl.js +0 -18
  601. package/lib/types/sdl/sdl.js.map +0 -1
  602. package/lib/types/toc/toc-components.d.ts +0 -36
  603. package/lib/types/toc/toc-components.js +0 -94
  604. package/lib/types/toc/toc-components.js.map +0 -1
  605. package/lib/types/toc/toc.d.ts +0 -67
  606. package/lib/types/toc/toc.js +0 -2
  607. package/lib/types/toc/toc.js.map +0 -1
  608. package/lib/types/toc-context.d.ts +0 -12
  609. package/lib/types/toc-context.js +0 -26
  610. package/lib/types/toc-context.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"zip-service.js","sourceRoot":"","sources":["../../src/infrastructure/zip-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,SAAS,CAAC;AAI7B,MAAM,OAAO,UAAU;IACd,KAAK,CAAC,OAAO,CAAC,SAAwB,EAAE,aAAuB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAEnC,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAE,cAAsB,EAAE,EAAE;gBAClE,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACtC,sEAAsE;oBACtE,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBACrF,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC;gBACH,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAAoB,EAAE,oBAAmC;QAC9E,MAAM,SAAS,GAAG,MAAO,CAAC;QAC1B,MAAM,QAAQ,GAAG,UAAa,CAAC,CAAC,OAAO;QAEvC,uEAAuE;QACvE,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,8CAA8C;QAC9C,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/B,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,GAAG,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"zip-service.js","sourceRoot":"","sources":["../../src/infrastructure/zip-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,SAAS,CAAC;AAI7B,MAAM,OAAO,UAAU;IACd,KAAK,CAAC,OAAO,CAAC,SAAwB,EAAE,aAAuB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAEnC,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAE,cAAsB,EAAE,EAAE;gBAClE,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC5E,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACtC,sEAAsE;oBACtE,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBACrF,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACxB,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC;gBACH,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAAoB,EAAE,oBAAmC;QAC9E,MAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,OAAO;QAEvC,uEAAuE;QACvE,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,uEAAuE;QACvE,8CAA8C;QAC9C,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAEjC,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,0EAA0E;QAC1E,sEAAsE;QACtE,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;YAC/B,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,GAAG,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;CACF"}
@@ -1,11 +1,10 @@
1
- import { ValidationMessages } from "../../types/utils.js";
2
- import { Result } from "neverthrow";
3
- import { ValidationEntry, ValidationSummary } from "@apimatic/sdk";
4
- import { ServiceError } from "../../infrastructure/service-error.js";
5
- import { FilePath } from "../../types/file/filePath.js";
6
- import { ValidateApiResponse } from "../../infrastructure/services/validation-service.js";
1
+ import { ValidationMessages } from '../../types/utils.js';
2
+ import { Result } from 'neverthrow';
3
+ import { ValidateApiResult, ValidationEntry, ValidationSummary } from '@apimatic/sdk';
4
+ import { ServiceError } from '../../infrastructure/service-error.js';
5
+ import { FilePath } from '../../types/file/filePath.js';
7
6
  export declare class ApiValidatePrompts {
8
- validateApi(fn: Promise<Result<ValidateApiResponse, string>>): Promise<Result<ValidateApiResponse, string>>;
7
+ validateApi<E>(fn: Promise<Result<ValidateApiResult, E>>): Promise<Result<ValidateApiResult, E>>;
9
8
  displayValidationMessages({ warnings, errors, messages }: ValidationMessages): void;
10
9
  formatValidationEntry(entry: ValidationEntry): string;
11
10
  displayValidationSummary(summary: ValidationSummary): void;
@@ -1,26 +1,26 @@
1
- import { log } from "@clack/prompts";
2
- import { replaceHTML } from "../../utils/utils.js";
3
- import { format as f } from "../format.js";
4
- import { withSpinner } from "../prompt.js";
1
+ import { log } from '@clack/prompts';
2
+ import { replaceHTML } from '../../utils/utils.js';
3
+ import { format as f } from '../format.js';
4
+ import { withSpinner } from '../prompt.js';
5
5
  export class ApiValidatePrompts {
6
6
  async validateApi(fn) {
7
- return withSpinner("Validating API", "API validation completed", "API validation failed", fn);
7
+ return withSpinner('Validating API', 'API validation completed', 'API validation failed', fn);
8
8
  }
9
9
  displayValidationMessages({ warnings, errors, messages }) {
10
10
  if (messages.length > 0) {
11
- log.info("Messages");
11
+ log.info('Messages');
12
12
  messages.forEach((msg) => {
13
13
  log.message(`${replaceHTML(msg)}`);
14
14
  });
15
15
  }
16
16
  if (warnings.length > 0) {
17
- log.warning("Warnings");
17
+ log.warn('Warnings');
18
18
  warnings.forEach((war) => {
19
19
  log.message(`${replaceHTML(war)}`);
20
20
  });
21
21
  }
22
22
  if (errors.length > 0) {
23
- log.error("Errors");
23
+ log.error('Errors');
24
24
  errors.forEach((err) => {
25
25
  log.message(`${replaceHTML(err)}`);
26
26
  });
@@ -38,25 +38,25 @@ export class ApiValidatePrompts {
38
38
  }
39
39
  displayValidationSummary(summary) {
40
40
  if (summary.blocking.length > 0) {
41
- log.error("Blocking");
41
+ log.error('Blocking');
42
42
  for (const entry of summary.blocking) {
43
43
  log.message(this.formatValidationEntry(entry));
44
44
  }
45
45
  }
46
46
  if (summary.errors.length > 0) {
47
- log.error("Errors");
47
+ log.error('Errors');
48
48
  for (const entry of summary.errors) {
49
49
  log.message(this.formatValidationEntry(entry));
50
50
  }
51
51
  }
52
52
  if (summary.warnings.length > 0) {
53
- log.warning("Warnings");
53
+ log.warn('Warnings');
54
54
  for (const entry of summary.warnings) {
55
55
  log.message(this.formatValidationEntry(entry));
56
56
  }
57
57
  }
58
58
  if (summary.information.length > 0) {
59
- log.info("Information");
59
+ log.info('Information');
60
60
  for (const entry of summary.information) {
61
61
  log.message(this.formatValidationEntry(entry));
62
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/prompts/api/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/prompts/api/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMnD,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,OAAO,kBAAkB;IACtB,KAAK,CAAC,WAAW,CAAI,EAAyC;QACnE,OAAO,WAAW,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,yBAAyB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAsB;QAC1E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrB,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,GAAG,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrB,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACvB,GAAG,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrB,GAAG,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qBAAqB,CAAC,KAAsB;QAC1C,IAAI,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC1C,SAAS,IAAI,KAAK,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,GAAG,CAAC;QACjH,CAAC;QAED,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,SAAS,IAAI,KAAK,KAAK,CAAC,iBAAiB,GAAG,CAAC;QAC/C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,wBAAwB,CAAC,OAA0B;QACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACtB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,KAAa;QAC9B,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAEM,YAAY,CAAC,YAA0B;QAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC;QAC1C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAEM,mBAAmB,CAAC,QAAkB;QAC3C,GAAG,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;CACF"}
@@ -4,10 +4,14 @@ import { FilePath } from '../types/file/filePath.js';
4
4
  export declare const format: {
5
5
  var: (text: string) => string;
6
6
  path: (text: DirectoryPath | FilePath) => string;
7
+ relative: (target: DirectoryPath | FilePath) => string;
8
+ relativePath: (target: DirectoryPath | FilePath) => string;
7
9
  cmd: (cmd: string, ...args: string[]) => string;
8
10
  cmdAlt: (cmd: string, ...args: string[]) => string;
9
11
  link: (text: string) => string;
10
12
  description: (text: string) => string;
13
+ /** Secondary text that sits under an answer rather than competing with it. */
14
+ hint: (text: string) => string;
11
15
  flag: (name: string, value?: string | undefined) => string;
12
16
  continuation: (text: string) => string;
13
17
  success: (text: string) => string;
@@ -1,13 +1,18 @@
1
1
  import pc from 'picocolors';
2
2
  import { intro as i, outro as o } from '@clack/prompts';
3
+ import { DirectoryPath } from '../types/file/directoryPath.js';
3
4
  export const format = {
4
5
  // Core element types
5
6
  var: (text) => pc.magenta(`'${text}'`),
6
7
  path: (text) => pc.cyan(`'${text}'`),
8
+ relative: (target) => target.asTypedFrom(DirectoryPath.workingDirectory()),
9
+ relativePath: (target) => pc.cyan(`'${format.relative(target)}'`),
7
10
  cmd: (cmd, ...args) => `${pc.blueBright(cmd)} ${args.map((arg) => pc.dim(arg)).join(' ')}`,
8
11
  cmdAlt: (cmd, ...args) => `${pc.dim(pc.blueBright(cmd))} ${args.map((arg) => pc.blueBright(arg)).join(' ')}`,
9
12
  link: (text) => pc.underline(pc.blueBright(text)),
10
13
  description: (text) => pc.greenBright(`${text}`),
14
+ /** Secondary text that sits under an answer rather than competing with it. */
15
+ hint: (text) => pc.gray(text),
11
16
  flag: (name, value = undefined) => {
12
17
  if (value) {
13
18
  const sanitizedValue = value.includes(' ') ? `'${value}'` : value;
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/prompts/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/prompts/format.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,29 @@
1
1
  import { Result } from 'neverthrow';
2
2
  import { ServiceError } from '../../infrastructure/service-error.js';
3
+ import { PublishingProfileItem } from '../../types/publish-api/publishing-profile-item.js';
3
4
  import { DirectoryPath } from '../../types/file/directoryPath.js';
4
5
  import { FilePath } from '../../types/file/filePath.js';
6
+ import { PluginConfig, PluginConfigWriteFailure } from '../../types/plugin-config-context.js';
7
+ import { Language } from '../../types/sdk/generate.js';
5
8
  export declare class PluginGeneratePrompts {
6
9
  generatePlugin(fn: Promise<Result<NodeJS.ReadableStream, ServiceError>>): Promise<Result<NodeJS.ReadableStream, ServiceError>>;
10
+ /** Advisory, and slow enough to look like a hang without a spinner over it. */
11
+ checkPublishingProfiles(fn: Promise<Result<PublishingProfileItem[], ServiceError>>): Promise<Result<PublishingProfileItem[], ServiceError>>;
7
12
  overwritePlugin(directory: DirectoryPath): Promise<boolean>;
8
13
  directoryCannotBeSame(directory: DirectoryPath): void;
9
- srcDirectoryDoesNotExist(directory: DirectoryPath): void;
14
+ sourceDirectoryDoesNotExist(directory: DirectoryPath): void;
10
15
  pluginDirectoryNotEmpty(): void;
11
16
  pluginGenerationError(error: string): void;
17
+ configNotPrepared(failure: PluginConfigWriteFailure, sourceDirectory: DirectoryPath): void;
12
18
  pluginConfigUnreadable(reason: string, path: FilePath): void;
13
- metadataCancelled(reason: string): void;
14
- noPublishedSdks(): void;
15
- nextStepsPublishSdks(): void;
16
- pluginGenerated(plugin: DirectoryPath): void;
17
- /**
18
- * Each assistant loads an unpublished folder its own way — a flag, a fixed directory, a settings
19
- * entry — and each documents it, so the note points at those pages rather than restating three
20
- * procedures that would then have to be kept current.
21
- */
22
- tryPluginLocally(plugin: DirectoryPath): void;
23
- nextStepsPublishPlugin(): void;
19
+ canAsk(): boolean;
20
+ setupNeedsTerminal(sourceDirectory: DirectoryPath, config: PluginConfig): void;
21
+ recordedLanguagesIncluded(languages: readonly Language[]): void;
22
+ selectLanguages(): Promise<Language[] | undefined>;
23
+ noLanguagesSelected(): void;
24
+ languagesNotIncluded(languages: readonly string[]): void;
25
+ confirmLocalPlugin(unattended: boolean): Promise<boolean>;
26
+ localPluginCancelled(): void;
27
+ previewOnly(): void;
28
+ installPluginLocally(plugin: DirectoryPath): void;
24
29
  }
@@ -1,16 +1,20 @@
1
- import { confirm, isCancel, log } from '@clack/prompts';
1
+ import { confirm, isCancel, log, multiselect } from '@clack/prompts';
2
+ import { DirectoryPath } from '../../types/file/directoryPath.js';
2
3
  import { format as f } from '../format.js';
3
- import { noteWrapped, withSpinner } from '../prompt.js';
4
- const PLUGIN_CONFIG_FILE = 'plugin-config.json';
5
- // Each link lands on the section that covers loading an unpublished folder, not the page it sits in.
6
- const CLAUDE_CODE_PLUGINS_URL = 'https://code.claude.com/docs/en/plugins#test-your-plugins-locally';
7
- const CURSOR_PLUGINS_URL = 'https://cursor.com/docs/plugins#test-plugins-locally';
8
- const VS_CODE_PLUGINS_URL = 'https://code.visualstudio.com/docs/agent-customization/agent-plugins#_use-local-plugins';
9
- const CODEX_PLUGINS_URL = 'https://developers.openai.com/plugins/build/plugins#install-a-local-plugin-manually';
4
+ import { withSpinner } from '../prompt.js';
5
+ import { APIMATIC_CONFIG_FILE_NAME } from '../../types/apimatic-config/document.js';
6
+ import { LANGUAGES_EXAMPLE } from '../../types/apimatic-config/languages-block.js';
7
+ import { AVAILABLE_LANGUAGES, languageLabel } from '../../types/sdk/generate.js';
8
+ import { listedInProse } from '../../utils/string-utils.js';
10
9
  export class PluginGeneratePrompts {
10
+ // The spinner covers the service call only; until the save has run there is no path to name.
11
11
  generatePlugin(fn) {
12
12
  return withSpinner('Generating Context Plugin', 'Plugin generated successfully.', 'Plugin Generation failed.', fn);
13
13
  }
14
+ /** Advisory, and slow enough to look like a hang without a spinner over it. */
15
+ checkPublishingProfiles(fn) {
16
+ return withSpinner('Checking your publishing profiles', 'Publishing profiles checked.', 'Could not check your publishing profiles.', fn);
17
+ }
14
18
  async overwritePlugin(directory) {
15
19
  const overwrite = await confirm({
16
20
  message: `The destination ${f.path(directory)} is not empty, do you want to overwrite?`,
@@ -25,7 +29,7 @@ export class PluginGeneratePrompts {
25
29
  const message = `The ${f.var('src')} and ${f.var('plugin')} directories must be different. Current value: ${f.path(directory)}`;
26
30
  log.error(message);
27
31
  }
28
- srcDirectoryDoesNotExist(directory) {
32
+ sourceDirectoryDoesNotExist(directory) {
29
33
  const message = `The ${f.var('src')} directory does not exist at the provided location: ${f.path(directory)}`;
30
34
  log.error(message);
31
35
  }
@@ -35,44 +39,90 @@ export class PluginGeneratePrompts {
35
39
  pluginGenerationError(error) {
36
40
  log.error(error);
37
41
  }
42
+ configNotPrepared(failure, sourceDirectory) {
43
+ const message = failure === 'unreadable'
44
+ ? `${f.var(APIMATIC_CONFIG_FILE_NAME)} in ${f.path(sourceDirectory)} could not be read. ` +
45
+ `Check that it can be read and try again.`
46
+ : `${f.var(APIMATIC_CONFIG_FILE_NAME)} in ${f.path(sourceDirectory)} starts with a byte-order mark, ` +
47
+ `which the plugin cannot be generated from, and it could not be rewritten without one. ` +
48
+ `Save the file as UTF-8 without a BOM and try again.`;
49
+ log.error(message);
50
+ }
38
51
  pluginConfigUnreadable(reason, path) {
39
- const message = `${f.var(PLUGIN_CONFIG_FILE)} cannot be used: ${reason}. ` + `Fix or delete it at ${f.path(path)} and try again.`;
52
+ const message = `${f.var(APIMATIC_CONFIG_FILE_NAME)} cannot be used: ${reason}. ` + `Fix it at ${f.path(path)} and try again.`;
40
53
  log.error(message);
41
54
  }
42
- metadataCancelled(reason) {
43
- log.warn(`${reason}. Exiting without generating a plugin.`);
44
- }
45
- noPublishedSdks() {
46
- log.info(`${f.var(PLUGIN_CONFIG_FILE)} has no published SDKs config yet.`);
47
- }
48
- nextStepsPublishSdks() {
49
- const message = `Publish SDK for the language(s) to add it to plugin-config.json. ` +
50
- `${f.var('Source Code')} details are required.\n\n` +
51
- `Run '${f.cmdAlt('apimatic', 'sdk', 'publish')}'\n\n` +
52
- `Then run '${f.cmdAlt('apimatic', 'plugin', 'generate')}'.`;
53
- noteWrapped(message, 'Next Steps');
54
- }
55
- pluginGenerated(plugin) {
56
- log.info(`Plugin artifacts can be found at ${f.path(plugin)}.`);
57
- }
58
- /**
59
- * Each assistant loads an unpublished folder its own way — a flag, a fixed directory, a settings
60
- * entry — and each documents it, so the note points at those pages rather than restating three
61
- * procedures that would then have to be kept current.
62
- */
63
- tryPluginLocally(plugin) {
64
- const message = `Load the plugin from ${f.path(plugin)} to try it before publishing.\n\n` +
65
- `${f.description('Claude Code')} ${f.link(CLAUDE_CODE_PLUGINS_URL)}\n` +
66
- `${f.description('Cursor')} ${f.link(CURSOR_PLUGINS_URL)}\n` +
67
- `${f.description('VS Code')} ${f.link(VS_CODE_PLUGINS_URL)}\n` +
68
- `${f.description('Codex')} ${f.link(CODEX_PLUGINS_URL)}`;
69
- noteWrapped(message, 'Try It Locally');
70
- }
71
- nextStepsPublishPlugin() {
72
- const message = `Publish the plugin to GitHub so the people using your SDKs can install it.
73
-
74
- ` + `Run '${f.cmdAlt('apimatic', 'plugin', 'publish')}' to see the commands.`;
75
- noteWrapped(message, 'Next Steps');
55
+ // Without a terminal a prompt never answers, and Node exits with nothing said.
56
+ canAsk() {
57
+ return process.stdin.isTTY === true;
58
+ }
59
+ setupNeedsTerminal(sourceDirectory, config) {
60
+ const command = `'${f.cmdAlt('apimatic', 'plugin', 'generate')}'`;
61
+ const configFile = `${f.var(APIMATIC_CONFIG_FILE_NAME)} in ${f.path(sourceDirectory)}`;
62
+ if (config.hasMetadata()) {
63
+ log.error(`${configFile} names no language the plugin can carry, and there is no terminal to ask which. Add one to ` +
64
+ `its ${f.var('languages')} block, for example ${LANGUAGES_EXAMPLE}, or run ${command} in a terminal.`);
65
+ return;
66
+ }
67
+ const [asked, kept] = config.hasRecordedLanguages() ? ['its name', 'it'] : ['its name and languages', 'both'];
68
+ log.error(`A project's first plugin asks for ${asked}, and there is no terminal to ask in. Run ${command} in a ` +
69
+ `terminal once; later runs read ${kept} from ${configFile}.`);
70
+ }
71
+ recordedLanguagesIncluded(languages) {
72
+ if (languages.length === 0) {
73
+ return;
74
+ }
75
+ log.info(`The plugin covers ${listedInProse(languages.map(languageLabel))}, as ${f.var(APIMATIC_CONFIG_FILE_NAME)} ` +
76
+ `records them. Edit its ${f.var('languages')} block to change that.`);
77
+ }
78
+ async selectLanguages() {
79
+ const selected = await multiselect({
80
+ message: 'Which languages should your plugin include?',
81
+ options: AVAILABLE_LANGUAGES.map((language) => ({ value: language, label: languageLabel(language) })),
82
+ initialValues: [...AVAILABLE_LANGUAGES],
83
+ required: false
84
+ });
85
+ return isCancel(selected) ? undefined : selected;
86
+ }
87
+ noLanguagesSelected() {
88
+ log.warn('No languages selected. Exiting without generating a plugin.');
89
+ }
90
+ // Saying so is the only way the omission is visible; their entries are left alone.
91
+ languagesNotIncluded(languages) {
92
+ if (languages.length === 0) {
93
+ return;
94
+ }
95
+ const [verb, entries] = languages.length === 1 ? ['is', 'its entry'] : ['are', 'their entries'];
96
+ const names = languages.map((language) => languageLabel(language)).join(', ');
97
+ log.warn(`${names} cannot be included in a context plugin and ${verb} left out of this one. ` +
98
+ `${f.var(APIMATIC_CONFIG_FILE_NAME)} keeps ${entries} unchanged.`);
99
+ }
100
+ // A recommendation, then a confirm, never a fork; a set-up project, asked nothing, gets the recommendation alone.
101
+ async confirmLocalPlugin(unattended) {
102
+ log.warn(`You have a publishing profile set up.\n` +
103
+ `We recommend publishing your SDK first for a better plugin experience.`);
104
+ if (unattended) {
105
+ return true;
106
+ }
107
+ const proceed = await confirm({
108
+ message: 'Do you still want to continue with a local plugin?',
109
+ initialValue: true
110
+ });
111
+ return isCancel(proceed) ? false : proceed;
112
+ }
113
+ localPluginCancelled() {
114
+ log.warn(`Exiting without generating a plugin. Run '${f.cmdAlt('apimatic', 'sdk', 'publish')}' to publish ` +
115
+ `your SDK first.`);
116
+ }
117
+ // Only where a profile exists: a user without one cannot act on it.
118
+ previewOnly() {
119
+ log.warn('Context plugin is preview only.\nFor production, publish your SDK and plugin.');
120
+ }
121
+ // Double quotes, not `f.path`: single quotes are not quoting to `cmd.exe`.
122
+ installPluginLocally(plugin) {
123
+ const quotedPath = `"${plugin.relativeTo(DirectoryPath.workingDirectory())}"`;
124
+ const command = f.cmdAlt('npx', 'context-plugins', 'install', quotedPath);
125
+ log.info(`Run '${command}' to install your plugin.`);
76
126
  }
77
127
  }
78
128
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/prompts/plugin/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/prompts/plugin/generate.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@ export declare class PluginPublishPrompts {
13
13
  private contentsLine;
14
14
  /**
15
15
  * Double quotes rather than `f.path`: single quotes are not quoting to `cmd.exe`, so a path
16
- * containing spaces would break the line the user pastes.
16
+ * containing spaces would break the line the user pastes. Relative where it can be, because the
17
+ * reader is standing in the directory above it.
17
18
  */
18
19
  private changeDirectory;
19
20
  private createRepository;
@@ -1,7 +1,7 @@
1
1
  import { log } from '@clack/prompts';
2
2
  import { format as f } from '../format.js';
3
3
  import { noteWrapped } from '../prompt.js';
4
- const PLUGIN_CONFIG_FILE = 'plugin-config.json';
4
+ import { APIMATIC_CONFIG_FILE_NAME } from '../../types/apimatic-config/document.js';
5
5
  const NOTE_TITLE = 'Commands to Copy and Run';
6
6
  const TAG_PREFIX = 'v';
7
7
  export class PluginPublishPrompts {
@@ -34,17 +34,17 @@ export class PluginPublishPrompts {
34
34
  log.error(message);
35
35
  }
36
36
  pluginConfigMissing(directory) {
37
- const message = `${f.var(PLUGIN_CONFIG_FILE)} was not found in ${f.path(directory)}. ` +
37
+ const message = `${f.var(APIMATIC_CONFIG_FILE_NAME)} was not found in ${f.path(directory)}. ` +
38
38
  `Run '${f.cmdAlt('apimatic', 'plugin', 'generate')}' first.`;
39
39
  log.error(message);
40
40
  }
41
41
  pluginConfigUnreadable(reason, path) {
42
- const message = `${f.var(PLUGIN_CONFIG_FILE)} cannot be used: ${reason}. ` +
43
- `Fix or delete it at ${f.path(path)}, then run '${f.cmdAlt('apimatic', 'plugin', 'generate')}'.`;
42
+ const message = `${f.var(APIMATIC_CONFIG_FILE_NAME)} cannot be used: ${reason}. ` +
43
+ `Fix it at ${f.path(path)}, then run '${f.cmdAlt('apimatic', 'plugin', 'generate')}'.`;
44
44
  log.error(message);
45
45
  }
46
46
  pluginDetailsNotSet() {
47
- const message = `${f.var(PLUGIN_CONFIG_FILE)} does not name the plugin or its version. ` +
47
+ const message = `${f.var(APIMATIC_CONFIG_FILE_NAME)} does not name the plugin or its version. ` +
48
48
  `Run '${f.cmdAlt('apimatic', 'plugin', 'generate')}' to set them.`;
49
49
  log.error(message);
50
50
  }
@@ -55,10 +55,11 @@ export class PluginPublishPrompts {
55
55
  }
56
56
  /**
57
57
  * Double quotes rather than `f.path`: single quotes are not quoting to `cmd.exe`, so a path
58
- * containing spaces would break the line the user pastes.
58
+ * containing spaces would break the line the user pastes. Relative where it can be, because the
59
+ * reader is standing in the directory above it.
59
60
  */
60
61
  changeDirectory(pluginDirectory) {
61
- return f.cmdAlt('cd', `"${pluginDirectory}"`);
62
+ return f.cmdAlt('cd', `"${f.relative(pluginDirectory)}"`);
62
63
  }
63
64
  createRepository(release) {
64
65
  return f.cmdAlt('gh', 'repo', 'create', release.pluginId, '--public', '--source=.', '--remote=origin');
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/prompts/plugin/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/prompts/plugin/publish.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export type PluginMetadataResult = {
12
12
  cancelled: string;
13
13
  };
14
14
  export declare class PluginRecordMetadataPrompts {
15
+ metadataCancelled(reason: string): void;
15
16
  spinnerAccountInfo(fn: Promise<Result<SubscriptionInfo, ServiceError>>): Promise<Result<SubscriptionInfo, ServiceError>>;
16
17
  /**
17
18
  * Required fields get a `placeholder` but no `defaultValue`, so an empty answer re-prompts.
@@ -1,10 +1,13 @@
1
1
  import { isCancel, log, text } from '@clack/prompts';
2
- import { PLUGIN_ID_PATTERN } from '../../types/plugin-config-context.js';
2
+ import { PLUGIN_ID_PATTERN } from '../../types/plugin/plugin-config.js';
3
3
  import { SemVersion } from '../../types/publish/version.js';
4
4
  import { format as f } from '../format.js';
5
5
  import { noteWrapped, withSpinner } from '../prompt.js';
6
- const PLUGIN_CONFIG_FILE = 'plugin-config.json';
6
+ import { APIMATIC_CONFIG_FILE_NAME } from '../../types/apimatic-config/document.js';
7
7
  export class PluginRecordMetadataPrompts {
8
+ metadataCancelled(reason) {
9
+ log.warn(`${reason}. Exiting without generating a plugin.`);
10
+ }
8
11
  spinnerAccountInfo(fn) {
9
12
  return withSpinner('Retrieving your subscription info', 'Subscription info retrieved', 'Subscription info retrieval failed', fn);
10
13
  }
@@ -49,21 +52,21 @@ export class PluginRecordMetadataPrompts {
49
52
  return { metadata: { pluginId, pluginName, pluginVersion } };
50
53
  }
51
54
  accountInfoUnavailable() {
52
- log.warn(`Could not read your subscription info, so the author was left out of ${f.var(PLUGIN_CONFIG_FILE)}.`);
55
+ log.warn(`Could not read your subscription info, so the author was left out of ${f.var(APIMATIC_CONFIG_FILE_NAME)}.`);
53
56
  }
54
57
  pluginConfigUnreadable() {
55
- const message = `${f.var(PLUGIN_CONFIG_FILE)} could not be read, so its plugin details were not written. ` +
56
- `Fix or delete it and try again.`;
58
+ const message = `${f.var(APIMATIC_CONFIG_FILE_NAME)} could not be read, so its plugin details were not written. ` +
59
+ `Fix it and try again.`;
57
60
  log.error(message);
58
61
  }
59
62
  pluginConfigNotWritten() {
60
- log.error(`${f.var(PLUGIN_CONFIG_FILE)} could not be written, so its plugin details were not saved.`);
63
+ log.error(`${f.var(APIMATIC_CONFIG_FILE_NAME)} could not be written, so its plugin details were not saved.`);
61
64
  }
62
65
  metadataRecorded(metadata) {
63
66
  const message = `Plugin ID: ${f.var(metadata.pluginId)}\n` +
64
67
  `Plugin Name: ${f.var(metadata.pluginName)}\n` +
65
68
  `Version: ${f.var(metadata.pluginVersion)}\n\n` +
66
- `Configuration saved to: ${f.var(PLUGIN_CONFIG_FILE)}`;
69
+ `Configuration saved to: ${f.var(APIMATIC_CONFIG_FILE_NAME)}`;
67
70
  noteWrapped(message, 'Plugin Configuration');
68
71
  }
69
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"record-metadata.js","sourceRoot":"","sources":["../../../src/prompts/plugin/record-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"record-metadata.js","sourceRoot":"","sources":["../../../src/prompts/plugin/record-metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Result } from 'neverthrow';
2
+ import { ServiceError } from '../../infrastructure/service-error.js';
3
+ import { MissingArtifacts } from '../../types/portal/generated-pages.js';
4
+ import { PortalArtifacts } from '../../types/portal/portal-artifacts.js';
5
+ /** One step for the SDKs, the samples and the plugin, because one call produces all three. */
6
+ export declare function generateArtifacts(fn: Promise<Result<PortalArtifacts, ServiceError>>): Promise<Result<PortalArtifacts, ServiceError>>;
7
+ /** For example "the SDK and SDK docs for 'python', the SDK docs for 'csharp' and the context plugin". */
8
+ export declare function describeMissingArtifacts(missing: MissingArtifacts): string;
@@ -0,0 +1,26 @@
1
+ import { format as f } from '../format.js';
2
+ import { withSpinner } from '../prompt.js';
3
+ /** One step for the SDKs, the samples and the plugin, because one call produces all three. */
4
+ export function generateArtifacts(fn) {
5
+ return withSpinner('Generating artifacts', 'Artifacts ready.', (error) => error.errorMessage, fn, {
6
+ indicator: 'timer'
7
+ });
8
+ }
9
+ /** For example "the SDK and SDK docs for 'python', the SDK docs for 'csharp' and the context plugin". */
10
+ export function describeMissingArtifacts(missing) {
11
+ const both = missing.sdks.filter((language) => missing.sdkDocs.includes(language));
12
+ const parts = [
13
+ ...named('the SDK and SDK docs for', both),
14
+ ...named('the SDK for', without(missing.sdks, both)),
15
+ ...named('the SDK docs for', without(missing.sdkDocs, both)),
16
+ ...(missing.plugin ? ['the context plugin'] : [])
17
+ ];
18
+ return parts.length > 1 ? `${parts.slice(0, -1).join(', ')} and ${parts.at(-1)}` : parts.join('');
19
+ }
20
+ function named(what, languages) {
21
+ return languages.length === 0 ? [] : [`${what} ${languages.map((language) => f.var(language)).join(', ')}`];
22
+ }
23
+ function without(languages, excluded) {
24
+ return languages.filter((language) => !excluded.includes(language));
25
+ }
26
+ //# sourceMappingURL=artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/prompts/portal/artifacts.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,8FAA8F;AAC9F,MAAM,UAAU,iBAAiB,CAAC,EAAkD;IAClF,OAAO,WAAW,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE;QAChG,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC;AACL,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,wBAAwB,CAAC,OAAyB;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG;QACZ,GAAG,KAAK,CAAC,0BAA0B,EAAE,IAAI,CAAC;QAC1C,GAAG,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpD,GAAG,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5D,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC;IACF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,KAAK,CAAC,IAAY,EAAE,SAA8B;IACzD,OAAO,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,OAAO,CAAC,SAA8B,EAAE,QAA6B;IAC5E,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { PortalAuthorizationFailure } from '../../infrastructure/services/portal-authorization-service.js';
2
+ /**
3
+ * Shared by `portal generate` and `portal serve` so the same refusal always reads the
4
+ * same way, whichever command hit it.
5
+ */
6
+ export declare function reportAuthorizationFailure(failure: PortalAuthorizationFailure): void;