@zuplo/cli 6.69.5 → 6.69.8

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 (222) hide show
  1. package/dist/__tests__/integration/confirm-production-deploy.integration.test.d.ts +2 -0
  2. package/dist/__tests__/integration/confirm-production-deploy.integration.test.d.ts.map +1 -0
  3. package/dist/__tests__/integration/confirm-production-deploy.integration.test.js +184 -0
  4. package/dist/__tests__/integration/confirm-production-deploy.integration.test.js.map +1 -0
  5. package/dist/__tests__/integration/custom-domain.integration.test.js +4 -4
  6. package/dist/__tests__/integration/custom-domain.integration.test.js.map +1 -1
  7. package/dist/__tests__/integration/deploy.integration.test.js +1 -0
  8. package/dist/__tests__/integration/deploy.integration.test.js.map +1 -1
  9. package/dist/__tests__/integration/jest-mocks-setup.js +4 -0
  10. package/dist/__tests__/integration/jest-mocks-setup.js.map +1 -1
  11. package/dist/__tests__/integration/list.integration.test.js +2 -2
  12. package/dist/__tests__/integration/list.integration.test.js.map +1 -1
  13. package/dist/__tests__/integration/tunnel.integration.test.js +14 -14
  14. package/dist/__tests__/integration/tunnel.integration.test.js.map +1 -1
  15. package/dist/__tests__/integration/variable.integration.test.js +4 -4
  16. package/dist/__tests__/integration/variable.integration.test.js.map +1 -1
  17. package/dist/__tests__/integration/whoami.integration.test.js +29 -5
  18. package/dist/__tests__/integration/whoami.integration.test.js.map +1 -1
  19. package/dist/bucket/list/handler.d.ts +8 -0
  20. package/dist/bucket/list/handler.d.ts.map +1 -0
  21. package/dist/bucket/list/handler.js +54 -0
  22. package/dist/bucket/list/handler.js.map +1 -0
  23. package/dist/bucket/models.d.ts +23 -0
  24. package/dist/bucket/models.d.ts.map +1 -0
  25. package/dist/bucket/models.js +2 -0
  26. package/dist/bucket/models.js.map +1 -0
  27. package/dist/cli.js +16 -6
  28. package/dist/cli.js.map +1 -1
  29. package/dist/cmds/bucket/index.d.ts +4 -0
  30. package/dist/cmds/bucket/index.d.ts.map +1 -0
  31. package/dist/cmds/bucket/index.js +9 -0
  32. package/dist/cmds/bucket/index.js.map +1 -0
  33. package/dist/cmds/bucket/list.d.ts +9 -0
  34. package/dist/cmds/bucket/list.d.ts.map +1 -0
  35. package/dist/cmds/bucket/list.js +60 -0
  36. package/dist/cmds/bucket/list.js.map +1 -0
  37. package/dist/cmds/deploy.d.ts.map +1 -1
  38. package/dist/cmds/deploy.js +4 -1
  39. package/dist/cmds/deploy.js.map +1 -1
  40. package/dist/cmds/logout.d.ts +9 -0
  41. package/dist/cmds/logout.d.ts.map +1 -0
  42. package/dist/cmds/logout.js +23 -0
  43. package/dist/cmds/logout.js.map +1 -0
  44. package/dist/cmds/whoami.d.ts.map +1 -1
  45. package/dist/cmds/whoami.js +1 -2
  46. package/dist/cmds/whoami.js.map +1 -1
  47. package/dist/common/api/client.d.ts +40 -0
  48. package/dist/common/api/client.d.ts.map +1 -0
  49. package/dist/common/api/client.js +92 -0
  50. package/dist/common/api/client.js.map +1 -0
  51. package/dist/common/middleware/confirm-production-deploy.d.ts +4 -0
  52. package/dist/common/middleware/confirm-production-deploy.d.ts.map +1 -0
  53. package/dist/common/middleware/confirm-production-deploy.js +49 -0
  54. package/dist/common/middleware/confirm-production-deploy.js.map +1 -0
  55. package/dist/common/middleware/get-environment-param.d.ts +6 -0
  56. package/dist/common/middleware/get-environment-param.d.ts.map +1 -1
  57. package/dist/common/middleware/get-environment-param.js +15 -0
  58. package/dist/common/middleware/get-environment-param.js.map +1 -1
  59. package/dist/common/middleware/get-environment-param.test.d.ts +2 -0
  60. package/dist/common/middleware/get-environment-param.test.d.ts.map +1 -0
  61. package/dist/common/middleware/get-environment-param.test.js +33 -0
  62. package/dist/common/middleware/get-environment-param.test.js.map +1 -0
  63. package/dist/common/output.d.ts +7 -0
  64. package/dist/common/output.d.ts.map +1 -1
  65. package/dist/common/output.js +15 -1
  66. package/dist/common/output.js.map +1 -1
  67. package/dist/common/read-linked-config.d.ts +6 -1
  68. package/dist/common/read-linked-config.d.ts.map +1 -1
  69. package/dist/common/read-linked-config.js +14 -4
  70. package/dist/common/read-linked-config.js.map +1 -1
  71. package/dist/common/read-linked-config.test.js +97 -0
  72. package/dist/common/read-linked-config.test.js.map +1 -1
  73. package/dist/custom-domain/create/handler.d.ts.map +1 -1
  74. package/dist/custom-domain/create/handler.js +12 -27
  75. package/dist/custom-domain/create/handler.js.map +1 -1
  76. package/dist/custom-domain/delete/handler.d.ts.map +1 -1
  77. package/dist/custom-domain/delete/handler.js +25 -54
  78. package/dist/custom-domain/delete/handler.js.map +1 -1
  79. package/dist/custom-domain/list/handler.d.ts.map +1 -1
  80. package/dist/custom-domain/list/handler.js +15 -29
  81. package/dist/custom-domain/list/handler.js.map +1 -1
  82. package/dist/custom-domain/update/handler.d.ts.map +1 -1
  83. package/dist/custom-domain/update/handler.js +12 -27
  84. package/dist/custom-domain/update/handler.js.map +1 -1
  85. package/dist/deploy/environments.d.ts +1 -0
  86. package/dist/deploy/environments.d.ts.map +1 -1
  87. package/dist/deploy/environments.js +11 -7
  88. package/dist/deploy/environments.js.map +1 -1
  89. package/dist/list/handler.d.ts.map +1 -1
  90. package/dist/list/handler.js +41 -59
  91. package/dist/list/handler.js.map +1 -1
  92. package/dist/login/logout.d.ts +5 -0
  93. package/dist/login/logout.d.ts.map +1 -0
  94. package/dist/login/logout.js +6 -0
  95. package/dist/login/logout.js.map +1 -0
  96. package/dist/login/tokens.d.ts +1 -0
  97. package/dist/login/tokens.d.ts.map +1 -1
  98. package/dist/login/tokens.js +16 -1
  99. package/dist/login/tokens.js.map +1 -1
  100. package/dist/mtls-certificates/create/handler.d.ts.map +1 -1
  101. package/dist/mtls-certificates/create/handler.js +9 -23
  102. package/dist/mtls-certificates/create/handler.js.map +1 -1
  103. package/dist/mtls-certificates/delete/handler.d.ts.map +1 -1
  104. package/dist/mtls-certificates/delete/handler.js +8 -20
  105. package/dist/mtls-certificates/delete/handler.js.map +1 -1
  106. package/dist/mtls-certificates/describe/handler.d.ts.map +1 -1
  107. package/dist/mtls-certificates/describe/handler.js +17 -31
  108. package/dist/mtls-certificates/describe/handler.js.map +1 -1
  109. package/dist/mtls-certificates/disable/handler.d.ts.map +1 -1
  110. package/dist/mtls-certificates/disable/handler.js +9 -26
  111. package/dist/mtls-certificates/disable/handler.js.map +1 -1
  112. package/dist/mtls-certificates/list/handler.d.ts.map +1 -1
  113. package/dist/mtls-certificates/list/handler.js +22 -36
  114. package/dist/mtls-certificates/list/handler.js.map +1 -1
  115. package/dist/mtls-certificates/update/handler.d.ts.map +1 -1
  116. package/dist/mtls-certificates/update/handler.js +14 -29
  117. package/dist/mtls-certificates/update/handler.js.map +1 -1
  118. package/dist/proxies/create/handler.d.ts.map +1 -1
  119. package/dist/proxies/create/handler.js +9 -22
  120. package/dist/proxies/create/handler.js.map +1 -1
  121. package/dist/proxies/delete/handler.d.ts.map +1 -1
  122. package/dist/proxies/delete/handler.js +8 -21
  123. package/dist/proxies/delete/handler.js.map +1 -1
  124. package/dist/proxies/describe/handler.d.ts.map +1 -1
  125. package/dist/proxies/describe/handler.js +7 -22
  126. package/dist/proxies/describe/handler.js.map +1 -1
  127. package/dist/proxies/update/handler.d.ts.map +1 -1
  128. package/dist/proxies/update/handler.js +9 -22
  129. package/dist/proxies/update/handler.js.map +1 -1
  130. package/dist/tsconfig.tsbuildinfo +1 -1
  131. package/dist/tunnel/create/handler.d.ts.map +1 -1
  132. package/dist/tunnel/create/handler.js +8 -22
  133. package/dist/tunnel/create/handler.js.map +1 -1
  134. package/dist/tunnel/delete/handler.d.ts.map +1 -1
  135. package/dist/tunnel/delete/handler.js +16 -30
  136. package/dist/tunnel/delete/handler.js.map +1 -1
  137. package/dist/tunnel/describe/handler.d.ts.map +1 -1
  138. package/dist/tunnel/describe/handler.js +7 -21
  139. package/dist/tunnel/describe/handler.js.map +1 -1
  140. package/dist/tunnel/list/handler.d.ts.map +1 -1
  141. package/dist/tunnel/list/handler.js +13 -28
  142. package/dist/tunnel/list/handler.js.map +1 -1
  143. package/dist/tunnel/rotate-token/handler.d.ts.map +1 -1
  144. package/dist/tunnel/rotate-token/handler.js +7 -21
  145. package/dist/tunnel/rotate-token/handler.js.map +1 -1
  146. package/dist/tunnel/services/describe/handler.d.ts.map +1 -1
  147. package/dist/tunnel/services/describe/handler.js +7 -21
  148. package/dist/tunnel/services/describe/handler.js.map +1 -1
  149. package/dist/tunnel/services/update/handler.d.ts.map +1 -1
  150. package/dist/tunnel/services/update/handler.js +18 -32
  151. package/dist/tunnel/services/update/handler.js.map +1 -1
  152. package/dist/variable/create/handler.d.ts.map +1 -1
  153. package/dist/variable/create/handler.js +9 -24
  154. package/dist/variable/create/handler.js.map +1 -1
  155. package/dist/variable/update/handler.d.ts.map +1 -1
  156. package/dist/variable/update/handler.js +9 -24
  157. package/dist/variable/update/handler.js.map +1 -1
  158. package/dist/whoami/handler.d.ts +1 -1
  159. package/dist/whoami/handler.d.ts.map +1 -1
  160. package/dist/whoami/handler.js +12 -17
  161. package/dist/whoami/handler.js.map +1 -1
  162. package/node_modules/@zuplo/core/customer.cli.minified.js +225 -211
  163. package/node_modules/@zuplo/core/index.minified.js +237 -223
  164. package/node_modules/@zuplo/core/package.json +1 -1
  165. package/node_modules/@zuplo/editor/node_modules/find-my-way/.github/workflows/node.js.yml +1 -1
  166. package/node_modules/@zuplo/editor/node_modules/find-my-way/README.md +10 -0
  167. package/node_modules/@zuplo/editor/node_modules/find-my-way/index.d.ts +6 -0
  168. package/node_modules/@zuplo/editor/node_modules/find-my-way/index.js +37 -4
  169. package/node_modules/@zuplo/editor/node_modules/find-my-way/lib/handler-storage.js +2 -2
  170. package/node_modules/@zuplo/editor/node_modules/find-my-way/package.json +3 -3
  171. package/node_modules/@zuplo/editor/node_modules/find-my-way/test/repro-issue-414.test.js +57 -0
  172. package/node_modules/@zuplo/editor/node_modules/find-my-way/test/types/router.test-d.ts +1 -0
  173. package/node_modules/@zuplo/graphql/package.json +1 -1
  174. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  175. package/node_modules/@zuplo/otel/package.json +1 -1
  176. package/node_modules/@zuplo/runtime/package.json +1 -1
  177. package/node_modules/graphql/index.d.ts +1 -0
  178. package/node_modules/graphql/language/ast.d.ts +10 -1
  179. package/node_modules/graphql/language/ast.js +8 -1
  180. package/node_modules/graphql/language/ast.mjs +8 -1
  181. package/node_modules/graphql/language/directiveLocation.d.ts +1 -0
  182. package/node_modules/graphql/language/directiveLocation.js +1 -0
  183. package/node_modules/graphql/language/directiveLocation.mjs +1 -0
  184. package/node_modules/graphql/language/index.d.ts +1 -0
  185. package/node_modules/graphql/language/kinds.d.ts +1 -0
  186. package/node_modules/graphql/language/kinds.js +1 -0
  187. package/node_modules/graphql/language/kinds.mjs +1 -0
  188. package/node_modules/graphql/language/parser.d.ts +14 -0
  189. package/node_modules/graphql/language/parser.js +33 -0
  190. package/node_modules/graphql/language/parser.mjs +33 -0
  191. package/node_modules/graphql/language/predicates.js +3 -1
  192. package/node_modules/graphql/language/predicates.mjs +5 -1
  193. package/node_modules/graphql/language/printer.js +13 -1
  194. package/node_modules/graphql/language/printer.mjs +13 -1
  195. package/node_modules/graphql/package.json +1 -1
  196. package/node_modules/graphql/type/directives.d.ts +9 -1
  197. package/node_modules/graphql/type/directives.js +10 -1
  198. package/node_modules/graphql/type/directives.mjs +10 -1
  199. package/node_modules/graphql/type/introspection.js +24 -1
  200. package/node_modules/graphql/type/introspection.mjs +24 -1
  201. package/node_modules/graphql/utilities/buildASTSchema.js +4 -0
  202. package/node_modules/graphql/utilities/buildASTSchema.mjs +4 -0
  203. package/node_modules/graphql/utilities/buildClientSchema.js +1 -0
  204. package/node_modules/graphql/utilities/buildClientSchema.mjs +1 -0
  205. package/node_modules/graphql/utilities/extendSchema.js +58 -3
  206. package/node_modules/graphql/utilities/extendSchema.mjs +58 -3
  207. package/node_modules/graphql/utilities/getIntrospectionQuery.d.ts +16 -0
  208. package/node_modules/graphql/utilities/getIntrospectionQuery.js +31 -38
  209. package/node_modules/graphql/utilities/getIntrospectionQuery.mjs +31 -38
  210. package/node_modules/graphql/utilities/introspectionFromSchema.js +1 -0
  211. package/node_modules/graphql/utilities/introspectionFromSchema.mjs +1 -0
  212. package/node_modules/graphql/utilities/printSchema.js +1 -0
  213. package/node_modules/graphql/utilities/printSchema.mjs +1 -0
  214. package/node_modules/graphql/utilities/valueFromAST.js +12 -2
  215. package/node_modules/graphql/utilities/valueFromAST.mjs +12 -2
  216. package/node_modules/graphql/validation/rules/KnownDirectivesRule.js +4 -0
  217. package/node_modules/graphql/validation/rules/KnownDirectivesRule.mjs +4 -0
  218. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +12 -0
  219. package/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.mjs +12 -0
  220. package/node_modules/graphql/version.js +3 -3
  221. package/node_modules/graphql/version.mjs +3 -3
  222. package/package.json +6 -6
