@apimatic/cli 1.2.0 → 1.3.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 (168) hide show
  1. package/README.md +65 -1
  2. package/lib/actions/action-result.d.ts +1 -0
  3. package/lib/actions/action-result.js +3 -0
  4. package/lib/actions/action-result.js.map +1 -1
  5. package/lib/actions/auth/status.js +5 -1
  6. package/lib/actions/auth/status.js.map +1 -1
  7. package/lib/actions/plugin/generate.d.ts +12 -0
  8. package/lib/actions/plugin/generate.js +71 -0
  9. package/lib/actions/plugin/generate.js.map +1 -0
  10. package/lib/actions/plugin/publish.d.ts +6 -0
  11. package/lib/actions/plugin/publish.js +43 -0
  12. package/lib/actions/plugin/publish.js.map +1 -0
  13. package/lib/actions/plugin/record-metadata.d.ts +18 -0
  14. package/lib/actions/plugin/record-metadata.js +57 -0
  15. package/lib/actions/plugin/record-metadata.js.map +1 -0
  16. package/lib/actions/plugin/record-sdk.d.ts +14 -0
  17. package/lib/actions/plugin/record-sdk.js +60 -0
  18. package/lib/actions/plugin/record-sdk.js.map +1 -0
  19. package/lib/actions/portal/quickstart.js +1 -1
  20. package/lib/actions/portal/quickstart.js.map +1 -1
  21. package/lib/actions/portal/toc/new-toc.js +27 -16
  22. package/lib/actions/portal/toc/new-toc.js.map +1 -1
  23. package/lib/actions/sdk/generate.d.ts +2 -2
  24. package/lib/actions/sdk/generate.js +4 -4
  25. package/lib/actions/sdk/generate.js.map +1 -1
  26. package/lib/actions/sdk/publish/interactive.js +22 -3
  27. package/lib/actions/sdk/publish/interactive.js.map +1 -1
  28. package/lib/actions/sdk/publish/non-interactive.d.ts +2 -2
  29. package/lib/actions/sdk/publish/non-interactive.js +19 -12
  30. package/lib/actions/sdk/publish/non-interactive.js.map +1 -1
  31. package/lib/actions/sdk/publish.d.ts +2 -3
  32. package/lib/actions/sdk/publish.js +26 -5
  33. package/lib/actions/sdk/publish.js.map +1 -1
  34. package/lib/actions/sdk/quickstart.js +2 -2
  35. package/lib/actions/sdk/quickstart.js.map +1 -1
  36. package/lib/commands/plugin/generate.d.ts +14 -0
  37. package/lib/commands/plugin/generate.js +37 -0
  38. package/lib/commands/plugin/generate.js.map +1 -0
  39. package/lib/commands/plugin/publish.d.ts +11 -0
  40. package/lib/commands/plugin/publish.js +29 -0
  41. package/lib/commands/plugin/publish.js.map +1 -0
  42. package/lib/commands/portal/generate.js +1 -1
  43. package/lib/commands/portal/generate.js.map +1 -1
  44. package/lib/commands/quickstart.js +1 -1
  45. package/lib/commands/quickstart.js.map +1 -1
  46. package/lib/commands/sdk/generate.js +4 -3
  47. package/lib/commands/sdk/generate.js.map +1 -1
  48. package/lib/commands/sdk/publish.d.ts +3 -0
  49. package/lib/commands/sdk/publish.js +18 -5
  50. package/lib/commands/sdk/publish.js.map +1 -1
  51. package/lib/config/axios-config.d.ts +6 -0
  52. package/lib/config/axios-config.js +8 -2
  53. package/lib/config/axios-config.js.map +1 -1
  54. package/lib/infrastructure/generation-status-poller.d.ts +31 -0
  55. package/lib/infrastructure/generation-status-poller.js +56 -0
  56. package/lib/infrastructure/generation-status-poller.js.map +1 -0
  57. package/lib/infrastructure/service-error.d.ts +11 -1
  58. package/lib/infrastructure/service-error.js +102 -0
  59. package/lib/infrastructure/service-error.js.map +1 -1
  60. package/lib/infrastructure/services/api-service.d.ts +0 -4
  61. package/lib/infrastructure/services/api-service.js +0 -72
  62. package/lib/infrastructure/services/api-service.js.map +1 -1
  63. package/lib/infrastructure/services/plugin-service.d.ts +24 -0
  64. package/lib/infrastructure/services/plugin-service.js +141 -0
  65. package/lib/infrastructure/services/plugin-service.js.map +1 -0
  66. package/lib/infrastructure/services/portal-service.d.ts +16 -1
  67. package/lib/infrastructure/services/portal-service.js +176 -130
  68. package/lib/infrastructure/services/portal-service.js.map +1 -1
  69. package/lib/infrastructure/services/publishing-api-service.js +12 -6
  70. package/lib/infrastructure/services/publishing-api-service.js.map +1 -1
  71. package/lib/infrastructure/services/transformation-service.d.ts +1 -0
  72. package/lib/infrastructure/services/transformation-service.js +29 -14
  73. package/lib/infrastructure/services/transformation-service.js.map +1 -1
  74. package/lib/infrastructure/services/validation-service.js +1 -1
  75. package/lib/infrastructure/services/validation-service.js.map +1 -1
  76. package/lib/prompts/auth/login.js +9 -2
  77. package/lib/prompts/auth/login.js.map +1 -1
  78. package/lib/prompts/auth/status.d.ts +1 -0
  79. package/lib/prompts/auth/status.js +5 -0
  80. package/lib/prompts/auth/status.js.map +1 -1
  81. package/lib/prompts/format.d.ts +4 -3
  82. package/lib/prompts/format.js +14 -13
  83. package/lib/prompts/format.js.map +1 -1
  84. package/lib/prompts/plugin/generate.d.ts +19 -0
  85. package/lib/prompts/plugin/generate.js +64 -0
  86. package/lib/prompts/plugin/generate.js.map +1 -0
  87. package/lib/prompts/plugin/publish.d.ts +25 -0
  88. package/lib/prompts/plugin/publish.js +77 -0
  89. package/lib/prompts/plugin/publish.js.map +1 -0
  90. package/lib/prompts/plugin/record-metadata.d.ts +25 -0
  91. package/lib/prompts/plugin/record-metadata.js +70 -0
  92. package/lib/prompts/plugin/record-metadata.js.map +1 -0
  93. package/lib/prompts/plugin/record-sdk.d.ts +9 -0
  94. package/lib/prompts/plugin/record-sdk.js +40 -0
  95. package/lib/prompts/plugin/record-sdk.js.map +1 -0
  96. package/lib/prompts/portal/generate.js +1 -1
  97. package/lib/prompts/portal/generate.js.map +1 -1
  98. package/lib/prompts/portal/quickstart.d.ts +1 -1
  99. package/lib/prompts/portal/quickstart.js +12 -5
  100. package/lib/prompts/portal/quickstart.js.map +1 -1
  101. package/lib/prompts/portal/toc/new-toc.d.ts +3 -2
  102. package/lib/prompts/portal/toc/new-toc.js +7 -3
  103. package/lib/prompts/portal/toc/new-toc.js.map +1 -1
  104. package/lib/prompts/publishing/profile/list.js +8 -3
  105. package/lib/prompts/publishing/profile/list.js.map +1 -1
  106. package/lib/prompts/quickstart.js +4 -4
  107. package/lib/prompts/quickstart.js.map +1 -1
  108. package/lib/prompts/sdk/generate.d.ts +2 -0
  109. package/lib/prompts/sdk/generate.js +7 -0
  110. package/lib/prompts/sdk/generate.js.map +1 -1
  111. package/lib/prompts/sdk/publish/interactive.d.ts +6 -4
  112. package/lib/prompts/sdk/publish/interactive.js +25 -11
  113. package/lib/prompts/sdk/publish/interactive.js.map +1 -1
  114. package/lib/prompts/sdk/publish/non-interactive.d.ts +1 -6
  115. package/lib/prompts/sdk/publish/non-interactive.js +7 -49
  116. package/lib/prompts/sdk/publish/non-interactive.js.map +1 -1
  117. package/lib/prompts/sdk/publish.d.ts +15 -2
  118. package/lib/prompts/sdk/publish.js +71 -5
  119. package/lib/prompts/sdk/publish.js.map +1 -1
  120. package/lib/prompts/sdk/quickstart.js +2 -0
  121. package/lib/prompts/sdk/quickstart.js.map +1 -1
  122. package/lib/types/api/generation-status.d.ts +5 -0
  123. package/lib/types/api/generation-status.js +2 -0
  124. package/lib/types/api/generation-status.js.map +1 -0
  125. package/lib/types/build/build.d.ts +1 -0
  126. package/lib/types/build/build.js +14 -0
  127. package/lib/types/build/build.js.map +1 -1
  128. package/lib/types/file/directory.d.ts +3 -0
  129. package/lib/types/file/directory.js +13 -0
  130. package/lib/types/file/directory.js.map +1 -1
  131. package/lib/types/plugin/generation-status.d.ts +23 -0
  132. package/lib/types/plugin/generation-status.js +18 -0
  133. package/lib/types/plugin/generation-status.js.map +1 -0
  134. package/lib/types/plugin/language-entry.d.ts +9 -0
  135. package/lib/types/plugin/language-entry.js +64 -0
  136. package/lib/types/plugin/language-entry.js.map +1 -0
  137. package/lib/types/plugin/plugin-config.d.ts +72 -0
  138. package/lib/types/plugin/plugin-config.js +4 -0
  139. package/lib/types/plugin/plugin-config.js.map +1 -0
  140. package/lib/types/plugin/plugin-contents.d.ts +5 -0
  141. package/lib/types/plugin/plugin-contents.js +2 -0
  142. package/lib/types/plugin/plugin-contents.js.map +1 -0
  143. package/lib/types/plugin-config-context.d.ts +63 -0
  144. package/lib/types/plugin-config-context.js +179 -0
  145. package/lib/types/plugin-config-context.js.map +1 -0
  146. package/lib/types/plugin-context.d.ts +13 -0
  147. package/lib/types/plugin-context.js +28 -0
  148. package/lib/types/plugin-context.js.map +1 -0
  149. package/lib/types/publish/package-settings-configuration.d.ts +11 -1
  150. package/lib/types/publish/package-settings-configuration.js +1 -1
  151. package/lib/types/publish/package-settings-configuration.js.map +1 -1
  152. package/lib/types/publish/publishing-profile.d.ts +3 -2
  153. package/lib/types/publish/publishing-profile.js +24 -18
  154. package/lib/types/publish/publishing-profile.js.map +1 -1
  155. package/lib/types/publish/version.d.ts +6 -1
  156. package/lib/types/publish/version.js +2 -1
  157. package/lib/types/publish/version.js.map +1 -1
  158. package/lib/types/sdk/generate.d.ts +19 -0
  159. package/lib/types/sdk/generate.js +44 -0
  160. package/lib/types/sdk/generate.js.map +1 -1
  161. package/lib/types/toc/toc-components.d.ts +0 -1
  162. package/lib/types/toc/toc-components.js +0 -3
  163. package/lib/types/toc/toc-components.js.map +1 -1
  164. package/lib/types/utils.d.ts +1 -0
  165. package/lib/utils/utils.d.ts +1 -0
  166. package/lib/utils/utils.js +22 -0
  167. package/lib/utils/utils.js.map +1 -1
  168. package/package.json +6 -3
