alpic 0.0.0-dev.gfa9d048 → 0.0.0-dev.gfaab94f

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 (242) hide show
  1. package/README.md +18 -0
  2. package/bin/run.js +15 -1
  3. package/dist/__tests__/alpic-command.test.js +8 -4
  4. package/dist/__tests__/alpic-command.test.js.map +1 -1
  5. package/dist/__tests__/audit.e2e.test.js +17 -30
  6. package/dist/__tests__/audit.e2e.test.js.map +1 -1
  7. package/dist/__tests__/auth.e2e.test.js +9 -23
  8. package/dist/__tests__/auth.e2e.test.js.map +1 -1
  9. package/dist/__tests__/deploy-flags.e2e.test.js +6 -21
  10. package/dist/__tests__/deploy-flags.e2e.test.js.map +1 -1
  11. package/dist/__tests__/deploy.e2e.test.js +5 -21
  12. package/dist/__tests__/deploy.e2e.test.js.map +1 -1
  13. package/dist/__tests__/deployment-inspect.e2e.test.js +18 -31
  14. package/dist/__tests__/deployment-inspect.e2e.test.js.map +1 -1
  15. package/dist/__tests__/deployment-list.e2e.test.js +18 -31
  16. package/dist/__tests__/deployment-list.e2e.test.js.map +1 -1
  17. package/dist/__tests__/deployment-logs.e2e.test.js +15 -29
  18. package/dist/__tests__/deployment-logs.e2e.test.js.map +1 -1
  19. package/dist/__tests__/environment-delete.e2e.test.d.ts +1 -0
  20. package/dist/__tests__/environment-delete.e2e.test.js +95 -0
  21. package/dist/__tests__/environment-delete.e2e.test.js.map +1 -0
  22. package/dist/__tests__/environment-list.e2e.test.js +6 -22
  23. package/dist/__tests__/environment-list.e2e.test.js.map +1 -1
  24. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js +19 -31
  25. package/dist/__tests__/environment-variable/environment-variable-add.e2e.test.js.map +1 -1
  26. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js +19 -31
  27. package/dist/__tests__/environment-variable/environment-variable-list.e2e.test.js.map +1 -1
  28. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js +18 -31
  29. package/dist/__tests__/environment-variable/environment-variable-remove.e2e.test.js.map +1 -1
  30. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js +18 -31
  31. package/dist/__tests__/environment-variable/environment-variable-update.e2e.test.js.map +1 -1
  32. package/dist/__tests__/git-flags.e2e.test.js +6 -22
  33. package/dist/__tests__/git-flags.e2e.test.js.map +1 -1
  34. package/dist/__tests__/git.e2e.test.js +7 -22
  35. package/dist/__tests__/git.e2e.test.js.map +1 -1
  36. package/dist/__tests__/insights-category.e2e.test.d.ts +1 -0
  37. package/dist/__tests__/insights-category.e2e.test.js +247 -0
  38. package/dist/__tests__/insights-category.e2e.test.js.map +1 -0
  39. package/dist/__tests__/insights.e2e.test.d.ts +1 -0
  40. package/dist/__tests__/insights.e2e.test.js +193 -0
  41. package/dist/__tests__/insights.e2e.test.js.map +1 -0
  42. package/dist/__tests__/logs.e2e.test.js +21 -35
  43. package/dist/__tests__/logs.e2e.test.js.map +1 -1
  44. package/dist/__tests__/mock-api.d.ts +26 -1
  45. package/dist/__tests__/mock-api.js +313 -46
  46. package/dist/__tests__/mock-api.js.map +1 -1
  47. package/dist/__tests__/playground/playground-configure.e2e.test.js +18 -26
  48. package/dist/__tests__/playground/playground-configure.e2e.test.js.map +1 -1
  49. package/dist/__tests__/playground/playground-enable-disable.e2e.test.js +18 -26
  50. package/dist/__tests__/playground/playground-enable-disable.e2e.test.js.map +1 -1
  51. package/dist/__tests__/playground/playground-example-prompt.e2e.test.js +24 -30
  52. package/dist/__tests__/playground/playground-example-prompt.e2e.test.js.map +1 -1
  53. package/dist/__tests__/playground/playground-headers.e2e.test.js +18 -26
  54. package/dist/__tests__/playground/playground-headers.e2e.test.js.map +1 -1
  55. package/dist/__tests__/playground/playground-status.e2e.test.js +18 -26
  56. package/dist/__tests__/playground/playground-status.e2e.test.js.map +1 -1
  57. package/dist/__tests__/project-list.e2e.test.js +5 -21
  58. package/dist/__tests__/project-list.e2e.test.js.map +1 -1
  59. package/dist/__tests__/publish.e2e.test.js +6 -24
  60. package/dist/__tests__/publish.e2e.test.js.map +1 -1
  61. package/dist/__tests__/submission.e2e.test.d.ts +1 -0
  62. package/dist/__tests__/submission.e2e.test.js +173 -0
  63. package/dist/__tests__/submission.e2e.test.js.map +1 -0
  64. package/dist/__tests__/team-inspect.e2e.test.js +26 -1
  65. package/dist/__tests__/team-inspect.e2e.test.js.map +1 -1
  66. package/dist/__tests__/team-list.e2e.test.js +5 -21
  67. package/dist/__tests__/team-list.e2e.test.js.map +1 -1
  68. package/dist/__tests__/tunnel.e2e.test.js +114 -23
  69. package/dist/__tests__/tunnel.e2e.test.js.map +1 -1
  70. package/dist/__tests__/utils.d.ts +17 -6
  71. package/dist/__tests__/utils.js +49 -20
  72. package/dist/__tests__/utils.js.map +1 -1
  73. package/dist/api.d.ts +1 -1
  74. package/dist/api.js +2 -21
  75. package/dist/api.js.map +1 -1
  76. package/dist/commands/audit.js +3 -1
  77. package/dist/commands/audit.js.map +1 -1
  78. package/dist/commands/deploy.js +71 -54
  79. package/dist/commands/deploy.js.map +1 -1
  80. package/dist/commands/deployment/list.js +3 -3
  81. package/dist/commands/deployment/list.js.map +1 -1
  82. package/dist/commands/environment/delete.d.ts +13 -0
  83. package/dist/commands/environment/delete.js +45 -0
  84. package/dist/commands/environment/delete.js.map +1 -0
  85. package/dist/commands/environment/inspect.js +3 -3
  86. package/dist/commands/environment/inspect.js.map +1 -1
  87. package/dist/commands/environment/list.js +3 -3
  88. package/dist/commands/environment/list.js.map +1 -1
  89. package/dist/commands/git/connect.js +2 -2
  90. package/dist/commands/git/connect.js.map +1 -1
  91. package/dist/commands/git/disconnect.js +2 -2
  92. package/dist/commands/git/disconnect.js.map +1 -1
  93. package/dist/commands/insights/category/create.d.ts +17 -0
  94. package/dist/commands/insights/category/create.js +63 -0
  95. package/dist/commands/insights/category/create.js.map +1 -0
  96. package/dist/commands/insights/category/delete.d.ts +13 -0
  97. package/dist/commands/insights/category/delete.js +40 -0
  98. package/dist/commands/insights/category/delete.js.map +1 -0
  99. package/dist/commands/insights/category/link.d.ts +14 -0
  100. package/dist/commands/insights/category/link.js +36 -0
  101. package/dist/commands/insights/category/link.js.map +1 -0
  102. package/dist/commands/insights/category/list.d.ts +13 -0
  103. package/dist/commands/insights/category/list.js +46 -0
  104. package/dist/commands/insights/category/list.js.map +1 -0
  105. package/dist/commands/insights/category/unlink.d.ts +14 -0
  106. package/dist/commands/insights/category/unlink.js +36 -0
  107. package/dist/commands/insights/category/unlink.js.map +1 -0
  108. package/dist/commands/insights/category/update.d.ts +16 -0
  109. package/dist/commands/insights/category/update.js +45 -0
  110. package/dist/commands/insights/category/update.js.map +1 -0
  111. package/dist/commands/insights/feedback/list.d.ts +19 -0
  112. package/dist/commands/insights/feedback/list.js +73 -0
  113. package/dist/commands/insights/feedback/list.js.map +1 -0
  114. package/dist/commands/insights/intent/list.d.ts +22 -0
  115. package/dist/commands/insights/intent/list.js +89 -0
  116. package/dist/commands/insights/intent/list.js.map +1 -0
  117. package/dist/commands/link.js +4 -3
  118. package/dist/commands/link.js.map +1 -1
  119. package/dist/commands/login.js +7 -5
  120. package/dist/commands/login.js.map +1 -1
  121. package/dist/commands/logout.js +1 -1
  122. package/dist/commands/logout.js.map +1 -1
  123. package/dist/commands/logs.js +1 -9
  124. package/dist/commands/logs.js.map +1 -1
  125. package/dist/commands/playground/example-prompt/add.js +1 -1
  126. package/dist/commands/project/inspect.js +3 -3
  127. package/dist/commands/project/inspect.js.map +1 -1
  128. package/dist/commands/project/list.js +3 -3
  129. package/dist/commands/project/list.js.map +1 -1
  130. package/dist/commands/submission/create.d.ts +15 -0
  131. package/dist/commands/submission/create.js +59 -0
  132. package/dist/commands/submission/create.js.map +1 -0
  133. package/dist/commands/submission/inspect.d.ts +10 -0
  134. package/dist/commands/submission/inspect.js +56 -0
  135. package/dist/commands/submission/inspect.js.map +1 -0
  136. package/dist/commands/submission/list.d.ts +13 -0
  137. package/dist/commands/submission/list.js +63 -0
  138. package/dist/commands/submission/list.js.map +1 -0
  139. package/dist/commands/submission/update.d.ts +12 -0
  140. package/dist/commands/submission/update.js +37 -0
  141. package/dist/commands/submission/update.js.map +1 -0
  142. package/dist/commands/team/inspect.js +25 -10
  143. package/dist/commands/team/inspect.js.map +1 -1
  144. package/dist/commands/team/list.js +3 -3
  145. package/dist/commands/team/list.js.map +1 -1
  146. package/dist/commands/tunnel.js +30 -66
  147. package/dist/commands/tunnel.js.map +1 -1
  148. package/dist/commands/whoami.js +1 -1
  149. package/dist/commands/whoami.js.map +1 -1
  150. package/dist/lib/agent-mode.d.ts +8 -1
  151. package/dist/lib/agent-mode.js +25 -26
  152. package/dist/lib/agent-mode.js.map +1 -1
  153. package/dist/lib/alpic-command.d.ts +2 -1
  154. package/dist/lib/alpic-command.js +20 -8
  155. package/dist/lib/alpic-command.js.map +1 -1
  156. package/dist/lib/alpic-sdk.d.ts +2 -0
  157. package/dist/lib/alpic-sdk.js +8 -0
  158. package/dist/lib/alpic-sdk.js.map +1 -0
  159. package/dist/lib/audit.d.ts +1 -0
  160. package/dist/lib/audit.js +24 -15
  161. package/dist/lib/audit.js.map +1 -1
  162. package/dist/lib/base-workflow.d.ts +2 -1
  163. package/dist/lib/base-workflow.js +3 -3
  164. package/dist/lib/base-workflow.js.map +1 -1
  165. package/dist/lib/deployment.d.ts +0 -21
  166. package/dist/lib/deployment.js +20 -69
  167. package/dist/lib/deployment.js.map +1 -1
  168. package/dist/lib/environment-variable.js +14 -13
  169. package/dist/lib/environment-variable.js.map +1 -1
  170. package/dist/lib/insights.d.ts +19 -0
  171. package/dist/lib/insights.js +54 -0
  172. package/dist/lib/insights.js.map +1 -0
  173. package/dist/lib/link.d.ts +1 -2
  174. package/dist/lib/link.js +20 -75
  175. package/dist/lib/link.js.map +1 -1
  176. package/dist/lib/logs.js +4 -5
  177. package/dist/lib/logs.js.map +1 -1
  178. package/dist/lib/playground.js +27 -27
  179. package/dist/lib/playground.js.map +1 -1
  180. package/dist/lib/project-settings.d.ts +7 -0
  181. package/dist/lib/project-settings.js +140 -0
  182. package/dist/lib/project-settings.js.map +1 -0
  183. package/dist/lib/project-settings.test.d.ts +1 -0
  184. package/dist/lib/project-settings.test.js +56 -0
  185. package/dist/lib/project-settings.test.js.map +1 -0
  186. package/dist/lib/publish.js +3 -3
  187. package/dist/lib/publish.js.map +1 -1
  188. package/dist/lib/resolve.d.ts +7 -6
  189. package/dist/lib/resolve.js +27 -23
  190. package/dist/lib/resolve.js.map +1 -1
  191. package/dist/lib/submission.d.ts +13 -0
  192. package/dist/lib/submission.js +52 -0
  193. package/dist/lib/submission.js.map +1 -0
  194. package/dist/lib/telemetry.js +24 -17
  195. package/dist/lib/telemetry.js.map +1 -1
  196. package/dist/lib/utils.d.ts +9 -1
  197. package/dist/lib/utils.js +28 -2
  198. package/dist/lib/utils.js.map +1 -1
  199. package/dist/lib/utils.test.js +43 -5
  200. package/dist/lib/utils.test.js.map +1 -1
  201. package/dist/lib/whoami.js +17 -0
  202. package/dist/lib/whoami.js.map +1 -0
  203. package/dist/sentry.js +3 -6
  204. package/dist/sentry.js.map +1 -1
  205. package/package.json +28 -32
  206. package/dist/lib/archive.d.ts +0 -7
  207. package/dist/lib/archive.js +0 -57
  208. package/dist/lib/archive.js.map +0 -1
  209. package/dist/lib/auth/auth.d.ts +0 -5
  210. package/dist/lib/auth/auth.js +0 -50
  211. package/dist/lib/auth/auth.js.map +0 -1
  212. package/dist/lib/auth/oauth/client.d.ts +0 -28
  213. package/dist/lib/auth/oauth/client.js +0 -116
  214. package/dist/lib/auth/oauth/client.js.map +0 -1
  215. package/dist/lib/auth/oauth/constants.d.ts +0 -2
  216. package/dist/lib/auth/oauth/constants.js +0 -3
  217. package/dist/lib/auth/oauth/constants.js.map +0 -1
  218. package/dist/lib/auth/oauth/server/assets/alpic-mountain.png +0 -0
  219. package/dist/lib/auth/oauth/server/assets/authorize.html +0 -234
  220. package/dist/lib/auth/oauth/server/assets/callback.html +0 -88
  221. package/dist/lib/auth/oauth/server/index.d.ts +0 -9
  222. package/dist/lib/auth/oauth/server/index.js +0 -128
  223. package/dist/lib/auth/oauth/server/index.js.map +0 -1
  224. package/dist/lib/auth/whoami.js +0 -47
  225. package/dist/lib/auth/whoami.js.map +0 -1
  226. package/dist/lib/config.d.ts +0 -12
  227. package/dist/lib/config.js +0 -32
  228. package/dist/lib/config.js.map +0 -1
  229. package/dist/lib/global-store.d.ts +0 -28
  230. package/dist/lib/global-store.js +0 -76
  231. package/dist/lib/global-store.js.map +0 -1
  232. package/dist/lib/upload.d.ts +0 -1
  233. package/dist/lib/upload.js +0 -13
  234. package/dist/lib/upload.js.map +0 -1
  235. package/dist/lib/vendor/pipenet.d.ts +0 -1
  236. package/dist/lib/vendor/pipenet.js +0 -15626
  237. package/dist/lib/vendor/pipenet.js.LEGAL.txt +0 -17
  238. package/dist/lib/vendor/pipenet.js.map +0 -7
  239. package/dist/types.d.ts +0 -8
  240. package/dist/types.js +0 -2
  241. package/dist/types.js.map +0 -1
  242. /package/dist/lib/{auth/whoami.d.ts → whoami.d.ts} +0 -0