@@ -1,23 +1,18 @@
1
- import { logger } from "../common/logger.js";
2
- import { printCriticalFailureToConsoleAndExit, printResultToConsoleAndExitGracefully, textOrJson, } from "../common/output.js";
3
- import settings from "../common/settings.js";
1
+ import { createApiClient } from "../common/api/client.js";
2
+ import { printResultToConsoleAndExitGracefully } from "../common/output.js";
3
+ import { getAuthToken } from "../login/tokens.js";
4
4
  export async function whoami(argv) {
5
- const response = await fetch(`${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/who-am-i`, {
6
- method: "GET",
7
- headers: {
8
- Authorization: `Bearer ${argv.authToken}`,
9
- },
10
- });
11
- if (!response.ok) {
12
- logger.error({
13
- status: response.status,
14
- statusText: response.statusText,
15
- response: textOrJson(await response.text()),
16
- }, "Failed to determine current user");
17
- await printCriticalFailureToConsoleAndExit("Error: Failed to determine current user. Check your credentials.");
5
+ const apiKey = argv["api-key"]?.trim();
6
+ const authToken = apiKey || (await getAuthToken());
7
+ if (!authToken) {
8
+ await printResultToConsoleAndExitGracefully("You are logged out");
18
9
  return;
19
10
  }
20
- const data = (await response.json());
11
+ const client = createApiClient({ authToken });
12
+ const data = await client.get("/v1/who-am-i", {
13
+ operation: "Failed to determine current user",
14
+ errorMessage: "Error: Failed to determine current user. Check your credentials.",
15
+ });
21
16
  const identity = data.email ? `${data.email} (${data.sub})` : data.sub;
22
17
  const lines = [`Authenticated as ${identity}`];
23
18
  if (data.account) {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/whoami/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,oCAAoC,EACpC,qCAAqC,EACrC,UAAU,GACX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAY7C,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,QAAQ,CAAC,4BAA4B,cAAc,EACtD;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YAEP,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE;SAC1C;KACF,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,CACV;YACE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,QAAQ,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC5C,EACD,kCAAkC,CACnC,CAAC;QACF,MAAM,oCAAoC,CACxC,kEAAkE,CACnE,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACvE,MAAM,KAAK,GAAG,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,qCAAqC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC","sourcesContent":["import { logger } from \"../common/logger.js\";\nimport {\n printCriticalFailureToConsoleAndExit,\n printResultToConsoleAndExitGracefully,\n textOrJson,\n} from \"../common/output.js\";\nimport settings from \"../common/settings.js\";\n\nexport interface Arguments {\n authToken: string;\n}\n\ninterface WhoAmIResponse {\n sub: string;\n account?: string;\n email?: string;\n}\n\nexport async function whoami(argv: Arguments) {\n const response = await fetch(\n `${settings.ZUPLO_DEVELOPER_API_ENDPOINT}/v1/who-am-i`,\n {\n method: \"GET\",\n headers: {\n // biome-ignore lint/style/useNamingConvention: External API property\n Authorization: `Bearer ${argv.authToken}`,\n },\n }\n );\n\n if (!response.ok) {\n logger.error(\n {\n status: response.status,\n statusText: response.statusText,\n response: textOrJson(await response.text()),\n },\n \"Failed to determine current user\"\n );\n await printCriticalFailureToConsoleAndExit(\n \"Error: Failed to determine current user. Check your credentials.\"\n );\n return;\n }\n\n const data = (await response.json()) as WhoAmIResponse;\n const identity = data.email ? `${data.email} (${data.sub})` : data.sub;\n const lines = [`Authenticated as ${identity}`];\n if (data.account) {\n lines.push(`Account: ${data.account}`);\n }\n\n await printResultToConsoleAndExitGracefully(lines.join(\"\\n\"));\n}\n"]}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/whoami/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,qCAAqC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAYlD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAe;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC;IAEnD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,qCAAqC,CAAC,oBAAoB,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAiB,cAAc,EAAE;QAC5D,SAAS,EAAE,kCAAkC;QAC7C,YAAY,EACV,kEAAkE;KACrE,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;IACvE,MAAM,KAAK,GAAG,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,qCAAqC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC","sourcesContent":["import { createApiClient } from \"../common/api/client.js\";\nimport { printResultToConsoleAndExitGracefully } from \"../common/output.js\";\nimport { getAuthToken } from \"../login/tokens.js\";\n\nexport interface Arguments {\n \"api-key\"?: string;\n}\n\ninterface WhoAmIResponse {\n sub: string;\n account?: string;\n email?: string;\n}\n\nexport async function whoami(argv: Arguments) {\n const apiKey = argv[\"api-key\"]?.trim();\n const authToken = apiKey || (await getAuthToken());\n\n if (!authToken) {\n await printResultToConsoleAndExitGracefully(\"You are logged out\");\n return;\n }\n\n const client = createApiClient({ authToken });\n const data = await client.get<WhoAmIResponse>(\"/v1/who-am-i\", {\n operation: \"Failed to determine current user\",\n errorMessage:\n \"Error: Failed to determine current user. Check your credentials.\",\n });\n\n const identity = data.email ? `${data.email} (${data.sub})` : data.sub;\n const lines = [`Authenticated as ${identity}`];\n if (data.account) {\n lines.push(`Account: ${data.account}`);\n }\n\n await printResultToConsoleAndExitGracefully(lines.join(\"\\n\"));\n}\n"]}