package/README.md CHANGED
@@ -40,6 +40,8 @@ USAGE
40
40
  * [`apimatic auth status`](#apimatic-auth-status)
41
41
  * [`apimatic autocomplete [SHELL]`](#apimatic-autocomplete-shell)
42
42
  * [`apimatic help [COMMAND]`](#apimatic-help-command)
43
+ * [`apimatic plugin generate`](#apimatic-plugin-generate)
44
+ * [`apimatic plugin publish`](#apimatic-plugin-publish)
43
45
  * [`apimatic portal copilot`](#apimatic-portal-copilot)
44
46
  * [`apimatic portal generate`](#apimatic-portal-generate)
45
47
  * [`apimatic portal recipe new`](#apimatic-portal-recipe-new)
@@ -222,6 +224,62 @@ DESCRIPTION
222
224
 
223
225
  _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/main/src/commands/help.ts)_
224
226
 
227
+ ## `apimatic plugin generate`
228
+
229
+ Generate a Claude Code context plugin for your published SDKs.
230
+
231
+ ```
232
+ USAGE
233
+ $ apimatic plugin generate [-i <value>] [-d <value>] [-f] [-k <value>]
234
+
235
+ FLAGS
236
+ -d, --destination=<value> [default: <input>/plugin] path where the plugin will be generated.
237
+ -f, --force overwrite changes without asking for user consent.
238
+ -i, --input=<value> [default: ./] path to the parent directory containing the 'src' directory, which includes
239
+ API specifications and configuration files.
240
+ -k, --auth-key=<value> override current authentication state with an authentication key.
241
+
242
+ DESCRIPTION
243
+ Generate a Claude Code context plugin for your published SDKs.
244
+
245
+ Generate a context plugin that teaches an AI coding assistant how to use your SDKs. Requires an input directory
246
+ containing a `src` directory with a `plugin-config.json`.
247
+
248
+ EXAMPLES
249
+ apimatic plugin generate
250
+
251
+ apimatic plugin generate --input="./" --destination="./plugin"
252
+ ```
253
+
254
+ _See code: [src/commands/plugin/generate.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/plugin/generate.ts)_
255
+
256
+ ## `apimatic plugin publish`
257
+
258
+ Print the git commands for publishing your context plugin to GitHub.
259
+
260
+ ```
261
+ USAGE
262
+ $ apimatic plugin publish [-i <value>] [-d <value>]
263
+
264
+ FLAGS
265
+ -d, --destination=<value> [default: <input>/plugin] path where the plugin was generated.
266
+ -i, --input=<value> [default: ./] path to the parent directory containing the 'src' directory, which includes
267
+ API specifications and configuration files.
268
+
269
+ DESCRIPTION
270
+ Print the git commands for publishing your context plugin to GitHub.
271
+
272
+ Print the commands that publish a generated context plugin to a GitHub repository. The commands are printed for you to
273
+ run — this command never touches your repository.
274
+
275
+ EXAMPLES
276
+ apimatic plugin publish
277
+
278
+ apimatic plugin publish --input="./" --destination="./plugin"
279
+ ```
280
+
281
+ _See code: [src/commands/plugin/publish.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/plugin/publish.ts)_
282
+
225
283
  ## `apimatic portal copilot`
226
284
 
227
285
  Configure API Copilot for your API Documentation portal
@@ -477,7 +535,7 @@ Generate and publish an SDK to a package registry and/or source repository
477
535
  ```
478
536
  USAGE
479
537
  $ apimatic sdk publish [-p <value>] [-v <value>] [-d <value>] [-l csharp|java|php|python|ruby|typescript] [-f]
480
- [-i <value>] [--publish-type package|sourcecode...] [--dry-run]
538
+ [-i <value>] [--publish-type package|sourcecode...] [--dry-run] [--codegen-version v3|v4] [--stability stable|beta]
481
539
 
482
540
  FLAGS
483
541
  -d, --destination=<value> [default: <input>/sdk] path where the sdk will be generated.
@@ -488,10 +546,14 @@ FLAGS
488
546
  <options: csharp|java|php|python|ruby|typescript>
489
547
  -p, --profile-id=<value> Id of the publishing profile to use.
490
548
  -v, --version=<value> Semantic version of the SDK to publish (e.g. 1.0.0).
549
+ --codegen-version=<option> [default: v3] Version of the code generator to use
550
+ <options: v3|v4>
491
551
  --dry-run Generate the SDK locally for review without publishing.
492
552
  --publish-type=<option>... One or more publishing targets: 'package' for a package registry, 'sourcecode' for a
493
553
  git repository.
494
554
  <options: package|sourcecode>
555
+ --stability=<option> [default: stable] Stability level of the generated SDK
556
+ <options: stable|beta>
495
557
 
496
558
  DESCRIPTION
497
559
  Generate and publish an SDK to a package registry and/or source repository
@@ -508,6 +570,8 @@ EXAMPLES
508
570
  apimatic sdk publish --profile-id=b2c3d4e5f6a1b2c3d4e5f6a1 --language=java --version=2.0.0 --publish-type=sourcecode
509
571
 
510
572
  apimatic sdk publish --profile-id=c3d4e5f6a1b2c3d4e5f6a1b2 --language=python --version=1.0.0 --publish-type=package --dry-run
573
+
574
+ apimatic sdk publish --profile-id=d4e5f6a1b2c3d4e5f6a1b2c3 --language=csharp --version=1.0.0 --publish-type=package --codegen-version=v4 --stability=beta
511
575
  ```
512
576
 
513
577
  _See code: [src/commands/sdk/publish.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/sdk/publish.ts)_
@@ -15,5 +15,6 @@ export declare class ActionResult<T = void> {
15
15
  match<R>(onSuccess: (value: T) => R, onFailure: (message: string) => R, onCancel: (message: string) => R): R;
16
16
  getValue(): T;
17
17
  getValueOr(defaultValue: T): T;
18
+ discardValue(): ActionResult;
18
19
  mapAll<R>(onSuccess: (value?: T) => R, onFailure: () => R, onCancel: () => R): R;
19
20
  }
@@ -56,6 +56,9 @@ export class ActionResult {
56
56
  getValueOr(defaultValue) {
57
57
  return this.isSuccess() ? this.value : defaultValue;
58
58
  }
59
+ discardValue() {
60
+ return new ActionResult(this.resultType, this.message);
61
+ }
59
62
  mapAll(onSuccess, onFailure, onCancel) {
60
63
  switch (this.resultType) {
61
64
  case ResultType.Success:
@@ -1 +1 @@
1
- {"version":3,"file":"action-result.js","sourceRoot":"","sources":["../../src/actions/action-result.ts"],"names":[],"mappings":"AAAA,IAAK,UAIJ;AAJD,WAAK,UAAU;IACb,iDAAW,CAAA;IACX,iDAAY,CAAA;IACZ,iDAAW,CAAA;AACb,CAAC,EAJI,UAAU,KAAV,UAAU,QAId;AAED,MAAM,OAAO,YAAY;IAKvB,YAAoB,UAAsB,EAAE,OAAe,EAAE,KAAS;QACpE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,OAAO,CAAI,KAAS;QACzB,OAAO,IAAI,YAAY,CAAI,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,MAAM,CAAY,OAAO,GAAG,QAAQ;QACzC,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,SAAS,CAAY,OAAO,GAAG,WAAW;QAC/C,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,OAAO,CAAY,OAAO,GAAG,SAAS;QAC3C,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO,CAAC;IAChD,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,OAAO,CAAC;IAChD,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,MAAM,CAAC;IAC/C,CAAC;IAEM,KAAK,CACV,SAA0B,EAC1B,SAAiC,EACjC,QAAgC;QAEhC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,SAAS,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;YAChC,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC,KAAM,CAAC;IACrB,CAAC;IAEM,UAAU,CAAC,YAAe;QAC/B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,CAAC,YAAY,CAAC;IACvD,CAAC;IAEM,MAAM,CACX,SAA2B,EAC3B,SAAkB,EAClB,QAAiB;QAEjB,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,SAAS,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,MAAM;gBACpB,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"action-result.js","sourceRoot":"","sources":["../../src/actions/action-result.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,11 @@ export class StatusAction {
11
11
  }
12
12
  async execute(authKey) {
13
13
  const accountInfo = await getAuthInfo(this.configDir.toString());
14
- if (accountInfo === null) {
14
+ // `auth logout` blanks config.json rather than deleting it, so a logged-out user still
15
+ // has a non-null AuthInfo with an empty key. Checking the key catches both that and a
16
+ // missing config file, and avoids a request that can only come back 401.
17
+ if (!(accountInfo === null || accountInfo === void 0 ? void 0 : accountInfo.authKey)) {
18
+ this.prompts.notLoggedIn();
15
19
  return ActionResult.failed();
16
20
  }
17
21
  const result = await this.prompts.accountInfoSpinner(this.apiService.getAccountInfo(this.configDir, this.commandMetadata.shell, authKey));
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/actions/auth/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAE1E,MAAM,OAAO,YAAY;IAIvB,YAA6B,SAAwB,EAAmB,eAAgC;QAA3E,cAAS,GAAT,SAAS,CAAe;QAAmB,oBAAe,GAAf,eAAe,CAAiB;QAHvF,YAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAE4D,CAAC;IAErG,KAAK,CAAC,OAAO,CAAC,OAAsB;QACzC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CACpF,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/actions/auth/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAE1E,MAAM,OAAO,YAAY;IAIvB,YAA6B,SAAwB,EAAmB,eAAgC;QAA3E,cAAS,GAAT,SAAS,CAAe;QAAmB,oBAAe,GAAf,eAAe,CAAiB;QAHvF,YAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAE4D,CAAC;IAErG,KAAK,CAAC,OAAO,CAAC,OAAsB;QACzC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,uFAAuF;QACvF,sFAAsF;QACtF,yEAAyE;QACzE,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAA,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CACpF,CAAC;QACF,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import { CommandMetadata } from '../../types/common/command-metadata.js';
2
+ import { DirectoryPath } from '../../types/file/directoryPath.js';
3
+ import { ActionResult } from '../action-result.js';
4
+ export declare class PluginGenerateAction {
5
+ private readonly prompts;
6
+ private readonly pluginService;
7
+ private readonly configDir;
8
+ private readonly commandMetadata;
9
+ private readonly authKey;
10
+ constructor(configDir: DirectoryPath, commandMetadata: CommandMetadata, authKey?: string | null);
11
+ readonly execute: (buildDirectory: DirectoryPath, pluginDirectory: DirectoryPath, force: boolean) => Promise<ActionResult>;
12
+ }
@@ -0,0 +1,71 @@
1
+ import { withDirPath } from '../../infrastructure/tmp-extensions.js';
2
+ import { PluginService } from '../../infrastructure/services/plugin-service.js';
3
+ import { PluginGeneratePrompts } from '../../prompts/plugin/generate.js';
4
+ import { BuildContext } from '../../types/build-context.js';
5
+ import { PluginConfigContext } from '../../types/plugin-config-context.js';
6
+ import { PluginContext } from '../../types/plugin-context.js';
7
+ import { TempContext } from '../../types/temp-context.js';
8
+ import { ActionResult } from '../action-result.js';
9
+ import { PluginRecordMetadataAction } from './record-metadata.js';
10
+ export class PluginGenerateAction {
11
+ constructor(configDir, commandMetadata, authKey = null) {
12
+ this.prompts = new PluginGeneratePrompts();
13
+ this.pluginService = new PluginService();
14
+ this.execute = async (buildDirectory, pluginDirectory, force) => {
15
+ if (buildDirectory.isEqual(pluginDirectory)) {
16
+ this.prompts.directoryCannotBeSame(pluginDirectory);
17
+ return ActionResult.failed();
18
+ }
19
+ const buildContext = new BuildContext(buildDirectory);
20
+ if (!(await buildContext.validate())) {
21
+ this.prompts.srcDirectoryEmpty(buildDirectory);
22
+ return ActionResult.failed();
23
+ }
24
+ const pluginContext = new PluginContext(pluginDirectory);
25
+ if (!force && (await pluginContext.exists()) && !(await this.prompts.overwritePlugin(pluginDirectory))) {
26
+ this.prompts.pluginDirectoryNotEmpty();
27
+ return ActionResult.cancelled();
28
+ }
29
+ let configState = await new PluginConfigContext(buildDirectory).getPluginConfigState();
30
+ if (configState.state === 'unreadable') {
31
+ this.prompts.pluginConfigUnreadable(configState.reason, configState.path);
32
+ return ActionResult.failed();
33
+ }
34
+ if (configState.state === 'missing' || !configState.hasMetadata()) {
35
+ const metadataResult = await new PluginRecordMetadataAction(this.configDir, this.commandMetadata, this.authKey).execute(buildDirectory);
36
+ if (metadataResult.isCancelled()) {
37
+ this.prompts.metadataCancelled(metadataResult.getMessage());
38
+ return ActionResult.cancelled();
39
+ }
40
+ if (!metadataResult.isSuccess()) {
41
+ return metadataResult.discardValue();
42
+ }
43
+ configState = metadataResult.getValue();
44
+ }
45
+ if (!configState.hasPublishedSdks()) {
46
+ this.prompts.noPublishedSdks();
47
+ this.prompts.nextStepsPublishSdks();
48
+ return ActionResult.success();
49
+ }
50
+ return await withDirPath(async (tempDirectory) => {
51
+ const tempContext = new TempContext(tempDirectory);
52
+ const buildZipPath = await tempContext.zip(buildDirectory);
53
+ const response = await this.prompts.generatePlugin(this.pluginService.generatePlugin(buildZipPath, this.configDir, this.commandMetadata, this.authKey));
54
+ if (response.isErr()) {
55
+ this.prompts.pluginGenerationError(response.error.errorMessage);
56
+ return ActionResult.failed();
57
+ }
58
+ const tempPluginZipPath = await tempContext.save(response.value);
59
+ await pluginContext.save(tempPluginZipPath);
60
+ this.prompts.pluginGenerated(pluginDirectory);
61
+ this.prompts.tryPluginInClaudeCode(pluginDirectory);
62
+ this.prompts.nextStepsPublishPlugin();
63
+ return ActionResult.success();
64
+ });
65
+ };
66
+ this.configDir = configDir;
67
+ this.commandMetadata = commandMetadata;
68
+ this.authKey = authKey;
69
+ }
70
+ }
71
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/actions/plugin/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { DirectoryPath } from '../../types/file/directoryPath.js';
2
+ import { ActionResult } from '../action-result.js';
3
+ export declare class PluginPublishAction {
4
+ private readonly prompts;
5
+ readonly execute: (buildDirectory: DirectoryPath, pluginDirectory: DirectoryPath) => Promise<ActionResult>;
6
+ }
@@ -0,0 +1,43 @@
1
+ import { PluginPublishPrompts } from '../../prompts/plugin/publish.js';
2
+ import { PluginConfigContext } from '../../types/plugin-config-context.js';
3
+ import { PluginContext } from '../../types/plugin-context.js';
4
+ import { ActionResult } from '../action-result.js';
5
+ export class PluginPublishAction {
6
+ constructor() {
7
+ this.prompts = new PluginPublishPrompts();
8
+ this.execute = async (buildDirectory, pluginDirectory) => {
9
+ if (buildDirectory.isEqual(pluginDirectory)) {
10
+ this.prompts.directoryCannotBeSame(pluginDirectory);
11
+ return ActionResult.failed();
12
+ }
13
+ const pluginContext = new PluginContext(pluginDirectory);
14
+ if (!(await pluginContext.exists())) {
15
+ this.prompts.pluginNotGenerated(pluginDirectory);
16
+ return ActionResult.failed();
17
+ }
18
+ const configState = await new PluginConfigContext(buildDirectory).getPluginConfigState();
19
+ if (configState.state === 'unreadable') {
20
+ this.prompts.pluginConfigUnreadable(configState.reason, configState.path);
21
+ return ActionResult.failed();
22
+ }
23
+ if (configState.state === 'missing') {
24
+ this.prompts.pluginConfigMissing(buildDirectory);
25
+ return ActionResult.failed();
26
+ }
27
+ const release = configState.getRelease();
28
+ if (!release) {
29
+ this.prompts.pluginDetailsNotSet();
30
+ return ActionResult.failed();
31
+ }
32
+ const contents = await pluginContext.describeContents();
33
+ if (await pluginContext.isGitInitialized()) {
34
+ this.prompts.updateInstructions(release, contents, pluginDirectory);
35
+ }
36
+ else {
37
+ this.prompts.firstPublishInstructions(release, contents, pluginDirectory);
38
+ }
39
+ return ActionResult.success();
40
+ };
41
+ }
42
+ }
43
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../src/actions/plugin/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,MAAM,OAAO,mBAAmB;IAAhC;QACmB,YAAO,GAAyB,IAAI,oBAAoB,EAAE,CAAC;QAE5D,YAAO,GAAG,KAAK,EAC7B,cAA6B,EAC7B,eAA8B,EACP,EAAE;YACzB,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;gBACpD,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC;YACzD,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;gBACjD,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC,oBAAoB,EAAE,CAAC;YACzF,IAAI,WAAW,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC1E,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAED,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;gBACjD,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBACnC,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,gBAAgB,EAAE,CAAC;YAExD,IAAI,MAAM,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC3C,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC5E,CAAC;YAED,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC;CAAA"}
@@ -0,0 +1,18 @@
1
+ import { CommandMetadata } from '../../types/common/command-metadata.js';
2
+ import { DirectoryPath } from '../../types/file/directoryPath.js';
3
+ import { PluginConfigPresent } from '../../types/plugin-config-context.js';
4
+ import { ActionResult } from '../action-result.js';
5
+ /**
6
+ * Only `plugin generate` writes the plugin's identity: `sdk publish` records languages and leaves
7
+ * identity alone, so a project can be published from long before anyone decides to build a context
8
+ * plugin.
9
+ */
10
+ export declare class PluginRecordMetadataAction {
11
+ private readonly prompts;
12
+ private readonly apiService;
13
+ private readonly configDir;
14
+ private readonly commandMetadata;
15
+ private readonly authKey;
16
+ constructor(configDir: DirectoryPath, commandMetadata: CommandMetadata, authKey?: string | null);
17
+ readonly execute: (buildDirectory: DirectoryPath) => Promise<ActionResult<PluginConfigPresent>>;
18
+ }
@@ -0,0 +1,57 @@
1
+ import { ApiService } from '../../infrastructure/services/api-service.js';
2
+ import { PluginRecordMetadataPrompts } from '../../prompts/plugin/record-metadata.js';
3
+ import { PluginConfigContext } from '../../types/plugin-config-context.js';
4
+ import { ActionResult } from '../action-result.js';
5
+ /**
6
+ * Suggested in the prompts as an example of the shape each field takes.
7
+ */
8
+ const DEFAULT_METADATA = {
9
+ pluginId: 'acme-payments',
10
+ pluginName: 'Acme Payments',
11
+ pluginVersion: '0.1.0'
12
+ };
13
+ /**
14
+ * Only `plugin generate` writes the plugin's identity: `sdk publish` records languages and leaves
15
+ * identity alone, so a project can be published from long before anyone decides to build a context
16
+ * plugin.
17
+ */
18
+ export class PluginRecordMetadataAction {
19
+ constructor(configDir, commandMetadata, authKey = null) {
20
+ this.prompts = new PluginRecordMetadataPrompts();
21
+ this.apiService = new ApiService();
22
+ this.execute = async (buildDirectory) => {
23
+ const input = await this.prompts.inputPluginMetadata(DEFAULT_METADATA);
24
+ if ('cancelled' in input) {
25
+ return ActionResult.cancelled(input.cancelled);
26
+ }
27
+ const metadata = input.metadata;
28
+ const account = await this.prompts.spinnerAccountInfo(this.apiService.getAccountInfo(this.configDir, this.commandMetadata.shell, this.authKey));
29
+ if (account.isErr()) {
30
+ this.prompts.accountInfoUnavailable();
31
+ }
32
+ const author = account.isOk() ? authorOf(account.value) : undefined;
33
+ const writeResult = await new PluginConfigContext(buildDirectory).upsertMetadata(metadata, author);
34
+ if (writeResult.isErr()) {
35
+ switch (writeResult.error) {
36
+ case 'unreadable':
37
+ this.prompts.pluginConfigUnreadable();
38
+ return ActionResult.failed();
39
+ case 'unwritable':
40
+ this.prompts.pluginConfigNotWritten();
41
+ return ActionResult.failed();
42
+ default:
43
+ throw writeResult.error;
44
+ }
45
+ }
46
+ this.prompts.metadataRecorded(metadata);
47
+ return ActionResult.success(writeResult.value);
48
+ };
49
+ this.configDir = configDir;
50
+ this.commandMetadata = commandMetadata;
51
+ this.authKey = authKey;
52
+ }
53
+ }
54
+ function authorOf(account) {
55
+ return account.FullName ? { name: account.FullName, email: account.Email || undefined } : undefined;
56
+ }
57
+ //# sourceMappingURL=record-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-metadata.js","sourceRoot":"","sources":["../../../src/actions/plugin/record-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAKtF,OAAO,EAAE,mBAAmB,EAAuB,MAAM,sCAAsC,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;GAEG;AACH,MAAM,gBAAgB,GAAmB;IACvC,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,eAAe;IAC3B,aAAa,EAAE,OAAO;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,0BAA0B;IAOrC,YAAY,SAAwB,EAAE,eAAgC,EAAE,UAAyB,IAAI;QANpF,YAAO,GAAgC,IAAI,2BAA2B,EAAE,CAAC;QACzE,eAAU,GAAe,IAAI,UAAU,EAAE,CAAC;QAW3C,YAAO,GAAG,KAAK,EAC7B,cAA6B,EACe,EAAE;YAC9C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YACvE,IAAI,WAAW,IAAI,KAAK,EAAE,CAAC;gBACzB,OAAO,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CACnD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CACzF,CAAC;YACF,IAAI,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACxC,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,MAAM,WAAW,GAAG,MAAM,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnG,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;gBACxB,QAAQ,WAAW,CAAC,KAAK,EAAE,CAAC;oBAC1B,KAAK,YAAY;wBACf,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;wBACtC,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;oBAC/B,KAAK,YAAY;wBACf,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;wBACtC,OAAO,YAAY,CAAC,MAAM,EAAE,CAAC;oBAC/B;wBACE,MAAM,WAAW,CAAC,KAAqB,CAAC;gBAC5C,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACxC,OAAO,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC;QAtCA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CAoCF;AAED,SAAS,QAAQ,CAAC,OAAyB;IACzC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACtG,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { DirectoryPath } from '../../types/file/directoryPath.js';
2
+ import { PublishType } from '../../types/publish-api/publishing-profile-item.js';
3
+ import { PublishingProfile } from '../../types/publish/publishing-profile.js';
4
+ import { SemVersion } from '../../types/publish/version.js';
5
+ import { CodeGenerationVersion, Language } from '../../types/sdk/generate.js';
6
+ import { ActionResult } from '../action-result.js';
7
+ /**
8
+ * Callers discard the result: this runs after a publish that already succeeded, and no outcome here
9
+ * may change that.
10
+ */
11
+ export declare class PluginRecordSdkAction {
12
+ private readonly prompts;
13
+ readonly execute: (buildDirectory: DirectoryPath, language: Language, publishingProfile: PublishingProfile, publishTypes: PublishType[], packageVersion: SemVersion, codegenVersion: CodeGenerationVersion, isInteractive: boolean) => Promise<ActionResult>;
14
+ }
@@ -0,0 +1,60 @@
1
+ import { PluginRecordSdkPrompts } from '../../prompts/plugin/record-sdk.js';
2
+ import { buildLanguageEntry } from '../../types/plugin/language-entry.js';
3
+ import { PluginConfigContext } from '../../types/plugin-config-context.js';
4
+ import { PublishType } from '../../types/publish-api/publishing-profile-item.js';
5
+ import { ActionResult } from '../action-result.js';
6
+ /**
7
+ * Callers discard the result: this runs after a publish that already succeeded, and no outcome here
8
+ * may change that.
9
+ */
10
+ export class PluginRecordSdkAction {
11
+ constructor() {
12
+ this.prompts = new PluginRecordSdkPrompts();
13
+ this.execute = async (buildDirectory, language, publishingProfile, publishTypes, packageVersion, codegenVersion, isInteractive) => {
14
+ // The entry has to describe what this run published, not what the profile happens to enable.
15
+ // A package-only run must not claim a repository it never pushed to, nor a source-only run a
16
+ // package that was never released.
17
+ const entry = buildLanguageEntry(language, publishTypes.includes(PublishType.SourceCodePublishing)
18
+ ? publishingProfile.getGitConfigurationForLanguage(language)
19
+ : undefined, publishTypes.includes(PublishType.PackagePublishing)
20
+ ? publishingProfile.getPackageConfigurationDataForLanguage(language)
21
+ : undefined, packageVersion, codegenVersion);
22
+ const pluginConfigContext = new PluginConfigContext(buildDirectory);
23
+ const configState = await pluginConfigContext.getPluginConfigState();
24
+ if (configState.state === 'unreadable') {
25
+ this.prompts.pluginConfigUnreadable(configState.reason);
26
+ return ActionResult.failed();
27
+ }
28
+ const configExisted = configState.state === 'present';
29
+ if (configExisted) {
30
+ const result = configState.assertNoCodegenVersionMismatch(codegenVersion, language, entry);
31
+ if (result.isErr()) {
32
+ this.prompts.codegenVersionMismatch(language, result.error.actual, result.error.expected);
33
+ if (isInteractive && !(await this.prompts.confirmCodegenVersionOverwrite())) {
34
+ return ActionResult.cancelled();
35
+ }
36
+ }
37
+ }
38
+ if (!entry.source && (!configExisted || configState.hasNoSourceRepository(language))) {
39
+ this.prompts.noSourceRepository(language);
40
+ }
41
+ const writeResult = await pluginConfigContext.upsertLanguage(language, entry);
42
+ if (writeResult.isErr()) {
43
+ switch (writeResult.error) {
44
+ // Readable a moment ago, so this only happens if the file changed underneath us.
45
+ case 'unreadable':
46
+ this.prompts.pluginConfigUnreadable();
47
+ return ActionResult.failed();
48
+ case 'unwritable':
49
+ this.prompts.pluginConfigNotWritten();
50
+ return ActionResult.failed();
51
+ default:
52
+ throw writeResult.error;
53
+ }
54
+ }
55
+ this.prompts.sdkRecorded(language, configExisted);
56
+ return ActionResult.success();
57
+ };
58
+ }
59
+ }
60
+ //# sourceMappingURL=record-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-sdk.js","sourceRoot":"","sources":["../../../src/actions/plugin/record-sdk.ts"],"names":[],"mappings":"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"}
@@ -222,7 +222,7 @@ export class PortalQuickstartAction {
222
222
  const portalDirectory = inputDirectory.join('portal');
223
223
  const portalServeAction = new PortalServeAction(this.configDir, this.commandMetadata, null);
224
224
  const result = await portalServeAction.execute(sourceDirectory, portalDirectory, defaultPort, true, false, () => {
225
- this.prompts.nextSteps();
225
+ this.prompts.nextSteps(prunedConfig.hasAiIntegration());
226
226
  });
227
227
  if (result.isFailed()) {
228
228
  return ActionResult.failed();
@@ -1 +1 @@
1
- {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/actions/portal/quickstart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../../src/actions/portal/quickstart.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { TocComponents } from '../../../types/toc/toc-components.js';
8
8
  import { withDirPath } from '../../../infrastructure/tmp-extensions.js';
9
9
  import { TempContext } from '../../../types/temp-context.js';
10
10
  import { PortalService } from '../../../infrastructure/services/portal-service.js';
11
+ import { err, ok } from 'neverthrow';
11
12
  export class ContentContext {
12
13
  constructor(contentDirectory) {
13
14
  this.contentDirectory = contentDirectory;
@@ -37,6 +38,15 @@ export class PortalNewTocAction {
37
38
  this.prompts.invalidBuildDirectory(buildDirectory);
38
39
  return ActionResult.failed();
39
40
  }
41
+ const specDirectory = buildDirectory.join('spec');
42
+ if (!(await this.fileService.directoryExists(specDirectory))) {
43
+ this.prompts.specDirectoryNotFound(buildDirectory);
44
+ return ActionResult.failed();
45
+ }
46
+ if (!(await buildContext.getSpecContext().validate())) {
47
+ this.prompts.specDirectoryEmpty(buildDirectory);
48
+ return ActionResult.failed();
49
+ }
40
50
  const buildConfig = await buildContext.getBuildFileContents();
41
51
  const contentDirectory = buildDirectory.join(buildConfig.contentFolder());
42
52
  const tocDir = tocDirectory !== null && tocDirectory !== void 0 ? tocDirectory : contentDirectory;
@@ -45,25 +55,26 @@ export class PortalNewTocAction {
45
55
  this.prompts.tocFileAlreadyExists();
46
56
  return ActionResult.cancelled();
47
57
  }
48
- const tocComponents = await (async () => {
49
- const specDirectory = buildDirectory.join('spec');
50
- if (!(await this.fileService.directoryExists(specDirectory))) {
51
- this.prompts.fallingBackToDefault();
52
- return TocComponents.empty();
53
- }
54
- return await withDirPath(async (tempDirectory) => {
55
- const tempContext = new TempContext(tempDirectory);
56
- const specZipPath = await tempContext.zip(specDirectory);
57
- const specFileStream = await this.fileService.getStream(specZipPath);
58
+ const tocComponentsResult = await withDirPath(async (tempDirectory) => {
59
+ const tempContext = new TempContext(tempDirectory);
60
+ const specZipPath = await tempContext.zip(specDirectory);
61
+ const specFileStream = await this.fileService.getStream(specZipPath);
62
+ try {
58
63
  const result = await this.prompts.extractTocData(this.portalService.generateTocData(specFileStream, this.configDirectory, this.commandMetadata), expandEndpoints, expandModels, expandWebhooks, expandCallbacks);
59
- specFileStream.close();
60
64
  if (result.isErr()) {
61
- this.prompts.fallingBackToDefault();
62
- return TocComponents.empty();
65
+ return err(result.error);
63
66
  }
64
- return TocComponents.fromTocData(result.value);
65
- });
66
- })();
67
+ return ok(TocComponents.fromTocData(result.value));
68
+ }
69
+ finally {
70
+ specFileStream.close();
71
+ }
72
+ });
73
+ if (tocComponentsResult.isErr()) {
74
+ this.prompts.tocExtractionFailed(tocComponentsResult.error.errorMessage);
75
+ return ActionResult.failed();
76
+ }
77
+ const tocComponents = tocComponentsResult.value;
67
78
  const contentContext = new ContentContext(contentDirectory);
68
79
  const contentExists = await contentContext.exists();
69
80
  let contentGroups;