@@ -1,5 +1,6 @@
1
1
  import * as p from "@clack/prompts";
2
2
  import { Command } from "@oclif/core";
3
+ import { type LogLevels } from "./agent-mode.js";
3
4
  export declare abstract class AlpicCommand extends Command {
4
5
  static baseFlags: {
5
6
  "non-interactive": import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -8,6 +9,6 @@ export declare abstract class AlpicCommand extends Command {
8
9
  ensureAuthenticated(flags: {
9
10
  "non-interactive"?: boolean;
10
11
  }): Promise<void>;
11
- protected spinner(): p.SpinnerResult;
12
+ protected logger(levels?: LogLevels): p.SpinnerResult;
12
13
  protected exitWithErrorMessage(message: string, cause?: unknown): never;
13
14
  }
@@ -1,9 +1,9 @@
1
1
  import * as p from "@clack/prompts";
2
2
  import { Command, Errors, Flags } from "@oclif/core";
3
3
  import { ORPCError } from "@orpc/client";
4
- import { createSpinner } from "./agent-mode.js";
5
- import { isAuthenticated, oauthLogin } from "./auth/auth.js";
6
- import { config } from "./config.js";
4
+ import { createLogger } from "./agent-mode.js";
5
+ import { alpic } from "./alpic-sdk.js";
6
+ import { getResponseErrorStatus } from "./utils.js";
7
7
  export class AlpicCommand extends Command {
8
8
  static baseFlags = {
9
9
  "non-interactive": Flags.boolean({
@@ -13,28 +13,40 @@ export class AlpicCommand extends Command {
13
13
  };
14
14
  async catch(error) {
15
15
  if (error instanceof ORPCError) {
16
+ if (error.status === 401 || error.status === 403) {
17
+ const authMessage = process.env.ALPIC_API_KEY !== undefined
18
+ ? "Your ALPIC_API_KEY is invalid or not authorized. Check the key and try again."
19
+ : "Your session has expired. Run `alpic login` to sign in again.";
20
+ this.exitWithErrorMessage(authMessage, error);
21
+ }
16
22
  let message = `An error occurred while connecting to Alpic: ${error.message}`;
17
- if (error.code === "NOT_FOUND" && config.load()) {
23
+ if (error.code === "NOT_FOUND" && alpic.projects.loadConfig()) {
18
24
  message += "\nYour .alpic config may reference a deleted resource. Run `alpic link` to re-link.";
19
25
  }
20
26
  this.exitWithErrorMessage(message, error);
21
27
  }
28
+ const status = getResponseErrorStatus(error);
29
+ if (status === 401 || status === 403) {
30
+ this.exitWithErrorMessage("Your session has expired. Run `alpic login` to sign in again.", error);
31
+ }
22
32
  if (error instanceof Error) {
23
33
  this.exitWithErrorMessage(error.message, error);
24
34
  }
25
35
  this.exitWithErrorMessage(String(error), error);
26
36
  }
27
37
  async ensureAuthenticated(flags) {
28
- if (!(await isAuthenticated())) {
38
+ if (!(await alpic.auth.isAuthenticated())) {
29
39
  if (flags["non-interactive"]) {
30
40
  this.exitWithErrorMessage("Not authenticated. Set ALPIC_API_KEY or run `alpic login` interactively.");
31
41
  }
32
42
  p.log.warn("Not authenticated. Starting login…");
33
- await oauthLogin();
43
+ await alpic.auth.login({
44
+ onLoginUrl: (url) => p.log.message(`Opening browser to log in…\n\nIf the browser does not open, copy this URL: ${url}`),
45
+ });
34
46
  }
35
47
  }
36
- spinner() {
37
- return createSpinner();
48
+ logger(levels) {
49
+ return createLogger(levels);
38
50
  }
39
51
  exitWithErrorMessage(message, cause) {
40
52
  p.cancel(message);
@@ -1 +1 @@
1
- {"version":3,"file":"alpic-command.js","sourceRoot":"","sources":["../../src/lib/alpic-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,OAAgB,YAAa,SAAQ,OAAO;IAChD,MAAM,CAAU,SAAS,GAAG;QAC1B,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,8BAA8B;YAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;SAC/B,CAAC;KACH,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,KAAc;QACjC,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,IAAI,OAAO,GAAG,gDAAgD,KAAK,CAAC,OAAO,EAAE,CAAC;YAC9E,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChD,OAAO,IAAI,qFAAqF,CAAC;YACnG,CAAC;YACD,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAsC;QAC9D,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,oBAAoB,CAAC,0EAA0E,CAAC,CAAC;YACxG,CAAC;YACD,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACjD,MAAM,UAAU,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAES,OAAO;QACf,OAAO,aAAa,EAAE,CAAC;IACzB,CAAC;IAES,oBAAoB,CAAC,OAAe,EAAE,KAAe;QAC7D,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,MAAM,SAAS,CAAC;IAClB,CAAC"}
1
+ {"version":3,"file":"alpic-command.js","sourceRoot":"","sources":["../../src/lib/alpic-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Alpic } from "@alpic-ai/sdk";
2
+ export declare const alpic: Alpic;
@@ -0,0 +1,8 @@
1
+ import { Alpic } from "@alpic-ai/sdk";
2
+ import { aliasMachineToUser } from "./telemetry.js";
3
+ export const alpic = new Alpic();
4
+ // The SDK is telemetry-free (the CLI owns transport), so the machine is aliased to the user here on every authentication, explicit login and auto-login alike.
5
+ alpic.auth.on("authenticated", ({ sub }) => {
6
+ void aliasMachineToUser(sub);
7
+ });
8
+ //# sourceMappingURL=alpic-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alpic-sdk.js","sourceRoot":"","sources":["../../src/lib/alpic-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;AAEjC,+JAA+J;AAC/J,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACzC,KAAK,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC"}
@@ -8,6 +8,7 @@ export type AuditFlags = {
8
8
  "non-interactive"?: boolean;
9
9
  };
10
10
  export declare class AuditWorkflow extends BaseWorkflow<AuditFlags> {
11
+ private info;
11
12
  runAudit(): Promise<number>;
12
13
  private validateFlags;
13
14
  private resolveStandalone;
package/dist/lib/audit.js CHANGED
@@ -2,12 +2,19 @@ import { PLATFORM_LABELS } from "@alpic-ai/api";
2
2
  import * as p from "@clack/prompts";
3
3
  import chalk from "chalk";
4
4
  import { api } from "../api.js";
5
+ import { ERRORS_ONLY } from "./agent-mode.js";
6
+ import { alpic } from "./alpic-sdk.js";
5
7
  import { BaseWorkflow } from "./base-workflow.js";
6
- import { config } from "./config.js";
7
8
  import { pollIntervalMs } from "./utils.js";
8
- const DEFAULT_POLL_INTERVAL_MS = pollIntervalMs(2_000);
9
+ // Keeps a full-length audit under the 30 requests/minute WAF budget on /v1/beacon (infrastructure/lib/constructs/Firewall.ts).
10
+ const DEFAULT_POLL_INTERVAL_MS = pollIntervalMs(5_000);
9
11
  const MAX_POLL_MS = 120_000;
10
12
  export class AuditWorkflow extends BaseWorkflow {
13
+ info(message) {
14
+ if (!this.flags.json) {
15
+ p.log.info(message);
16
+ }
17
+ }
11
18
  async runAudit() {
12
19
  this.validateFlags();
13
20
  const target = this.flags.url
@@ -18,32 +25,32 @@ export class AuditWorkflow extends BaseWorkflow {
18
25
  return 0;
19
26
  }
20
27
  const { targetUrl, teamId, projectId } = target;
21
- const spinner = this.spinner();
22
- p.log.info(`Target URL ${chalk.dim(targetUrl)}`);
23
- spinner.start("Starting audit...");
28
+ const logger = this.logger(this.flags.json ? ERRORS_ONLY : "all");
29
+ this.info(`Target URL ${chalk.dim(targetUrl)}`);
30
+ logger.start("Starting audit...");
24
31
  const { id } = await api.beacon.create.v1({
25
32
  targetUrl,
26
33
  teamId,
27
34
  projectId,
28
35
  excludeCategories: ["e2e"],
29
36
  });
30
- spinner.stop(`Audit created ${chalk.dim(id)}`);
31
- spinner.start("Running checks...");
37
+ logger.stop(`Audit created ${chalk.dim(id)}`);
38
+ logger.start("Running checks...");
32
39
  const startedAt = Date.now();
33
40
  let audit = await api.beacon.get.v1({ auditId: id });
34
41
  while (audit.status === "pending" || audit.status === "partial") {
35
42
  if (Date.now() - startedAt > MAX_POLL_MS) {
36
- spinner.stop("Timed out");
43
+ logger.stop("Timed out");
37
44
  throw new Error("Audit timed out after 2 minutes");
38
45
  }
39
46
  await new Promise((resolve) => setTimeout(resolve, DEFAULT_POLL_INTERVAL_MS));
40
47
  audit = await api.beacon.get.v1({ auditId: id });
41
48
  }
42
49
  if (audit.status === "failed") {
43
- spinner.stop("Audit failed");
50
+ logger.stop("Audit failed");
44
51
  throw new Error("The audit failed. The MCP server may be unreachable.");
45
52
  }
46
- spinner.stop(`Audit completed in ${chalk.bold(`${audit.durationMs ?? 0}ms`)}`);
53
+ logger.stop(`Audit completed in ${chalk.bold(`${audit.durationMs ?? 0}ms`)}`);
47
54
  const report = audit.report;
48
55
  if (!report) {
49
56
  throw new Error("Report not available");
@@ -84,9 +91,9 @@ export class AuditWorkflow extends BaseWorkflow {
84
91
  if (this.flags["project-id"]) {
85
92
  return this.resolveProjectEnvironmentUrl(this.flags["project-id"], environmentId, this.isNonInteractive());
86
93
  }
87
- const projectConfig = config.load();
94
+ const projectConfig = alpic.projects.loadConfig();
88
95
  if (projectConfig) {
89
- p.log.info(`Using project config from .alpic: project "${projectConfig.projectName}" (team: "${projectConfig.teamName}")`);
96
+ this.info(`Using project config from .alpic: project "${projectConfig.projectName}" (team: "${projectConfig.teamName}")`);
90
97
  const confirmed = await this.confirm({
91
98
  message: `Run audit for project "${projectConfig.projectName}"?`,
92
99
  initialValue: true,
@@ -110,7 +117,7 @@ export class AuditWorkflow extends BaseWorkflow {
110
117
  throw new Error("No teams found.");
111
118
  }
112
119
  selectedTeamId = singleTeam.id;
113
- p.log.info(`Using team ${chalk.bold(singleTeam.name)}`);
120
+ this.info(`Using team ${chalk.bold(singleTeam.name)}`);
114
121
  }
115
122
  else {
116
123
  const choice = await p.select({
@@ -137,6 +144,7 @@ export class AuditWorkflow extends BaseWorkflow {
137
144
  if (p.isCancel(selectedProjectId)) {
138
145
  return null;
139
146
  }
147
+ // biome-ignore lint/plugin/no-type-assertion: The cancellation branch above narrows the selected prompt value to a project ID.
140
148
  return this.resolveProjectEnvironmentUrl(selectedProjectId, environmentId, this.isNonInteractive());
141
149
  }
142
150
  async resolveProjectEnvironmentUrl(projectId, environmentId, nonInteractive) {
@@ -160,7 +168,7 @@ export class AuditWorkflow extends BaseWorkflow {
160
168
  if (!environment) {
161
169
  throw new Error("No environments found for this project.");
162
170
  }
163
- p.log.info(`Using environment "${environment.name}"`);
171
+ this.info(`Using environment "${environment.name}"`);
164
172
  return { targetUrl: environment.mcpServerUrl, teamId: project.teamId, projectId };
165
173
  }
166
174
  if (nonInteractive) {
@@ -169,7 +177,7 @@ export class AuditWorkflow extends BaseWorkflow {
169
177
  if (!targetUrl) {
170
178
  throw new Error("Multiple environments found. Use --environment-id to specify which one to audit.");
171
179
  }
172
- p.log.info("Using production environment");
180
+ this.info("Using production environment");
173
181
  return { targetUrl, teamId: project.teamId, projectId };
174
182
  }
175
183
  const selectedEnvironmentId = await p.select({
@@ -203,6 +211,7 @@ function renderReport(report) {
203
211
  const warnings = report.results.filter((result) => result.status === "fail" && result.severity === "warning");
204
212
  const skipped = report.results.filter((result) => result.status === "skip");
205
213
  const platformEntries = Object.entries(report.isReadyForPlatform).map(([platform, ready]) => ({
214
+ // biome-ignore lint/plugin/no-type-assertion: isReadyForPlatform is keyed by the supported Platform union.
206
215
  label: PLATFORM_LABELS[platform] ?? platform,
207
216
  ready,
208
217
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/lib/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/lib/audit.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import * as p from "@clack/prompts";
2
+ import { type LogLevels } from "./agent-mode.js";
2
3
  export type Flags = {
3
4
  "non-interactive"?: boolean;
4
5
  };
@@ -6,7 +7,7 @@ export declare abstract class BaseWorkflow<F extends Flags = Flags> {
6
7
  readonly flags: F;
7
8
  constructor(flags: F);
8
9
  protected confirm(options: p.ConfirmOptions, defaultValue?: boolean): Promise<boolean | symbol>;
9
- protected spinner(): p.SpinnerResult;
10
+ protected logger(levels?: LogLevels): p.SpinnerResult;
10
11
  protected exitWithCancel(message?: string): never;
11
12
  protected isNonInteractive(): boolean;
12
13
  }
@@ -1,6 +1,6 @@
1
1
  import * as p from "@clack/prompts";
2
2
  import * as ci from "ci-info";
3
- import { createSpinner } from "./agent-mode.js";
3
+ import { createLogger } from "./agent-mode.js";
4
4
  export class BaseWorkflow {
5
5
  flags;
6
6
  constructor(flags) {
@@ -12,8 +12,8 @@ export class BaseWorkflow {
12
12
  }
13
13
  return p.confirm(options);
14
14
  }
15
- spinner() {
16
- return createSpinner();
15
+ logger(levels) {
16
+ return createLogger(levels);
17
17
  }
18
18
  exitWithCancel(message = "Operation cancelled.") {
19
19
  p.cancel(message);
@@ -1 +1 @@
1
- {"version":3,"file":"base-workflow.js","sourceRoot":"","sources":["../../src/lib/base-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,MAAM,OAAgB,YAAY;IACJ;IAA5B,YAA4B,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAE9B,OAAO,CAAC,OAAyB,EAAE,eAAwB,IAAI;QACvE,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAES,OAAO;QACf,OAAO,aAAa,EAAE,CAAC;IACzB,CAAC;IAES,cAAc,CAAC,OAAO,GAAG,sBAAsB;QACvD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAES,gBAAgB;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"base-workflow.js","sourceRoot":"","sources":["../../src/lib/base-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAkB,MAAM,iBAAiB,CAAC;AAM/D,MAAM,OAAgB,YAAY;IACJ;IAA5B,YAA4B,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAE9B,OAAO,CAAC,OAAyB,EAAE,eAAwB,IAAI;QACvE,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5B,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAES,MAAM,CAAC,MAAkB;QACjC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAES,cAAc,CAAC,OAAO,GAAG,sBAAsB;QACvD,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAES,gBAAgB;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC;IAC1B,CAAC;CACF"}
@@ -67,25 +67,4 @@ export declare function printDeploymentLog(log: DeploymentLogEntry, { noColor }?
67
67
  export declare function followDeploymentLogs(deploymentId: string, initialLogs: DeploymentLogEntry[], { noColor }?: {
68
68
  noColor?: boolean;
69
69
  }): Promise<void>;
70
- export declare function deployAndWait({ initial, startedAt, }: {
71
- initial: RouterOutput["deployments"]["get"]["v1"];
72
- startedAt: number;
73
- }): Promise<{
74
- deployment: {
75
- id: string;
76
- status: "failed" | "ongoing" | "deployed" | "canceled";
77
- sourceRef: string | null;
78
- sourceCommitId: string | null;
79
- sourceCommitMessage: string | null;
80
- authorUsername: string | null;
81
- authorAvatarUrl: string | null;
82
- startedAt: Date | null;
83
- completedAt: Date | null;
84
- environmentId: string;
85
- environmentName: string;
86
- isCurrent: boolean;
87
- deploymentPageUrl: string | null;
88
- };
89
- elapsedMs: number;
90
- }>;
91
70
  export {};
@@ -1,8 +1,8 @@
1
1
  import { stripVTControlCharacters } from "node:util";
2
- import * as p from "@clack/prompts";
3
2
  import chalk from "chalk";
4
3
  import { api } from "../api.js";
5
- import { createSpinner } from "./agent-mode.js";
4
+ import { createLogger } from "./agent-mode.js";
5
+ import { alpic } from "./alpic-sdk.js";
6
6
  import { formatLogTimestamp } from "./logs.js";
7
7
  import { resolveEnvironmentId } from "./resolve.js";
8
8
  import { pollIntervalMs } from "./utils.js";
@@ -21,7 +21,6 @@ export const colorizeDeploymentStatus = (text) => {
21
21
  }
22
22
  };
23
23
  const FINAL_STATUSES = new Set(["deployed", "failed", "canceled"]);
24
- const FIFTEEN_MINUTES_IN_MS = 15 * 60 * 1000;
25
24
  export const FORMAT_ELAPSED_PATTERN = /\b\d+m \d+s\b|\b\d+s\b/g;
26
25
  export function formatElapsed(ms) {
27
26
  const totalSeconds = Math.floor(ms / 1000);
@@ -36,27 +35,24 @@ export function calculateDeploymentDuration(deployment) {
36
35
  return deployment.completedAt.getTime() - deployment.startedAt.getTime();
37
36
  }
38
37
  export async function fetchDeployment(deploymentId) {
39
- const spinner = createSpinner();
40
- spinner.start("Fetching deployment...");
38
+ const logger = createLogger();
39
+ logger.start("Fetching deployment...");
41
40
  const deployment = await api.deployments.get.v1({ deploymentId });
42
- spinner.stop("Deployment found");
41
+ logger.stop("Deployment found");
43
42
  return deployment;
44
43
  }
45
44
  export async function fetchLatestDeploymentForEnvironment(environmentId) {
46
- const spinner = createSpinner();
47
- spinner.start("Fetching latest deployment...");
48
- const environment = await api.environments.get.v1({ environmentId });
49
- const deployments = await api.deployments.list.v1({
50
- projectId: environment.projectId,
51
- environmentId,
52
- });
53
- const latest = deployments[0];
54
- if (!latest) {
55
- spinner.stop("No deployments found");
56
- throw new Error(`No deployments found for environment ${environmentId}.`);
45
+ const logger = createLogger();
46
+ logger.start("Fetching latest deployment...");
47
+ try {
48
+ const latest = await alpic.deployments.getLatestForEnvironment(environmentId);
49
+ logger.stop(`Using latest deployment ${chalk.dim(latest.id)} for environment ${chalk.dim(environmentId)}`);
50
+ return latest;
51
+ }
52
+ catch (error) {
53
+ logger.stop("No deployments found");
54
+ throw error;
57
55
  }
58
- spinner.stop(`Using latest deployment ${chalk.dim(latest.id)} for environment ${chalk.dim(environmentId)}`);
59
- return latest;
60
56
  }
61
57
  export async function resolveDeploymentId(flags) {
62
58
  if (flags["deployment-id"]) {
@@ -71,24 +67,14 @@ export async function waitForDeployment(deployment) {
71
67
  return deployment;
72
68
  }
73
69
  const startedAt = deployment.startedAt?.getTime() ?? Date.now();
74
- const waitStartedAt = Date.now();
75
- let current = deployment;
76
- const spinner = createSpinner();
77
- spinner.start("Waiting for deployment to complete");
70
+ const logger = createLogger();
71
+ logger.start("Waiting for deployment to complete");
78
72
  const elapsedInterval = setInterval(() => {
79
- spinner.message(`Waiting for deployment to complete — ${formatElapsed(Date.now() - startedAt)}`);
73
+ logger.message(`Waiting for deployment to complete — ${formatElapsed(Date.now() - startedAt)}`);
80
74
  }, 1000);
81
75
  try {
82
- while (!FINAL_STATUSES.has(current.status)) {
83
- if (Date.now() - waitStartedAt >= FIFTEEN_MINUTES_IN_MS) {
84
- throw new Error("Deployment did not reach a final state within 15 minutes.");
85
- }
86
- current = await api.deployments.get.v1({ deploymentId: current.id });
87
- if (!FINAL_STATUSES.has(current.status)) {
88
- await new Promise((resolve) => setTimeout(resolve, pollIntervalMs(3_000)));
89
- }
90
- }
91
- spinner.stop(`Deployment is ${colorizeDeploymentStatus(current.status)(current.status)}`);
76
+ const current = await alpic.deployments.watch(deployment.id);
77
+ logger.stop(`Deployment is ${colorizeDeploymentStatus(current.status)(current.status)}`);
92
78
  return current;
93
79
  }
94
80
  finally {
@@ -116,39 +102,4 @@ export async function followDeploymentLogs(deploymentId, initialLogs, { noColor
116
102
  }
117
103
  }
118
104
  }
119
- export async function deployAndWait({ initial, startedAt, }) {
120
- const spinner = createSpinner();
121
- let deployment = initial;
122
- const deploymentPageUrl = deployment.deploymentPageUrl;
123
- if (deploymentPageUrl) {
124
- p.note(`🔗 ${deploymentPageUrl}`, "View deployment details:", {
125
- format: (line) => line,
126
- });
127
- }
128
- spinner.start("Deployment in progress");
129
- const elapsedInterval = setInterval(() => {
130
- const elapsed = formatElapsed(Date.now() - startedAt);
131
- spinner.message(`Deployment in progress — ${elapsed}`);
132
- }, 1000);
133
- try {
134
- while (deployment.status === "ongoing") {
135
- const elapsedMs = Date.now() - startedAt;
136
- if (elapsedMs >= FIFTEEN_MINUTES_IN_MS) {
137
- throw new Error(`Deployment aborted after 15 minutes. View status: ${deploymentPageUrl}`);
138
- }
139
- deployment = await api.deployments.get.v1({
140
- deploymentId: deployment.id,
141
- });
142
- if (deployment.status === "ongoing") {
143
- await new Promise((resolve) => setTimeout(resolve, pollIntervalMs(10_000)));
144
- }
145
- }
146
- return { deployment, elapsedMs: Date.now() - startedAt };
147
- }
148
- finally {
149
- const message = deployment.status === "deployed" ? chalk.green("Deployment completed") : chalk.red("Deployment failed");
150
- spinner.stop(message);
151
- clearInterval(elapsedInterval);
152
- }
153
- }
154
105
  //# sourceMappingURL=deployment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../src/lib/deployment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../src/lib/deployment.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import * as p from "@clack/prompts";
4
4
  import chalk from "chalk";
5
5
  import { parse as parseEnvFile } from "envfile";
6
6
  import { api } from "../api.js";
7
- import { createSpinner } from "./agent-mode.js";
7
+ import { createLogger } from "./agent-mode.js";
8
8
  import { BaseWorkflow } from "./base-workflow.js";
9
9
  export function isValidEnvironmentVariableKey(key) {
10
10
  return environmentVariableSchema.shape.key.safeParse(key).success;
@@ -13,12 +13,12 @@ function pluralizeEnvVars(count) {
13
13
  return `environment variable${count === 1 ? "" : "s"}`;
14
14
  }
15
15
  export async function fetchEnvironmentVariables(environmentId) {
16
- const spinner = createSpinner();
17
- spinner.start("Fetching environment variables...");
16
+ const logger = createLogger();
17
+ logger.start("Fetching environment variables...");
18
18
  const environmentVariables = await api.environmentVariables.list.v1({
19
19
  environmentId,
20
20
  });
21
- spinner.stop(`Found ${environmentVariables.length} ${pluralizeEnvVars(environmentVariables.length)}`);
21
+ logger.stop(`Found ${environmentVariables.length} ${pluralizeEnvVars(environmentVariables.length)}`);
22
22
  return environmentVariables;
23
23
  }
24
24
  export class EnvironmentVariableWorkflow extends BaseWorkflow {
@@ -27,14 +27,14 @@ export class EnvironmentVariableWorkflow extends BaseWorkflow {
27
27
  }
28
28
  async add(environmentId) {
29
29
  const environmentVariables = await this.resolveEnvironmentVariablesForAdd();
30
- const spinner = this.spinner();
31
- spinner.start(`Adding ${environmentVariables.length} ${pluralizeEnvVars(environmentVariables.length)}...`);
30
+ const logger = this.logger();
31
+ logger.start(`Adding ${environmentVariables.length} ${pluralizeEnvVars(environmentVariables.length)}...`);
32
32
  await api.environmentVariables.create.v1({
33
33
  environmentId,
34
34
  environmentVariables,
35
35
  });
36
36
  const count = environmentVariables.length;
37
- spinner.stop(`Successfully added ${count} ${pluralizeEnvVars(count)}. ✅`);
37
+ logger.stop(`Successfully added ${count} ${pluralizeEnvVars(count)}. ✅`);
38
38
  }
39
39
  async update(environmentId) {
40
40
  const environmentVariables = await fetchEnvironmentVariables(environmentId);
@@ -46,15 +46,15 @@ export class EnvironmentVariableWorkflow extends BaseWorkflow {
46
46
  if (!variable) {
47
47
  throw new Error(`Environment variable "${updateInput.key}" not found.`);
48
48
  }
49
- const spinner = this.spinner();
50
- spinner.start("Updating environment variable...");
49
+ const logger = this.logger();
50
+ logger.start("Updating environment variable...");
51
51
  await api.environmentVariables.update.v1({
52
52
  environmentVariableId: variable.id,
53
53
  key: variable.key,
54
54
  value: updateInput.value,
55
55
  ...(updateInput.isSecret !== undefined && { isSecret: updateInput.isSecret }),
56
56
  });
57
- spinner.stop(`Successfully updated ${chalk.cyan(updateInput.key)}. ✅`);
57
+ logger.stop(`Successfully updated ${chalk.cyan(updateInput.key)}. ✅`);
58
58
  }
59
59
  async remove(environmentId) {
60
60
  const environmentVariables = await fetchEnvironmentVariables(environmentId);
@@ -66,12 +66,12 @@ export class EnvironmentVariableWorkflow extends BaseWorkflow {
66
66
  if (!variable) {
67
67
  throw new Error(`Environment variable "${resolvedKey}" not found.`);
68
68
  }
69
- const spinner = this.spinner();
70
- spinner.start("Removing environment variable...");
69
+ const logger = this.logger();
70
+ logger.start("Removing environment variable...");
71
71
  await api.environmentVariables.delete.v1({
72
72
  environmentVariableId: variable.id,
73
73
  });
74
- spinner.stop(`Successfully removed ${chalk.cyan(resolvedKey)}. ✅`);
74
+ logger.stop(`Successfully removed ${chalk.cyan(resolvedKey)}. ✅`);
75
75
  }
76
76
  async resolveEnvironmentVariablesForAdd() {
77
77
  const { "env-file": envFile, key, value, secret } = this.flags;
@@ -230,6 +230,7 @@ export class EnvironmentVariableWorkflow extends BaseWorkflow {
230
230
  }
231
231
  return trimmed;
232
232
  }
233
+ // biome-ignore lint/plugin/no-type-assertion: The cancellation check below handles the prompt's symbol result.
233
234
  const resolvedValue = (await p.password({
234
235
  message: `New value for ${chalk.cyan(resolvedKey)}`,
235
236
  })); // When user doesn't provide a value, the prompt returns undefined.