@keystrokehq/cli 0.0.37 → 0.0.38

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 (103) hide show
  1. package/dist/{accept.handler-DCsud1s5.mjs → accept.handler-CykuBpt6.mjs} +3 -3
  2. package/dist/{admin-BaOtHeZ2.mjs → admin-gRjPC3eD.mjs} +10 -10
  3. package/dist/{agents-BVAVfMR_.mjs → agents-BpyuvM9p.mjs} +6 -6
  4. package/dist/{api-keys-BhEEsHUh.mjs → api-keys-BSKhdD_x.mjs} +6 -6
  5. package/dist/{auth-BnsitjzT.mjs → auth-DCgToFf5.mjs} +6 -6
  6. package/dist/{auth.handler-W_xk14TL.mjs → auth.handler-QRQAEUJC.mjs} +1 -1
  7. package/dist/{authored-workflow-ref-fkHEEVnd.mjs → authored-workflow-ref-BRCQgyWl.mjs} +4 -4
  8. package/dist/{build-progress-CM-b6Bby.mjs → build-progress-D_SQqdHA.mjs} +2 -2
  9. package/dist/{build.handler-CpAsAsBc.mjs → build.handler-DGQn_clk.mjs} +6 -6
  10. package/dist/{clear.handler-_sR33Hp8.mjs → clear.handler-CuXYvUj2.mjs} +1 -1
  11. package/dist/{clear.handler-CDyG6-dk.mjs → clear.handler-DnjvgyMj.mjs} +1 -1
  12. package/dist/{commander-C6SSTQJ2.mjs → commander-B_8QwPpe.mjs} +3 -3
  13. package/dist/{connect-27EgnljZ.mjs → connect-DV9lhP6C.mjs} +3 -3
  14. package/dist/{connect.handler-COM1LnNg.mjs → connect.handler-D6JzuFuT.mjs} +4 -4
  15. package/dist/{context-ebZssGCY.mjs → context-Brc9VGV9.mjs} +2 -2
  16. package/dist/{create.handler-CAWJAGzQ.mjs → create.handler-D_tmjANR.mjs} +3 -3
  17. package/dist/{credential-schema-mismatch-c17ktoNU.mjs → credential-schema-mismatch-CStYUB2h.mjs} +1 -1
  18. package/dist/{credentials-C0ssbMlp.mjs → credentials-UDrvrKj-.mjs} +9 -9
  19. package/dist/{current-deployment-workflow-C6x65imE.mjs → current-deployment-workflow-CknsHF5T.mjs} +1 -1
  20. package/dist/{current.handler-DP1L_hm3.mjs → current.handler-Cy91EeLU.mjs} +3 -3
  21. package/dist/{delete.handler-C-5XFkgN.mjs → delete.handler-rUDDUrDQ.mjs} +2 -2
  22. package/dist/{deploy-BcVQJza8.mjs → deploy-DgWPlEKO.mjs} +2 -2
  23. package/dist/{deploy-progress-Bt86Yc1r.mjs → deploy-progress-BDOCSm_U.mjs} +1 -1
  24. package/dist/{deploy.handler-GPS9lxGk.mjs → deploy.handler-BDCHCk_A.mjs} +9 -9
  25. package/dist/{diff.handler-DkM5dhaN.mjs → diff.handler-CGERP-Qn.mjs} +5 -5
  26. package/dist/{env.handler-V_isbSi2.mjs → env.handler--8FRrSlJ.mjs} +6 -6
  27. package/dist/{error-boundary-BRxUsPi7.mjs → error-boundary-D2DiCLAp.mjs} +3 -3
  28. package/dist/{iam-command-utils-DNDN0wT6.mjs → iam-command-utils-D01Gw8-M.mjs} +2 -2
  29. package/dist/{init-D1OmmclX.mjs → init-Mpe_8lA_.mjs} +2 -2
  30. package/dist/{init.handler-CUbYlUgP.mjs → init.handler-BjLAIAmm.mjs} +4 -4
  31. package/dist/{inspect.handler-BE6coOuW.mjs → inspect.handler-CXCi7fhH.mjs} +5 -5
  32. package/dist/{integration-catalog-pSmWHFLQ.mjs → integration-catalog-mZs6EAlN.mjs} +3 -3
  33. package/dist/{integrations-DZD5t8n2.mjs → integrations-D_IH5Ud1.mjs} +6 -6
  34. package/dist/{invites-BuR1H-tA.mjs → invites-CWWz4wmY.mjs} +5 -5
  35. package/dist/{invites.list.handler-Dj4a6XOg.mjs → invites.list.handler-CQLWSoWo.mjs} +4 -4
  36. package/dist/{invites.resend.handler-DEGF4vlB.mjs → invites.resend.handler-CeIGE_qM.mjs} +4 -4
  37. package/dist/{invites.revoke.handler-Dg4ZvlFS.mjs → invites.revoke.handler-9K6jkym_.mjs} +4 -4
  38. package/dist/keystroke.mjs +41 -29
  39. package/dist/{list.handler-Choc4SZz.mjs → list.handler-BvuxTFLe.mjs} +5 -5
  40. package/dist/{list.handler-BTYVIn6z.mjs → list.handler-CDWPmiMy.mjs} +3 -3
  41. package/dist/{list.handler-DYE48apa.mjs → list.handler-Co32_F3n.mjs} +4 -4
  42. package/dist/{list.handler-D47C1z3m.mjs → list.handler-Cuw1fWO_.mjs} +41 -12
  43. package/dist/{list.handler-7MkJfkak.mjs → list.handler-D-rSyrX0.mjs} +4 -4
  44. package/dist/{list.handler-KcCaG3PZ.mjs → list.handler-DMvq96UA.mjs} +2 -2
  45. package/dist/{list.handler-2g1CZAvB.mjs → list.handler-DUTNS8du.mjs} +3 -3
  46. package/dist/{list.handler-Bchcr3-e.mjs → list.handler-Dz-Yeijp.mjs} +3 -3
  47. package/dist/{list2.handler-BIaIyrQf.mjs → list2.handler-BpqKZTZk.mjs} +1 -1
  48. package/dist/{listen-CVY-_F29.mjs → listen-CeNwufij.mjs} +3 -3
  49. package/dist/{listen.handler-D_nEvXRn.mjs → listen.handler-CfRoaOwu.mjs} +3 -3
  50. package/dist/{logs-CZ2qnsSH.mjs → logs-B7k2_W1R.mjs} +3 -3
  51. package/dist/{logs.handler-Wk6mYyAZ.mjs → logs.handler-BIqJ0FED.mjs} +1 -1
  52. package/dist/{logs.handler-BRUzZC9Z.mjs → logs.handler-CSqOzxCU.mjs} +5 -5
  53. package/dist/{members.add.handler-BJ0wr6rP.mjs → members.add.handler-CBjoA6vG.mjs} +4 -4
  54. package/dist/{members.invite.handler-DyveDMuq.mjs → members.invite.handler-D8KcKJ9Y.mjs} +4 -4
  55. package/dist/{members.list.handler-CyQxH_zS.mjs → members.list.handler-CB_qSJK0.mjs} +4 -4
  56. package/dist/{members.remove.handler-Dtv9PooY.mjs → members.remove.handler-DNhO81mo.mjs} +4 -4
  57. package/dist/{members.update.handler-CeK-tCjT.mjs → members.update.handler-Bjdk_uz4.mjs} +4 -4
  58. package/dist/{operations-CxQlt0S0.mjs → operations-HHwoArwE.mjs} +5 -5
  59. package/dist/{org-context-BI9OSpbb.mjs → org-context-CNh2p2DP.mjs} +3 -3
  60. package/dist/{org-B8MPHJJu.mjs → org-f-qo68Em.mjs} +16 -16
  61. package/dist/{org-output-DffU7DKn.mjs → org-output-BcI17Uan.mjs} +2 -2
  62. package/dist/{orgs.create.handler-BKvSmkU3.mjs → orgs.create.handler-DOE9ZIed.mjs} +3 -3
  63. package/dist/{orgs.get.handler-BA-CexIY.mjs → orgs.get.handler-sWErVI7r.mjs} +3 -3
  64. package/dist/{orgs.list.handler-eCEg5kC1.mjs → orgs.list.handler-Cp-mXsA0.mjs} +3 -3
  65. package/dist/{output-DnIFEmi5.mjs → output-BPydP5tG.mjs} +1 -1
  66. package/dist/{package-manager-BP3-q8hh.mjs → package-manager-BwJ6muas.mjs} +1 -1
  67. package/dist/{paused.handler-4wKMTKZ-.mjs → paused.handler-DWdoKYY8.mjs} +5 -5
  68. package/dist/{projects-Wu_2fB_x.mjs → projects-CCC36zbJ.mjs} +3 -3
  69. package/dist/{register.handler-BvAkXCwE.mjs → register.handler-Dxae5iq8.mjs} +3 -3
  70. package/dist/{render-operation-VdEPhoII.mjs → render-operation-iF7Wblv2.mjs} +1 -1
  71. package/dist/{requirements.handler-Bab4kBtw.mjs → requirements.handler-Bg3mRnER.mjs} +2 -2
  72. package/dist/{resolve-project-DLKlAy0z.mjs → resolve-project-CoCN9xfi.mjs} +1 -1
  73. package/dist/{run-polling-C5fI7xTp.mjs → run-polling-htHWhG0T.mjs} +1 -1
  74. package/dist/{run.handler-BKD5Xu0A.mjs → run.handler-C-CM-xZG.mjs} +7 -7
  75. package/dist/{runs-CT31dczt.mjs → runs-BRJPNq4B.mjs} +4 -4
  76. package/dist/{search-BeQW_pf4.mjs → search-CQMgdp51.mjs} +3 -3
  77. package/dist/{search.handler-BJ-ZlDL4.mjs → search.handler-Dn5jjyF-.mjs} +4 -4
  78. package/dist/show.handler-CdZF0aao.mjs +79 -0
  79. package/dist/{show.handler-Cqe_hCqU.mjs → show.handler-D3nDc1MJ.mjs} +2 -2
  80. package/dist/{show.handler-DB8xl5FU.mjs → show.handler-DUDxnNiZ.mjs} +4 -4
  81. package/dist/{skill-installer-DuMhavmM.mjs → skill-installer-DYNH_MJT.mjs} +1 -1
  82. package/dist/{skills-sync.handler-BGs-_YD9.mjs → skills-sync.handler-_LVhIMRH.mjs} +3 -3
  83. package/dist/{skills.command-DUWn6FbL.mjs → skills.command-DSHGwXPX.mjs} +3 -3
  84. package/dist/{spinner-progress-BYxlr3lY.mjs → spinner-progress-fLaD0sjH.mjs} +1 -1
  85. package/dist/{status.handler-DAId4bVU.mjs → status.handler-1hEzX5oB.mjs} +1 -1
  86. package/dist/{switch.handler-Cd4Yg2n8.mjs → switch.handler-D135WwfB.mjs} +3 -3
  87. package/dist/{sync-DgC4lcxh.mjs → sync-CFScllh3.mjs} +2 -2
  88. package/dist/{sync.handler-Cm_WtGmH.mjs → sync.handler-x8v53-TT.mjs} +6 -6
  89. package/dist/{test-4V7nh67i.mjs → test-Dx4RXoLZ.mjs} +3 -3
  90. package/dist/{test.handler-Bo4YTs2Z.mjs → test.handler-BmvL5vF8.mjs} +8 -8
  91. package/dist/{test.handler-BdCYcwR4.mjs → test.handler-Mz_XOnJl.mjs} +1 -1
  92. package/dist/{tool.handler-CPCrSDq2.mjs → tool.handler-DsbpocYI.mjs} +7 -7
  93. package/dist/{upgrade-2qUOcjxb.mjs → upgrade-C9G6HksL.mjs} +3 -3
  94. package/dist/{upgrade.handler-PqlKSuUE.mjs → upgrade.handler-DsFeAFF4.mjs} +2 -2
  95. package/dist/{upload.handler-CS-vLpzC.mjs → upload.handler-DscKDQ63.mjs} +6 -6
  96. package/dist/{users.get.handler-CH1c6Lnj.mjs → users.get.handler-CaUv_maM.mjs} +3 -3
  97. package/dist/{users.list.handler-CxbZFgjO.mjs → users.list.handler-DzsOvAtd.mjs} +3 -3
  98. package/dist/{users.set-role.handler-CBRE-Ws6.mjs → users.set-role.handler-koRzA0V9.mjs} +3 -3
  99. package/dist/{validate.handler-1d-UmtXB.mjs → validate.handler-BkBsS8BL.mjs} +6 -6
  100. package/dist/{workflow-build-Bm8JoVv4.mjs → workflow-build-Db6at6IA.mjs} +1 -1
  101. package/dist/{workflows-ny7rOdeH.mjs → workflows-B8VG6nKg.mjs} +13 -13
  102. package/package.json +5 -5
  103. package/dist/show.handler-BrIHUH28.mjs +0 -31
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { A as InputValidationError, L as originalConsole, R as readLogEntries, n as style, p as ui, t as ANSI } from "./keystroke.mjs";
3
+ import { R as originalConsole, j as InputValidationError, n as style, p as ui, t as ANSI, z as readLogEntries } from "./keystroke.mjs";
4
4
  //#region src/commands/logs/logs.handler.ts
5
5
  const LEVEL_STYLES = {
6
6
  debug: ANSI.dim,
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, k as CliExitError, n as style, p as ui, t as ANSI, x as toErrorMessage } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
6
- import { n as resolveWorkflowsDir } from "./resolve-project-DLKlAy0z.mjs";
3
+ import { A as CliExitError, P as throwReportedCliExit, S as toErrorMessage, n as style, p as ui, t as ANSI } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { n as resolveWorkflowsDir } from "./resolve-project-CoCN9xfi.mjs";
7
7
  import { n as sleep, t as TERMINAL_STATUSES } from "./run-polling-1c0ckC1A.mjs";
8
- import { n as assertAuthoredWorkflowId, t as WORKFLOW_ID_COMMANDS } from "./authored-workflow-ref-fkHEEVnd.mjs";
8
+ import { n as assertAuthoredWorkflowId, t as WORKFLOW_ID_COMMANDS } from "./authored-workflow-ref-BRCQgyWl.mjs";
9
9
  import Table from "cli-table3";
10
10
  //#region src/commands/workflows/_shared/run-query.ts
11
11
  async function listRunsByAuthoredWorkflowId(client, options) {
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
6
- import { n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-DNDN0wT6.mjs";
7
- import { s as requireOrganizationId } from "./org-context-BI9OSpbb.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-D01Gw8-M.mjs";
7
+ import { s as requireOrganizationId } from "./org-context-CNh2p2DP.mjs";
8
8
  //#region src/commands/org/members.add.handler.ts
9
9
  async function handleMembersAdd(options, ctx) {
10
10
  const client = requireClient(ctx);
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
6
- import { n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-DNDN0wT6.mjs";
7
- import { s as requireOrganizationId } from "./org-context-BI9OSpbb.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-D01Gw8-M.mjs";
7
+ import { s as requireOrganizationId } from "./org-context-CNh2p2DP.mjs";
8
8
  //#region src/commands/org/members.invite.handler.ts
9
9
  async function handleMembersInvite(options, ctx) {
10
10
  const client = requireClient(ctx);
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
6
- import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-DNDN0wT6.mjs";
7
- import { s as requireOrganizationId } from "./org-context-BI9OSpbb.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-D01Gw8-M.mjs";
7
+ import { s as requireOrganizationId } from "./org-context-CNh2p2DP.mjs";
8
8
  import Table from "cli-table3";
9
9
  //#region src/commands/org/members.list.handler.ts
10
10
  async function handleMembersList(_options, ctx) {
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
6
- import { n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-DNDN0wT6.mjs";
7
- import { s as requireOrganizationId } from "./org-context-BI9OSpbb.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-D01Gw8-M.mjs";
7
+ import { s as requireOrganizationId } from "./org-context-CNh2p2DP.mjs";
8
8
  //#region src/commands/org/members.remove.handler.ts
9
9
  async function handleMembersRemove(options, ctx) {
10
10
  const client = requireClient(ctx);
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
6
- import { n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-DNDN0wT6.mjs";
7
- import { s as requireOrganizationId } from "./org-context-BI9OSpbb.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-D01Gw8-M.mjs";
7
+ import { s as requireOrganizationId } from "./org-context-CNh2p2DP.mjs";
8
8
  //#region src/commands/org/members.update.handler.ts
9
9
  async function handleMembersUpdate(options, ctx) {
10
10
  const client = requireClient(ctx);
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-DnIFEmi5.mjs";
4
- import { t as createTypedCommand } from "./commander-C6SSTQJ2.mjs";
3
+ import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BPydP5tG.mjs";
4
+ import { t as createTypedCommand } from "./commander-B_8QwPpe.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/operations/operations.command.ts
7
7
  const OperationsListOptionsSchema = JsonOptionSchema.extend({
@@ -56,13 +56,13 @@ function createOperationsCommand() {
56
56
  description: "Browse and inspect operations across all integrations",
57
57
  schema: OperationsListOptionsSchema,
58
58
  optionsConfig: OPERATIONS_LIST_OPTIONS_CONFIG,
59
- loadHandler: async () => (await import("./list.handler-7MkJfkak.mjs")).handleOperationsList,
59
+ loadHandler: async () => (await import("./list.handler-D-rSyrX0.mjs")).handleOperationsList,
60
60
  subcommands: [createTypedCommand({
61
61
  name: "list",
62
62
  description: "List operations, optionally scoped to one integration",
63
63
  schema: OperationsListOptionsSchema,
64
64
  optionsConfig: OPERATIONS_LIST_OPTIONS_CONFIG,
65
- loadHandler: async () => (await import("./list.handler-7MkJfkak.mjs")).handleOperationsList
65
+ loadHandler: async () => (await import("./list.handler-D-rSyrX0.mjs")).handleOperationsList
66
66
  }), createTypedCommand({
67
67
  name: "show",
68
68
  description: "Show full details for one operation, including input/output schemas",
@@ -73,7 +73,7 @@ function createOperationsCommand() {
73
73
  description: "Operation id, e.g. aws-s3.put-object",
74
74
  key: "id"
75
75
  },
76
- loadHandler: async () => (await import("./show.handler-DB8xl5FU.mjs")).handleOperationShow
76
+ loadHandler: async () => (await import("./show.handler-DUDxnNiZ.mjs")).handleOperationShow
77
77
  })]
78
78
  });
79
79
  }
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, b as isNetworkError, p as ui, x as toErrorMessage, y as isAuthError } from "./keystroke.mjs";
4
- import { a as writeJsonError } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
3
+ import { P as throwReportedCliExit, S as toErrorMessage, b as isAuthError, p as ui, x as isNetworkError } from "./keystroke.mjs";
4
+ import { a as writeJsonError } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
6
  //#region src/commands/org/org-context.ts
7
7
  /** Shown when org context is missing or IAM commands need an org. */
8
8
  const ORG_CONTEXT_HINT = "Pass --org <organization-id>, set KEYSTROKE_ORG_ID, or run `keystroke org switch`.";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-DnIFEmi5.mjs";
4
- import { t as createTypedCommand } from "./commander-C6SSTQJ2.mjs";
3
+ import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BPydP5tG.mjs";
4
+ import { t as createTypedCommand } from "./commander-B_8QwPpe.mjs";
5
5
  import { t as OrgRoleSchema } from "./schema-Lbp5lGJu.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/commands/org/invites.command.ts
@@ -36,14 +36,14 @@ function createOrgInvitesCommand() {
36
36
  description: "Manage organization invitations",
37
37
  schema: OrgInvitesListOptionsSchema,
38
38
  optionsConfig: { ...JSON_OPTION_CONFIG },
39
- loadHandler: async () => (await import("./invites.list.handler-Dj4a6XOg.mjs")).handleOrgInvitesList,
39
+ loadHandler: async () => (await import("./invites.list.handler-CQLWSoWo.mjs")).handleOrgInvitesList,
40
40
  subcommands: [
41
41
  createTypedCommand({
42
42
  name: "list",
43
43
  description: "List organization invites",
44
44
  schema: OrgInvitesListOptionsSchema,
45
45
  optionsConfig: { ...JSON_OPTION_CONFIG },
46
- loadHandler: async () => (await import("./invites.list.handler-Dj4a6XOg.mjs")).handleOrgInvitesList
46
+ loadHandler: async () => (await import("./invites.list.handler-CQLWSoWo.mjs")).handleOrgInvitesList
47
47
  }),
48
48
  createTypedCommand({
49
49
  name: "resend",
@@ -55,7 +55,7 @@ function createOrgInvitesCommand() {
55
55
  description: "Invite ID to resend",
56
56
  key: "inviteId"
57
57
  },
58
- loadHandler: async () => (await import("./invites.resend.handler-DEGF4vlB.mjs")).handleOrgInvitesResend
58
+ loadHandler: async () => (await import("./invites.resend.handler-CeIGE_qM.mjs")).handleOrgInvitesResend
59
59
  }),
60
60
  createTypedCommand({
61
61
  name: "revoke",
@@ -67,7 +67,7 @@ function createOrgInvitesCommand() {
67
67
  description: "Invite ID to revoke",
68
68
  key: "inviteId"
69
69
  },
70
- loadHandler: async () => (await import("./invites.revoke.handler-Dg4ZvlFS.mjs")).handleOrgInvitesRevoke
70
+ loadHandler: async () => (await import("./invites.revoke.handler-9K6jkym_.mjs")).handleOrgInvitesRevoke
71
71
  })
72
72
  ]
73
73
  });
@@ -142,28 +142,28 @@ function createOrgMembersCommand() {
142
142
  description: "Manage organization members",
143
143
  schema: MembersListOptionsSchema,
144
144
  optionsConfig: { ...JSON_OPTION_CONFIG },
145
- loadHandler: async () => (await import("./members.list.handler-CyQxH_zS.mjs")).handleMembersList,
145
+ loadHandler: async () => (await import("./members.list.handler-CB_qSJK0.mjs")).handleMembersList,
146
146
  subcommands: [
147
147
  createTypedCommand({
148
148
  name: "list",
149
149
  description: "List organization members",
150
150
  schema: MembersListOptionsSchema,
151
151
  optionsConfig: { ...JSON_OPTION_CONFIG },
152
- loadHandler: async () => (await import("./members.list.handler-CyQxH_zS.mjs")).handleMembersList
152
+ loadHandler: async () => (await import("./members.list.handler-CB_qSJK0.mjs")).handleMembersList
153
153
  }),
154
154
  createTypedCommand({
155
155
  name: "invite",
156
156
  description: "Invite a user to the current organization",
157
157
  schema: MembersInviteOptionsSchema,
158
158
  optionsConfig: INVITE_OPTIONS_CONFIG,
159
- loadHandler: async () => (await import("./members.invite.handler-DyveDMuq.mjs")).handleMembersInvite
159
+ loadHandler: async () => (await import("./members.invite.handler-D8KcKJ9Y.mjs")).handleMembersInvite
160
160
  }),
161
161
  createTypedCommand({
162
162
  name: "add",
163
163
  description: "Add an existing user to the current organization",
164
164
  schema: MembersAddOptionsSchema,
165
165
  optionsConfig: ADD_OPTIONS_CONFIG,
166
- loadHandler: async () => (await import("./members.add.handler-BJ0wr6rP.mjs")).handleMembersAdd
166
+ loadHandler: async () => (await import("./members.add.handler-CBjoA6vG.mjs")).handleMembersAdd
167
167
  }),
168
168
  createTypedCommand({
169
169
  name: "update",
@@ -175,7 +175,7 @@ function createOrgMembersCommand() {
175
175
  description: "User ID to update",
176
176
  key: "userId"
177
177
  },
178
- loadHandler: async () => (await import("./members.update.handler-CeK-tCjT.mjs")).handleMembersUpdate
178
+ loadHandler: async () => (await import("./members.update.handler-Bjdk_uz4.mjs")).handleMembersUpdate
179
179
  }),
180
180
  createTypedCommand({
181
181
  name: "remove",
@@ -187,7 +187,7 @@ function createOrgMembersCommand() {
187
187
  description: "User ID to remove",
188
188
  key: "userId"
189
189
  },
190
- loadHandler: async () => (await import("./members.remove.handler-Dtv9PooY.mjs")).handleMembersRemove
190
+ loadHandler: async () => (await import("./members.remove.handler-DNhO81mo.mjs")).handleMembersRemove
191
191
  })
192
192
  ]
193
193
  });
@@ -209,28 +209,28 @@ function createOrgCommand() {
209
209
  description: ORG_COMMAND_DESCRIPTION,
210
210
  schema: OrgReadOptionsSchema,
211
211
  optionsConfig: ORG_READ_OPTIONS_CONFIG,
212
- loadHandler: async () => (await import("./list.handler-BTYVIn6z.mjs")).handleOrgList,
212
+ loadHandler: async () => (await import("./list.handler-CDWPmiMy.mjs")).handleOrgList,
213
213
  subcommands: [
214
214
  createTypedCommand({
215
215
  name: "list",
216
216
  description: "List your organizations",
217
217
  schema: OrgReadOptionsSchema,
218
218
  optionsConfig: ORG_READ_OPTIONS_CONFIG,
219
- loadHandler: async () => (await import("./list.handler-BTYVIn6z.mjs")).handleOrgList
219
+ loadHandler: async () => (await import("./list.handler-CDWPmiMy.mjs")).handleOrgList
220
220
  }),
221
221
  createTypedCommand({
222
222
  name: "current",
223
223
  description: "Show the current organization",
224
224
  schema: OrgReadOptionsSchema,
225
225
  optionsConfig: ORG_READ_OPTIONS_CONFIG,
226
- loadHandler: async () => (await import("./current.handler-DP1L_hm3.mjs")).handleOrgCurrent
226
+ loadHandler: async () => (await import("./current.handler-Cy91EeLU.mjs")).handleOrgCurrent
227
227
  }),
228
228
  createTypedCommand({
229
229
  name: "switch",
230
230
  description: "Switch to a different organization (interactive)",
231
231
  schema: OrgSwitchOptionsSchema,
232
232
  optionsConfig: ORG_SWITCH_OPTIONS_CONFIG,
233
- loadHandler: async () => (await import("./switch.handler-Cd4Yg2n8.mjs")).handleOrgSwitch
233
+ loadHandler: async () => (await import("./switch.handler-D135WwfB.mjs")).handleOrgSwitch
234
234
  }),
235
235
  createOrgMembersCommand(),
236
236
  createOrgInvitesCommand()
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as formatOrgSourceLabel } from "./org-context-BI9OSpbb.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as formatOrgSourceLabel } from "./org-context-CNh2p2DP.mjs";
6
6
  import Table from "cli-table3";
7
7
  //#region src/commands/org/org-output.ts
8
8
  function formatOrgStatus(row) {
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
6
- import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-DNDN0wT6.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-D01Gw8-M.mjs";
7
7
  //#region src/commands/admin/orgs.create.handler.ts
8
8
  async function handleAdminOrgsCreate(options, ctx) {
9
9
  const client = requireClient(ctx);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
6
- import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-DNDN0wT6.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-D01Gw8-M.mjs";
7
7
  //#region src/commands/admin/orgs.get.handler.ts
8
8
  async function handleAdminOrgsGet(options, ctx) {
9
9
  const client = requireClient(ctx);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
6
- import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-DNDN0wT6.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-D01Gw8-M.mjs";
7
7
  import Table from "cli-table3";
8
8
  //#region src/commands/admin/orgs.list.handler.ts
9
9
  async function handleAdminOrgsList(_options, ctx) {
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit } from "./keystroke.mjs";
3
+ import { P as throwReportedCliExit } from "./keystroke.mjs";
4
4
  import { z } from "zod";
5
5
  //#region src/lib/output.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { x as toErrorMessage } from "./keystroke.mjs";
3
+ import { S as toErrorMessage } from "./keystroke.mjs";
4
4
  import { dirname, join } from "node:path";
5
5
  import { existsSync, readFileSync } from "node:fs";
6
6
  import { spawn } from "node:child_process";
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, k as CliExitError, p as ui, x as toErrorMessage } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
6
- import { n as resolveWorkflowsDir } from "./resolve-project-DLKlAy0z.mjs";
7
- import { n as assertAuthoredWorkflowId, t as WORKFLOW_ID_COMMANDS } from "./authored-workflow-ref-fkHEEVnd.mjs";
3
+ import { A as CliExitError, P as throwReportedCliExit, S as toErrorMessage, p as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { n as resolveWorkflowsDir } from "./resolve-project-CoCN9xfi.mjs";
7
+ import { n as assertAuthoredWorkflowId, t as WORKFLOW_ID_COMMANDS } from "./authored-workflow-ref-BRCQgyWl.mjs";
8
8
  //#region src/commands/workflows/paused/paused.handler.ts
9
9
  async function handleWorkflowsPaused(options, ctx) {
10
10
  const client = requireClient(ctx);
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-DnIFEmi5.mjs";
4
- import { t as createTypedCommand } from "./commander-C6SSTQJ2.mjs";
3
+ import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BPydP5tG.mjs";
4
+ import { t as createTypedCommand } from "./commander-B_8QwPpe.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/projects/projects.command.ts
7
- const loadProjectsListHandler = async () => (await import("./list2.handler-BIaIyrQf.mjs")).handleProjectsList;
7
+ const loadProjectsListHandler = async () => (await import("./list2.handler-BpqKZTZk.mjs")).handleProjectsList;
8
8
  const PROJECTS_LIST_OPTIONS = {
9
9
  schema: JsonOptionSchema,
10
10
  optionsConfig: { ...JSON_OPTION_CONFIG },
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, b as isNetworkError, h as AUTH_HINT, p as ui, x as toErrorMessage } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
3
+ import { A as CliExitError, P as throwReportedCliExit, S as toErrorMessage, h as AUTH_HINT, p as ui, x as isNetworkError } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
5
  //#region src/commands/integrations/register.handler.ts
6
6
  function exitWithError(ctx, message, opts) {
7
7
  if (ctx.jsonMode) {
@@ -80,7 +80,7 @@ async function handleIntegrationsRegister(options, ctx) {
80
80
  if (data.created) ui.success(`Registered provider app for "${integrationId}".`);
81
81
  else ui.success(`Updated provider app for "${integrationId}".`);
82
82
  } catch (error) {
83
- if (error instanceof Error && error.name === "CliExitError") throw error;
83
+ if (error instanceof CliExitError) throw error;
84
84
  if (isNetworkError(error)) exitWithError(ctx, `Could not reach the Keystroke server to register "${integrationId}".`, {
85
85
  code: "NETWORK_ERROR",
86
86
  hint: `Check that your local services are running and that the CLI is pointed at ${baseUrl}.`
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as formatPackageInstallCommand } from "./package-manager-BP3-q8hh.mjs";
4
+ import { i as formatPackageInstallCommand } from "./package-manager-BwJ6muas.mjs";
5
5
  //#region src/lib/render-operation.ts
6
6
  function isFull(op) {
7
7
  return "inputSchemaJson" in op;
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { c as getProcessEnv, n as style, p as ui, t as ANSI } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
5
  import { a as readManifestsFromOutDir } from "./dist-BmbFJq8U.mjs";
6
- import { t as requireWorkflowsDir } from "./resolve-project-DLKlAy0z.mjs";
6
+ import { t as requireWorkflowsDir } from "./resolve-project-CoCN9xfi.mjs";
7
7
  import { t as readCredentialEnvMap } from "./credential-env-map-5a41jLwM.mjs";
8
8
  import { a as loadProjectDotenvFile, c as getTerminalContentWidth, o as manifestGroupKey, s as normalizeManifestScopeToServer, t as buildCredentialWorkflowConsumersByGroup, u as truncateWithEllipsis } from "./list-enrichment-dqbkXJzy.mjs";
9
9
  import { t as groupCredentialRequirements } from "./credentials-DtwLbee6.mjs";
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { j as ProjectNotFoundError, p as ui } from "./keystroke.mjs";
3
+ import { M as ProjectNotFoundError, p as ui } from "./keystroke.mjs";
4
4
  import { i as projects } from "./dist-B5jy238v.mjs";
5
5
  import { n as findProjectRoot, r as getProjectConfigPath } from "./project-config-DudGRFPO.mjs";
6
6
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { A as InputValidationError, p as ui, x as toErrorMessage } from "./keystroke.mjs";
3
+ import { S as toErrorMessage, j as InputValidationError, p as ui } from "./keystroke.mjs";
4
4
  import { a as readManifestsFromOutDir } from "./dist-BmbFJq8U.mjs";
5
5
  import { c as validateRequiredFields, n as formatMissingInputError, r as formatValidationError } from "./schema-display-sZ6ConJd.mjs";
6
6
  import { n as sleep, t as TERMINAL_STATUSES } from "./run-polling-1c0ckC1A.mjs";
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, k as CliExitError, p as ui, x as toErrorMessage } from "./keystroke.mjs";
3
+ import { A as CliExitError, P as throwReportedCliExit, S as toErrorMessage, p as ui } from "./keystroke.mjs";
4
4
  import { i as projects } from "./dist-B5jy238v.mjs";
5
5
  import { t as assertWorkflowProjectRoot } from "./project-config-DudGRFPO.mjs";
6
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
7
- import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-ebZssGCY.mjs";
8
- import { n as resolveWorkflowsDir } from "./resolve-project-DLKlAy0z.mjs";
9
- import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-C6x65imE.mjs";
10
- import { i as resolveWorkflowGlobals, o as validateInputOrExit, r as resolveRunInput, s as validateWorkflowGlobalsOrExit, t as pollForCompletion } from "./run-polling-C5fI7xTp.mjs";
11
- import { n as assertAuthoredWorkflowId, t as WORKFLOW_ID_COMMANDS } from "./authored-workflow-ref-fkHEEVnd.mjs";
6
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
7
+ import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-Brc9VGV9.mjs";
8
+ import { n as resolveWorkflowsDir } from "./resolve-project-CoCN9xfi.mjs";
9
+ import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-CknsHF5T.mjs";
10
+ import { i as resolveWorkflowGlobals, o as validateInputOrExit, r as resolveRunInput, s as validateWorkflowGlobalsOrExit, t as pollForCompletion } from "./run-polling-htHWhG0T.mjs";
11
+ import { n as assertAuthoredWorkflowId, t as WORKFLOW_ID_COMMANDS } from "./authored-workflow-ref-BRCQgyWl.mjs";
12
12
  //#region src/commands/workflows/run.handler.ts
13
13
  async function handleWorkflowsRun(options, ctx) {
14
14
  const client = requireClient(ctx);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, n as style, p as ui, t as ANSI, x as toErrorMessage } from "./keystroke.mjs";
4
- import { i as writeJson, n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-DnIFEmi5.mjs";
5
- import { t as createTypedCommand } from "./commander-C6SSTQJ2.mjs";
6
- import { i as requireClient } from "./context-ebZssGCY.mjs";
3
+ import { P as throwReportedCliExit, S as toErrorMessage, n as style, p as ui, t as ANSI } from "./keystroke.mjs";
4
+ import { i as writeJson, n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BPydP5tG.mjs";
5
+ import { t as createTypedCommand } from "./commander-B_8QwPpe.mjs";
6
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
7
7
  import { z } from "zod";
8
8
  //#region src/commands/runs/inspect-display.ts
9
9
  function renderRunInspect(input) {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-DnIFEmi5.mjs";
4
- import { t as createTypedCommand } from "./commander-C6SSTQJ2.mjs";
3
+ import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BPydP5tG.mjs";
4
+ import { t as createTypedCommand } from "./commander-B_8QwPpe.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/search/search.command.ts
7
7
  const SearchTypeValues = [
@@ -46,7 +46,7 @@ function createSearchCommand() {
46
46
  description: "Search query (matches name and related fields per --type)",
47
47
  key: "query"
48
48
  },
49
- loadHandler: async () => (await import("./search.handler-BJ-ZlDL4.mjs")).handleSearch
49
+ loadHandler: async () => (await import("./search.handler-Dn5jjyF-.mjs")).handleSearch
50
50
  });
51
51
  }
52
52
  //#endregion
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
6
  import { t as renderCredential } from "./render-credential-D-H1ECDt.mjs";
7
- import { i as formatPackageInstallCommand, r as detectPackageManager } from "./package-manager-BP3-q8hh.mjs";
8
- import { t as renderOperation } from "./render-operation-VdEPhoII.mjs";
7
+ import { i as formatPackageInstallCommand, r as detectPackageManager } from "./package-manager-BwJ6muas.mjs";
8
+ import { t as renderOperation } from "./render-operation-iF7Wblv2.mjs";
9
9
  //#region src/lib/render-integration.ts
10
10
  function renderIntegration(i, { full = false, packageManager } = {}) {
11
11
  ui.br();
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { P as throwReportedCliExit, S as toErrorMessage, b as isAuthError, g as REAUTH_HINT, p as ui, v as getApiErrorMessage, x as isNetworkError, y as getHttpStatus } from "./keystroke.mjs";
4
+ import { a as writeJsonError, i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
+ import { i as formatPackageInstallCommand, r as detectPackageManager } from "./package-manager-BwJ6muas.mjs";
7
+ //#region src/commands/integrations/show.handler.ts
8
+ async function reportIntegrationShowFailure(ctx, integrationId, error) {
9
+ if (getHttpStatus(error) === 404) {
10
+ const message = await getApiErrorMessage(error) ?? `Integration "${integrationId}" was not found.`;
11
+ if (ctx.jsonMode) writeJsonError(message, {
12
+ code: "NOT_FOUND",
13
+ cause: error
14
+ });
15
+ else ui.error(message);
16
+ throwReportedCliExit(message, { cause: error });
17
+ }
18
+ if (isAuthError(error)) {
19
+ const message = `Not authenticated. ${REAUTH_HINT}`;
20
+ if (ctx.jsonMode) writeJsonError(message, {
21
+ code: "AUTH_ERROR",
22
+ hint: REAUTH_HINT,
23
+ cause: error
24
+ });
25
+ else ui.error(message);
26
+ throwReportedCliExit(message, { cause: error });
27
+ }
28
+ if (isNetworkError(error)) {
29
+ const url = ctx.baseUrl ?? "the Keystroke server";
30
+ const message = `Could not reach ${url} to load integration "${integrationId}".`;
31
+ const hint = `Check that your local services are running and that the CLI is pointed at ${url}.`;
32
+ if (ctx.jsonMode) writeJsonError(message, {
33
+ code: "NETWORK_ERROR",
34
+ hint,
35
+ cause: error
36
+ });
37
+ else {
38
+ ui.error(message);
39
+ ui.hint(hint);
40
+ }
41
+ throwReportedCliExit(message, { cause: error });
42
+ }
43
+ const message = `Failed to load integration "${integrationId}": ${toErrorMessage(error)}`;
44
+ if (ctx.jsonMode) writeJsonError(message, {
45
+ code: "INTEGRATION_SHOW_FAILED",
46
+ cause: error
47
+ });
48
+ else ui.error(message);
49
+ throwReportedCliExit(message, { cause: error });
50
+ }
51
+ async function handleIntegrationShow(options, ctx) {
52
+ const client = requireClient(ctx);
53
+ const integrationId = options.id;
54
+ try {
55
+ const [integration, operations] = await Promise.all([client.integrations.get(integrationId), client.integrations.listOperations(integrationId)]);
56
+ if (ctx.jsonMode) {
57
+ writeJson({
58
+ integration: integration.integration,
59
+ operations: operations.operations
60
+ });
61
+ return;
62
+ }
63
+ const entry = integration.integration;
64
+ const packageManager = detectPackageManager();
65
+ const npmPackageName = entry.npmPackageName ?? `@keystrokehq/${entry.publicId}`;
66
+ ui.text(entry.publicId);
67
+ ui.text(` ${entry.name}`);
68
+ if (entry.description) ui.text(` ${entry.description}`);
69
+ ui.text(` install: ${formatPackageInstallCommand(npmPackageName, { packageManager })}`);
70
+ ui.text(` operations (${operations.operations.length}):`);
71
+ for (const op of operations.operations) ui.text(` ${op.id} — ${op.name}`);
72
+ ui.br();
73
+ ui.hint(`Usage examples are in ${entry.npmPackageName ?? `@keystrokehq/${entry.publicId}`}'s TSDoc — open in your IDE for hover docs.`);
74
+ } catch (error) {
75
+ await reportIntegrationShowFailure(ctx, integrationId, error);
76
+ }
77
+ }
78
+ //#endregion
79
+ export { handleIntegrationShow };
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { p as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-DnIFEmi5.mjs";
5
- import { i as requireClient } from "./context-ebZssGCY.mjs";
4
+ import { i as writeJson } from "./output-BPydP5tG.mjs";
5
+ import { i as requireClient } from "./context-Brc9VGV9.mjs";
6
6
  import { o as renderJsonSchema } from "./schema-display-sZ6ConJd.mjs";
7
7
  import { t as renderCredential } from "./render-credential-D-H1ECDt.mjs";
8
8
  //#region src/commands/credentials/definitions/show.handler.ts