@keystrokehq/cli 0.0.16 → 0.0.18

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 (150) hide show
  1. package/dist/{accept.handler-BPwp_UAE.mjs → accept.handler-B7QzdKCh.mjs} +4 -4
  2. package/dist/{admin-Bb9Hx-gO.mjs → admin-CYpulx_A.mjs} +11 -11
  3. package/dist/{agents-CbmvvOAx.mjs → agents-Co6Jy_N8.mjs} +10 -10
  4. package/dist/{api-jkf0TTgD.mjs → api-DsK8M-ZH.mjs} +1 -1
  5. package/dist/{api-keys-DJlyIf10.mjs → api-keys-BUCLzRv_.mjs} +6 -6
  6. package/dist/{auth-DpDEkJz7.mjs → auth-niNm-yNT.mjs} +12 -7
  7. package/dist/{auth.handler-u3qmoUX0.mjs → auth.handler-BTH-Qb00.mjs} +59 -26
  8. package/dist/{build-agents-DseUtzd4-VYWtIZy9.mjs → build-agents-DseUtzd4-CthuIecx.mjs} +6 -6
  9. package/dist/{build-metadata-C8Ra_Gi--BdoyLQMl.mjs → build-metadata-C8Ra_Gi--L3l8w0rh.mjs} +7 -7
  10. package/dist/{build-progress-BZivcVz4.mjs → build-progress-AR8xow4_.mjs} +2 -2
  11. package/dist/{build-tasks-GVuMLS0h-p08mMOyK.mjs → build-tasks-GVuMLS0h-CCxCqd02.mjs} +3 -3
  12. package/dist/{build-workflows-CV4tBo6S-knCnBKTc.mjs → build-workflows-CV4tBo6S-DhFBlp6m.mjs} +10 -10
  13. package/dist/{build.handler-BNSC_zhQ.mjs → build.handler-BmlXPhed.mjs} +7 -7
  14. package/dist/{clear-cache.handler-gr5VmEYB.mjs → clear-cache.handler-CTLQ1PIN.mjs} +3 -3
  15. package/dist/clear.handler-BDlwBzX4.mjs +68 -0
  16. package/dist/{clear.handler-CtOZ4aRn.mjs → clear.handler-C_pXAeBG.mjs} +3 -2
  17. package/dist/{commander-D15UZVjp.mjs → commander-BE37hxR3.mjs} +4 -4
  18. package/dist/{connect-DzSNDSmI.mjs → connect-C9NMD8Ky.mjs} +3 -3
  19. package/dist/{connect.handler-DRO05ak3.mjs → connect.handler-C7kysvhz.mjs} +5 -5
  20. package/dist/{context-B1L8pZsH.mjs → context-Bid-Rqj7.mjs} +49 -17
  21. package/dist/{create.handler-DF1Ye4nr.mjs → create.handler-Cp9CV6SN.mjs} +3 -3
  22. package/dist/{credential-env-map-B2nVJXPn.mjs → credential-env-map-BA4LNI7x.mjs} +6 -5
  23. package/dist/{credential-requirements-FtBk5JVB.mjs → credential-requirements-DrrQ9x9P.mjs} +3 -3
  24. package/dist/{credential-schema-mismatch-CfyBUMPS.mjs → credential-schema-mismatch-z74ud-YZ.mjs} +1 -1
  25. package/dist/{credentials-CiOwDS5y.mjs → credentials-DUkVbhvj.mjs} +1 -1
  26. package/dist/{credentials-VidBoOd7.mjs → credentials-fMfKVlEn.mjs} +7 -7
  27. package/dist/{current-deployment-workflow-BRUEdPrN.mjs → current-deployment-workflow-DiwUcKoB.mjs} +6 -6
  28. package/dist/{current.handler-QZQ-l84v.mjs → current.handler-eCR4nClu.mjs} +3 -3
  29. package/dist/{delete.handler-Bude0SVP.mjs → delete.handler-D4ElSAcr.mjs} +2 -2
  30. package/dist/{deploy-eshEEiP-.mjs → deploy-B7LRWcp6.mjs} +2 -2
  31. package/dist/{deploy-CJbVB7e2.mjs → deploy-DyZh--f7.mjs} +1 -1
  32. package/dist/{deploy-progress-DJHph1Fz.mjs → deploy-progress-DK87VKJ-.mjs} +2 -2
  33. package/dist/{deploy.handler-BxxWI7nV.mjs → deploy.handler-DVnH-Niv.mjs} +20 -20
  34. package/dist/{detect-env-access-CwkOYeYM-CZIixHeR.mjs → detect-env-access-CwkOYeYM-CNTyUzme.mjs} +1 -1
  35. package/dist/{diff-utils-4OQTpP5s.mjs → diff-utils-B0ED-Igv.mjs} +1 -1
  36. package/dist/{diff.handler-CzrKCj7N.mjs → diff.handler-lIA2pRBX.mjs} +7 -7
  37. package/dist/dist-CIInPRGh.mjs +1071 -0
  38. package/dist/{dist-FQYQ2FLm.mjs → dist-WFPTDQB3.mjs} +15 -15
  39. package/dist/{env.handler-B3YDQIVE.mjs → env.handler-BIzQLlmo.mjs} +10 -10
  40. package/dist/{error-boundary-CyLcinp1.mjs → error-boundary-B8cmSwJH.mjs} +3 -3
  41. package/dist/{file-metadata-DaPPpiTh.mjs → file-metadata-lrX05iRt.mjs} +1 -1
  42. package/dist/{iam-command-utils-ByLX0A-V.mjs → iam-command-utils-CSZj4XlH.mjs} +2 -2
  43. package/dist/{import-module--8x5SLum-DaUNACER.mjs → import-module--8x5SLum-D7EiPjwl.mjs} +6 -6
  44. package/dist/{init-PTwX63_P.mjs → init-jaqNLGmB.mjs} +3 -3
  45. package/dist/{init.handler-CdytFiFt.mjs → init.handler-DamvbPEw.mjs} +11 -9
  46. package/dist/{inspect.handler-umc7of-r.mjs → inspect.handler-_UcN7dxE.mjs} +8 -8
  47. package/dist/{integration-catalog-BgT4mLzW.mjs → integration-catalog-m8tj_XlD.mjs} +3 -3
  48. package/dist/{integrations-B0Gv-L0s.mjs → integrations-DRL3JmC8.mjs} +12 -7
  49. package/dist/{invites-Cqi7iyIN.mjs → invites-VntHNMYk.mjs} +5 -5
  50. package/dist/{invites.list.handler-CErgY35S.mjs → invites.list.handler-CPl4QHfc.mjs} +4 -4
  51. package/dist/{invites.resend.handler-DRCRIA4F.mjs → invites.resend.handler-BAtb3AX4.mjs} +4 -4
  52. package/dist/{invites.revoke.handler-C0FZdAR0.mjs → invites.revoke.handler-qXOF1Vgx.mjs} +4 -4
  53. package/dist/keystroke.mjs +558 -207
  54. package/dist/{list-enrichment-C6u5eI0j.mjs → list-enrichment-DYvr3XDb.mjs} +3 -3
  55. package/dist/{list.handler-c-8RpgB9.mjs → list.handler-BLkQKiV1.mjs} +17 -16
  56. package/dist/{list.handler-CBEXiTAK.mjs → list.handler-BdRsjRlf.mjs} +3 -3
  57. package/dist/{list.handler-BjutlIkE.mjs → list.handler-CEjKSezx.mjs} +59 -13
  58. package/dist/{list2.handler-T5v4EK20.mjs → list.handler-CJUFdmaU.mjs} +7 -7
  59. package/dist/{list.handler-Cr_DFAae.mjs → list.handler-C_iBLBmS.mjs} +3 -3
  60. package/dist/{list.handler-FlchXrKz.mjs → list.handler-DUz1bJ4x.mjs} +4 -4
  61. package/dist/{list.handler-D-YFoKLU.mjs → list.handler-pHnPFep8.mjs} +7 -7
  62. package/dist/{listen-rHLiCWbn.mjs → listen-DLGZEQRL.mjs} +3 -3
  63. package/dist/{listen.handler-B9T58yAj.mjs → listen.handler-kaAvYk-B.mjs} +4 -4
  64. package/dist/logs-CcYqFKRU.mjs +58 -0
  65. package/dist/logs.handler-DyRoevtO.mjs +53 -0
  66. package/dist/{logs.handler-DGcGN2qb.mjs → logs.handler-lboRKNoE.mjs} +4 -4
  67. package/dist/{members.add.handler-DmYI43rZ.mjs → members.add.handler-DBydP0SR.mjs} +4 -4
  68. package/dist/{members.invite.handler-B_KVxv5m.mjs → members.invite.handler-D4-7fiYC.mjs} +4 -4
  69. package/dist/{members.list.handler-BtuuIgQS.mjs → members.list.handler-Z4cIbcNg.mjs} +4 -4
  70. package/dist/{members.remove.handler-Lvg-CqVv.mjs → members.remove.handler-J56D83O7.mjs} +4 -4
  71. package/dist/{members.update.handler-D-8izeso.mjs → members.update.handler-B5rBv6dt.mjs} +4 -4
  72. package/dist/{normalize-path-CojS-CgQ-DFTvyA27.mjs → normalize-path-CojS-CgQ-D4wSBHgG.mjs} +1 -1
  73. package/dist/{org-DUCts2MV.mjs → org-DGS91uc-.mjs} +17 -17
  74. package/dist/{orgs.create.handler-vXQgDJZ_.mjs → orgs.create.handler-B4naNUSN.mjs} +4 -4
  75. package/dist/{orgs.get.handler-D_Jfl18x.mjs → orgs.get.handler-Ci_JrT08.mjs} +4 -4
  76. package/dist/{orgs.list.handler-BNjoTJvV.mjs → orgs.list.handler-CJ2byIEj.mjs} +4 -4
  77. package/dist/{output-CGdYhH0p.mjs → output-BWcVRt-T.mjs} +1 -1
  78. package/dist/paths-JzzFkXQA-CEipIeVl.mjs +36 -0
  79. package/dist/{paused.handler-ST9dCe8E.mjs → paused.handler-BQSQvQhB.mjs} +3 -3
  80. package/dist/{projects-CbquwUlm.mjs → projects-D90_uEC2.mjs} +5 -5
  81. package/dist/{projects-DfaG_3WP.mjs → projects-fWvIJQ80.mjs} +1 -1
  82. package/dist/{register.handler-BAx0IC-u.mjs → register.handler-CleQJhtQ.mjs} +2 -2
  83. package/dist/{requirements.handler-D5dFi7XZ.mjs → requirements.handler-B51sxQSy.mjs} +7 -7
  84. package/dist/resolve-cli-credentials-DytxgMwn.mjs +47 -0
  85. package/dist/{resolve-project-CURYMjex.mjs → resolve-project-CNQtOWE4.mjs} +7 -7
  86. package/dist/{run-polling-BWcLQvm0.mjs → run-polling-CC6y2XXI.mjs} +5 -5
  87. package/dist/{run.handler-BiBDLoeH.mjs → run.handler-B31BpZJP.mjs} +9 -9
  88. package/dist/{runs-Bc3zjk7V.mjs → runs-Bg_qDeQi.mjs} +4 -4
  89. package/dist/{skill-installer-DkRJ6oLi.mjs → skill-installer-BBgN2tzW.mjs} +2 -2
  90. package/dist/{skills-sync.handler-C4ztv1Vu.mjs → skills-sync.handler-DOxudKmV.mjs} +3 -3
  91. package/dist/{skills.command-DuL4kLUi.mjs → skills.command-JwKWpGvU.mjs} +5 -5
  92. package/dist/{skills.handler-R5KAbioE.mjs → skills.handler-Do9I3dQS.mjs} +1 -1
  93. package/dist/{source-analysis-BBg2E_6G-BQqm16RR.mjs → source-analysis-BBg2E_6G-Ut7kYHOz.mjs} +4 -4
  94. package/dist/{spinner-progress-DfkMzwGx.mjs → spinner-progress-Bx-fYItP.mjs} +1 -1
  95. package/dist/{src-BQdOWkyv.mjs → src-B0tNjKMg.mjs} +1 -1
  96. package/dist/{status.handler-DxCJRm1n.mjs → status.handler-BsVtDW_V.mjs} +19 -4
  97. package/dist/{switch.handler-CTwhIcaQ.mjs → switch.handler-Cu81T2HY.mjs} +5 -5
  98. package/dist/{sync-Pssitj6K.mjs → sync-CXNveL61.mjs} +2 -2
  99. package/dist/{sync.handler-Be0U3x-n.mjs → sync.handler-7g1yDt0H.mjs} +9 -9
  100. package/dist/{task-BNXDZU71.mjs → task-BguWXIiH.mjs} +2 -2
  101. package/dist/{task-target-build-BG6cC3bz.mjs → task-target-build-BaMtXnN7.mjs} +8 -7
  102. package/dist/{task-target-deploy-CZBGNC0H-Ck724yF4.mjs → task-target-deploy-CZBGNC0H-I-tvkGCC.mjs} +1 -1
  103. package/dist/{task-target-deploy-gMQC8kXU.mjs → task-target-deploy-DmpCWE3u.mjs} +1 -1
  104. package/dist/task-target-deploy-runner.mjs +22 -17
  105. package/dist/{test-BISghlKg.mjs → test-A5hz3c7j.mjs} +4 -4
  106. package/dist/{test.handler-DkizZhVu.mjs → test.handler-CJtaMZVy.mjs} +12 -12
  107. package/dist/{test.handler-Dk3CmTa7.mjs → test.handler-Cq2l7SAr.mjs} +2 -2
  108. package/dist/{tool.handler-Bu130Vcz.mjs → tool.handler-B-mOL128.mjs} +115 -95
  109. package/dist/{trigger-artifacts-RizI57RC-CxHwCkQ_.mjs → trigger-artifacts-RizI57RC-DjhOsdOm.mjs} +4 -4
  110. package/dist/{trigger-manifest-PTjVYL1r.mjs → trigger-manifest-Bq2zRbkV.mjs} +1 -1
  111. package/dist/{upgrade-cH9I_pZq.mjs → upgrade-DhfpoyRV.mjs} +2 -2
  112. package/dist/{upgrade.handler-CXEF4ue0.mjs → upgrade.handler-5qSzPC7D.mjs} +1 -1
  113. package/dist/{upload.handler-CpKuAaQ_.mjs → upload.handler-D3-W_1kq.mjs} +10 -10
  114. package/dist/{users.get.handler-D0WO6D1K.mjs → users.get.handler-Bd0OBI-E.mjs} +4 -4
  115. package/dist/{users.list.handler-BSTIniF1.mjs → users.list.handler-CacJz6eC.mjs} +4 -4
  116. package/dist/{users.set-role.handler-DAKdSkbn.mjs → users.set-role.handler-bZMQtUR0.mjs} +4 -4
  117. package/dist/{utils-VC0Vl_pm.mjs → utils-BMUWnz1P.mjs} +2 -2
  118. package/dist/{validate.handler-I8LY-UkG.mjs → validate.handler-Ccq66ki4.mjs} +8 -8
  119. package/dist/{workflow-build-C9rQQ4qU.mjs → workflow-build-_WNsLKwW.mjs} +23 -23
  120. package/dist/{workflow-build-manifest-OPFqFD6f.mjs → workflow-build-manifest-B2GqHyWE.mjs} +3 -3
  121. package/dist/{workflow-bundler-BzHk73PM-AIB4-u4Y.mjs → workflow-bundler-BzHk73PM-WI31RJjH.mjs} +3 -3
  122. package/dist/{workflows-CL1jYSLR.mjs → workflows-Dy2M9bEr.mjs} +16 -16
  123. package/dist/{writer-B-SpZ0G2-olEAgSLc.mjs → writer-B-SpZ0G2-tq1MFgid.mjs} +6 -6
  124. package/package.json +6 -6
  125. package/dist/clear.handler-Dpe05eTq.mjs +0 -42
  126. package/dist/dist-BF6r1hfv.mjs +0 -308
  127. package/dist/logs-DUwdYZB-.mjs +0 -28
  128. package/dist/logs.handler-dcRq-zoc.mjs +0 -35
  129. package/dist/{agent-bundle-package-DWV6B_5q-rRTPU13L.mjs → agent-bundle-package-DWV6B_5q-FPT0bJaA.mjs} +0 -0
  130. package/dist/{agent-manifest-CZdlCTFs.mjs → agent-manifest-tIsqF2OP.mjs} +0 -0
  131. package/dist/{browser-3cUiPlk2.mjs → browser-BpJ8ut9z.mjs} +0 -0
  132. package/dist/{common-BaGFkj3n.mjs → common-AK0q0Oz0.mjs} +0 -0
  133. package/dist/{concurrency-gXn9Rw8x-BI6HQNfC.mjs → concurrency-gXn9Rw8x-BTlfau8D.mjs} +0 -0
  134. package/dist/{cron-parser-C2eJD0yD.mjs → cron-parser-Dw_cWzFu.mjs} +0 -0
  135. package/dist/{declared-credential-requirements-B6h4WRv4.mjs → declared-credential-requirements-D6KT-r-e.mjs} +0 -0
  136. package/dist/{default-urls-BS4twrsS.mjs → default-urls-CTQqM1_A.mjs} +0 -0
  137. package/dist/{layout-CXkZEsXI.mjs → layout-P1v-Gssz.mjs} +0 -0
  138. package/dist/{metadata-layout-Bv-B0nHj-CqlcZz_g.mjs → metadata-layout-Bv-B0nHj-B1c5giJ7.mjs} +1 -1
  139. package/dist/{oxc-B3KI3rf_-DdiZWqe2.mjs → oxc-B3KI3rf_-Cvx4Z-4H.mjs} +0 -0
  140. package/dist/{project-config-CsBMT4TL.mjs → project-config-DudGRFPO.mjs} +1 -1
  141. package/dist/{read-credential-keys-77a91T8M-DMmY6oDW.mjs → read-credential-keys-77a91T8M-B0eiobOd.mjs} +0 -0
  142. package/dist/{rolldown-runtime-twds-ZHy-CO5ir_za.mjs → rolldown-runtime-twds-ZHy-8uqgIurC.mjs} +0 -0
  143. package/dist/{run-polling-CwlzB5-9.mjs → run-polling-DARidqo-.mjs} +0 -0
  144. package/dist/{schema-O9xTWad_.mjs → schema-BjH_e4Fo.mjs} +0 -0
  145. package/dist/{schema-_FQrHcIS.mjs → schema-Lbp5lGJu.mjs} +0 -0
  146. package/dist/{schema-display-CNqiYBIb.mjs → schema-display-NVEl_DFY.mjs} +0 -0
  147. package/dist/{schemas-DodkHgnS.mjs → schemas-B8c7Z5Iy.mjs} +0 -0
  148. package/dist/{source-analysis-CJPymdaA.mjs → source-analysis-Cs0CTBQk.mjs} +0 -0
  149. package/dist/{types-D04ah3uY.mjs → types-BMBuhHhW.mjs} +0 -0
  150. package/dist/{upload-wwSPAC5_.mjs → upload-BbcMkyVl.mjs} +1 -1
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { f as ANSI, n as ui, p as style } from "./keystroke.mjs";
4
- import { n as resolveCredentialValuesFromEnv, t as groupCredentialRequirements } from "./credentials-CiOwDS5y.mjs";
5
- import { readFile } from "node:fs/promises";
3
+ import { a as ui, n as style, t as ANSI } from "./keystroke.mjs";
4
+ import { n as resolveCredentialValuesFromEnv, t as groupCredentialRequirements } from "./credentials-DUkVbhvj.mjs";
6
5
  import path from "node:path";
6
+ import { readFile } from "node:fs/promises";
7
7
  import { parse } from "dotenv";
8
8
  //#region src/commands/credentials/list/list-display.ts
9
9
  /** Visible width for layout; avoids unusably narrow or absurdly wide lines. */
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { f as ANSI, n as ui, p as style } from "./keystroke.mjs";
4
- import { s as readStoredProjects } from "./dist-BF6r1hfv.mjs";
5
- import { i as readProjectConfig } from "./project-config-CsBMT4TL.mjs";
6
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
3
+ import { a as ui, n as style, t as ANSI } from "./keystroke.mjs";
4
+ import { i as projects } from "./dist-CIInPRGh.mjs";
5
+ import { i as readProjectConfig } from "./project-config-DudGRFPO.mjs";
6
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
7
7
  import { access } from "node:fs/promises";
8
8
  import Table from "cli-table3";
9
9
  //#region src/commands/projects/list.handler.ts
@@ -29,8 +29,8 @@ async function pathExists(p) {
29
29
  }
30
30
  }
31
31
  async function handleProjectsList(_options, ctx) {
32
- const stored = await readStoredProjects();
33
- if (!stored || Object.keys(stored.projects).length === 0) {
32
+ const tracked = await projects.list();
33
+ if (tracked.length === 0) {
34
34
  if (ctx.jsonMode) {
35
35
  writeJson([]);
36
36
  return;
@@ -38,13 +38,14 @@ async function handleProjectsList(_options, ctx) {
38
38
  ui.hint("No tracked projects. Run `keystroke init` to get started.");
39
39
  return;
40
40
  }
41
- const entries = Object.entries(stored.projects).sort(([, a], [, b]) => new Date(b.lastAccessed).getTime() - new Date(a.lastAccessed).getTime());
41
+ const lastProject = await projects.getLast();
42
+ const sorted = [...tracked].sort((a, b) => new Date(b.lastAccessed).getTime() - new Date(a.lastAccessed).getTime());
42
43
  if (ctx.jsonMode) {
43
- writeJson(entries.map(([projectPath, entry]) => ({
44
+ writeJson(sorted.map((entry) => ({
44
45
  name: entry.name ?? null,
45
- path: projectPath,
46
+ path: entry.path,
46
47
  lastAccessed: entry.lastAccessed,
47
- isRecent: stored.lastProject === projectPath
48
+ isRecent: lastProject === entry.path
48
49
  })));
49
50
  return;
50
51
  }
@@ -56,12 +57,12 @@ async function handleProjectsList(_options, ctx) {
56
57
  ],
57
58
  style: { head: [] }
58
59
  });
59
- for (const [projectPath, entry] of entries) {
60
- const exists = await pathExists(projectPath);
61
- const nameCol = entry.name ?? (exists ? await getProjectNameFromConfig(projectPath) : void 0) ?? style("(unnamed)", ANSI.dim);
62
- const pathCol = exists ? projectPath : `${projectPath} ${style("(missing)", ANSI.yellow)}`;
60
+ for (const entry of sorted) {
61
+ const exists = await pathExists(entry.path);
62
+ const nameCol = entry.name ?? (exists ? await getProjectNameFromConfig(entry.path) : void 0) ?? style("(unnamed)", ANSI.dim);
63
+ const pathCol = exists ? entry.path : `${entry.path} ${style("(missing)", ANSI.yellow)}`;
63
64
  const timeCol = relativeTime(entry.lastAccessed);
64
- const indicator = stored.lastProject === projectPath ? ` ${style("(recent)", ANSI.cyan)}` : "";
65
+ const indicator = lastProject === entry.path ? ` ${style("(recent)", ANSI.cyan)}` : "";
65
66
  table.push([
66
67
  nameCol,
67
68
  `${pathCol}${indicator}`,
@@ -69,7 +70,7 @@ async function handleProjectsList(_options, ctx) {
69
70
  ]);
70
71
  }
71
72
  ui.text(table.toString());
72
- ui.hint(`\n${entries.length} project(s) tracked`);
73
+ ui.hint(`\n${sorted.length} project(s) tracked`);
73
74
  }
74
75
  //#endregion
75
76
  export { handleProjectsList };
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, f as ANSI, n as ui, p as style, x as toErrorMessage } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
3
+ import { a as ui, j as throwReportedCliExit, n as style, t as ANSI, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
6
  import Table from "cli-table3";
7
7
  //#region src/commands/api-keys/list.handler.ts
8
8
  async function handleApiKeysList(_options, ctx) {
@@ -1,28 +1,73 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { b as isNetworkError, f as ANSI, n as ui, p as style, x as toErrorMessage } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { t as getIntegrationCatalog } from "./integration-catalog-BgT4mLzW.mjs";
3
+ import { a as ui, n as style, t as ANSI, v as isNetworkError, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { t as getIntegrationCatalog } from "./integration-catalog-m8tj_XlD.mjs";
7
7
  import Table from "cli-table3";
8
8
  //#region src/commands/integrations/list.handler.ts
9
9
  function summarizeConnections(entry, connections) {
10
10
  const matches = connections.filter((c) => c.integrationPublicId === entry.publicId);
11
11
  if (matches.length === 0) return {
12
12
  total: 0,
13
- defaultStatus: null
13
+ defaultStatus: null,
14
+ statusCounts: /* @__PURE__ */ new Map()
14
15
  };
15
16
  const preferred = matches.find((c) => c.isDefault) ?? matches[0];
17
+ const statusCounts = /* @__PURE__ */ new Map();
18
+ for (const connection of matches) statusCounts.set(connection.connectionStatus, (statusCounts.get(connection.connectionStatus) ?? 0) + 1);
16
19
  return {
17
20
  total: matches.length,
18
- defaultStatus: preferred?.connectionStatus ?? null
21
+ defaultStatus: preferred?.connectionStatus ?? null,
22
+ statusCounts
19
23
  };
20
24
  }
21
- function formatStatusCell(summary) {
25
+ function formatConnectionStatus(status) {
26
+ return status === "connected" ? style("connected", ANSI.green) : status === "broken" ? style("broken", ANSI.red) : status === "needs_reconnect" ? style("needs reconnect", ANSI.yellow) : status === "disconnected" ? style("disconnected", ANSI.dim) : status === "pending" ? style("pending", ANSI.dim) : status ?? style("(unknown)", ANSI.dim);
27
+ }
28
+ function pluralizeConnection(count) {
29
+ return `${count} connection${count === 1 ? "" : "s"}`;
30
+ }
31
+ function formatStatusCount(status, count) {
32
+ return `${count} ${formatConnectionStatus(status)}`;
33
+ }
34
+ function formatConnectionsCell(summary) {
22
35
  if (summary.total === 0) return style("—", ANSI.dim);
23
- const { defaultStatus } = summary;
24
- const statusLabel = defaultStatus === "connected" ? style("connected", ANSI.green) : defaultStatus === "broken" ? style("broken", ANSI.red) : defaultStatus === "needs_reconnect" ? style("needs reconnect", ANSI.yellow) : defaultStatus === "disconnected" ? style("disconnected", ANSI.dim) : defaultStatus === "pending" ? style("pending", ANSI.dim) : defaultStatus ?? style("(unknown)", ANSI.dim);
25
- return summary.total > 1 ? `${statusLabel} (+${summary.total - 1} more)` : statusLabel;
36
+ const statusParts = [...summary.statusCounts.entries()].map(([status, count]) => formatStatusCount(status, count));
37
+ if (statusParts.length === 1) return statusParts[0] ?? style("(unknown)", ANSI.dim);
38
+ return `${pluralizeConnection(summary.total)} ${style("·", ANSI.dim)} ${statusParts.join(", ")} ${style("·", ANSI.dim)} default ${formatConnectionStatus(summary.defaultStatus)}`;
39
+ }
40
+ function dimLabel(label, width = 18) {
41
+ return style(label.padEnd(width), ANSI.dim);
42
+ }
43
+ function formatConnectionLine(connection) {
44
+ return [
45
+ connection.name,
46
+ connection.credentialConnectionId,
47
+ formatConnectionStatus(connection.connectionStatus)
48
+ ].join(` ${style("·", ANSI.dim)} `);
49
+ }
50
+ function renderConnectionDetails(entries, connections) {
51
+ const connectedEntries = entries.map((entry) => ({
52
+ entry,
53
+ connections: connections.filter((c) => c.integrationPublicId === entry.publicId)
54
+ })).filter(({ connections: entryConnections }) => entryConnections.length > 0);
55
+ if (connectedEntries.length === 0) return;
56
+ ui.br();
57
+ ui.text(style("Connection details", ANSI.bold));
58
+ for (const { entry, connections: entryConnections } of connectedEntries) {
59
+ const defaultConnection = entryConnections.find((c) => c.isDefault) ?? entryConnections[0];
60
+ const otherConnections = entryConnections.filter((c) => c.id !== defaultConnection?.id);
61
+ ui.br();
62
+ ui.text(`${style(entry.publicId, ANSI.bold)} ${style("·", ANSI.dim)} ${entry.name}`);
63
+ if (defaultConnection) {
64
+ ui.text(` ${dimLabel("Default connection")}${formatConnectionLine(defaultConnection)}`);
65
+ ui.text(` ${dimLabel("Scope")}${defaultConnection.scope}`);
66
+ ui.text(` ${dimLabel("Credential set")}${defaultConnection.credentialSetId}`);
67
+ if (defaultConnection.expiresAt) ui.text(` ${dimLabel("Expires")}${defaultConnection.expiresAt}`);
68
+ }
69
+ for (const connection of otherConnections) ui.text(` ${dimLabel("Other connection")}${formatConnectionLine(connection)}`);
70
+ }
26
71
  }
27
72
  /**
28
73
  * Optionally fetches the caller's connections for join. Tolerates missing
@@ -79,7 +124,7 @@ async function handleIntegrationsList(options, ctx) {
79
124
  "ID",
80
125
  "Kind",
81
126
  "Name",
82
- "Status",
127
+ "Connections",
83
128
  "Aliases"
84
129
  ],
85
130
  style: { head: [] }
@@ -91,13 +136,14 @@ async function handleIntegrationsList(options, ctx) {
91
136
  style(entry.publicId, `${ANSI.bold}${ANSI.cyan}`),
92
137
  entry.connectionKind,
93
138
  entry.name,
94
- formatStatusCell(summary),
139
+ formatConnectionsCell(summary),
95
140
  otherAliases.length > 0 ? otherAliases.join(", ") : style("—", ANSI.dim)
96
141
  ]);
97
142
  }
98
143
  ui.text(table.toString());
144
+ if (options.details) renderConnectionDetails(entries, connections);
99
145
  const connectedCount = entries.reduce((acc, entry) => summarizeConnections(entry, connections).total > 0 ? acc + 1 : acc, 0);
100
- ui.hint(`\n${entries.length} integration${entries.length === 1 ? "" : "s"}` + (connections.length > 0 ? ` · ${connectedCount} with active connections` : "") + (options.kind || options.search || options.connected ? " (filtered)" : ""));
146
+ ui.hint(`\n${entries.length} integration${entries.length === 1 ? "" : "s"}` + (connections.length > 0 ? ` · ${connectedCount} integration${connectedCount === 1 ? "" : "s"} connected` : "") + (options.kind || options.search || options.connected ? " (filtered)" : ""));
101
147
  if (connections.length === 0 && !ctx.organizationId) ui.hint("Sign in and select an organization to see per-integration connection status.");
102
148
  }
103
149
  //#endregion
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, f as ANSI, n as ui, p as style } from "./keystroke.mjs";
4
- import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
6
- import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
7
- import { t as createSpinnerProgress } from "./spinner-progress-DfkMzwGx.mjs";
8
- import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-C9rQQ4qU.mjs";
3
+ import { a as ui, j as throwReportedCliExit, n as style, t as ANSI } from "./keystroke.mjs";
4
+ import { i as projects } from "./dist-CIInPRGh.mjs";
5
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
6
+ import { t as requireWorkflowsDir } from "./resolve-project-CNQtOWE4.mjs";
7
+ import { t as createSpinnerProgress } from "./spinner-progress-Bx-fYItP.mjs";
8
+ import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-_WNsLKwW.mjs";
9
9
  //#region src/commands/workflows/list.handler.ts
10
10
  function formatWorkflow(artifact) {
11
11
  const name = style(artifact.manifest.name, `${ANSI.bold}${ANSI.cyan}`);
@@ -17,7 +17,7 @@ function formatWorkflow(artifact) {
17
17
  }
18
18
  async function handleWorkflowsList(options, ctx) {
19
19
  const workflowsDir = await requireWorkflowsDir(options.path);
20
- await trackProject(workflowsDir);
20
+ await projects.track(workflowsDir);
21
21
  const spinner = !ctx.jsonMode ? createSpinnerProgress("[list]") : void 0;
22
22
  spinner?.start("Loading workflows...");
23
23
  try {
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
5
5
  //#region src/commands/org/list.handler.ts
6
6
  async function handleOrgList(_options, ctx) {
7
7
  const { user } = await requireClient(ctx).users.getMe();
8
8
  const orgs = user.organizations ?? [];
9
9
  const currentOrgId = ctx.organizationId;
10
- const storedOrgIds = new Set(ctx.storedCredentials?.orgs.map((o) => o.organizationId) ?? []);
10
+ const storedOrgIds = new Set(ctx.storedOrgs.map((o) => o.organizationId));
11
11
  if (orgs.length === 0) {
12
12
  ui.warn("You do not belong to any organization.");
13
13
  return;
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-CSZj4XlH.mjs";
7
7
  import Table from "cli-table3";
8
8
  //#region src/commands/invites/list.handler.ts
9
9
  async function handleInvitesList(_options, ctx) {
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, a as getProcessEnv, n as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { a as readManifestsFromOutDir } from "./dist-FQYQ2FLm.mjs";
7
- import { n as resolveWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
8
- import { t as readCredentialEnvMap } from "./credential-env-map-B2nVJXPn.mjs";
9
- import { a as loadProjectDotenvFile, i as enrichServerCredentialRow, l as renderCredentialListBlocks, n as buildSyntheticNotOnServerRows, r as collectMergedManifestGroups, t as buildCredentialWorkflowConsumersByGroup } from "./list-enrichment-C6u5eI0j.mjs";
3
+ import { a as ui, c as getProcessEnv, j as throwReportedCliExit } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { a as readManifestsFromOutDir } from "./dist-WFPTDQB3.mjs";
7
+ import { n as resolveWorkflowsDir } from "./resolve-project-CNQtOWE4.mjs";
8
+ import { t as readCredentialEnvMap } from "./credential-env-map-BA4LNI7x.mjs";
9
+ import { a as loadProjectDotenvFile, i as enrichServerCredentialRow, l as renderCredentialListBlocks, n as buildSyntheticNotOnServerRows, r as collectMergedManifestGroups, t as buildCredentialWorkflowConsumersByGroup } from "./list-enrichment-DYvr3XDb.mjs";
10
10
  import dayjs from "dayjs";
11
11
  //#region src/commands/credentials/list/fetch-all-credential-sets.ts
12
12
  /**
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
4
- import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
3
+ import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BWcVRt-T.mjs";
4
+ import { t as createTypedCommand } from "./commander-BE37hxR3.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/listen/listen.command.ts
7
7
  const ListenOptionsSchema = JsonOptionSchema.extend({ timeout: z.coerce.number().int().min(1).default(300) });
@@ -18,7 +18,7 @@ function createListenCommand() {
18
18
  description: "Listen for one incoming request and print its body",
19
19
  schema: ListenOptionsSchema,
20
20
  optionsConfig: LISTEN_OPTIONS_CONFIG,
21
- loadHandler: async () => (await import("./listen.handler-B9T58yAj.mjs")).handleListen
21
+ loadHandler: async () => (await import("./listen.handler-kaAvYk-B.mjs")).handleListen
22
22
  });
23
23
  }
24
24
  //#endregion
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, f as ANSI, k as CliExitError, n as ui, p as style, x as toErrorMessage } from "./keystroke.mjs";
4
- import { a as writeJsonError, i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { n as sleep } from "./run-polling-CwlzB5-9.mjs";
3
+ import { D as CliExitError, a as ui, j as throwReportedCliExit, n as style, t as ANSI, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { a as writeJsonError, i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { n as sleep } from "./run-polling-DARidqo-.mjs";
7
7
  import { spawn } from "node:child_process";
8
8
  //#region src/lib/clipboard.ts
9
9
  function getClipboardCommands() {
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { t as createTypedCommand } from "./commander-BE37hxR3.mjs";
4
+ import { z } from "zod";
5
+ //#region src/commands/logs/logs.command.ts
6
+ const LogsOptionsSchema = z.object({
7
+ count: z.coerce.number().int().min(1).max(1e3).default(100).describe("Number of log entries to display"),
8
+ level: z.enum([
9
+ "debug",
10
+ "info",
11
+ "warn",
12
+ "error"
13
+ ]).optional().describe("Filter by log level"),
14
+ grep: z.string().min(1).optional().describe("Filter by message substring"),
15
+ meta: z.array(z.string().min(1)).default([]).describe("Filter by metadata key=value pairs"),
16
+ json: z.boolean().default(false).describe("Emit raw JSON log entries")
17
+ });
18
+ const LOGS_OPTIONS_CONFIG = {
19
+ count: {
20
+ flag: "--count <n>",
21
+ description: "Number of log entries to display (default: 100)"
22
+ },
23
+ level: {
24
+ flag: "--level <level>",
25
+ description: "Filter by log level (debug, info, warn, error)"
26
+ },
27
+ grep: {
28
+ flag: "--grep <text>",
29
+ description: "Filter by message substring"
30
+ },
31
+ meta: {
32
+ flag: "--meta <key=value>",
33
+ description: "Filter by metadata field equality. Repeat for multiple filters.",
34
+ collect: true
35
+ },
36
+ json: {
37
+ flag: "--json",
38
+ description: "Emit raw JSON log entries"
39
+ }
40
+ };
41
+ function createLogsCommand() {
42
+ return createTypedCommand({
43
+ name: "logs",
44
+ description: "Display recent CLI log entries",
45
+ schema: LogsOptionsSchema,
46
+ optionsConfig: LOGS_OPTIONS_CONFIG,
47
+ loadHandler: async () => (await import("./logs.handler-DyRoevtO.mjs")).handleLogs,
48
+ subcommands: [createTypedCommand({
49
+ name: "clear",
50
+ description: "Clear the CLI log file",
51
+ schema: z.object({}),
52
+ optionsConfig: {},
53
+ loadHandler: async () => (await import("./clear.handler-C_pXAeBG.mjs")).handleLogsClear
54
+ })]
55
+ });
56
+ }
57
+ //#endregion
58
+ export { createLogsCommand };
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { F as originalConsole, I as readLogEntries, O as InputValidationError, a as ui, n as style, t as ANSI } from "./keystroke.mjs";
4
+ //#region src/commands/logs/logs.handler.ts
5
+ const LEVEL_STYLES = {
6
+ debug: ANSI.dim,
7
+ info: ANSI.cyan,
8
+ warn: ANSI.yellow,
9
+ error: ANSI.red
10
+ };
11
+ function formatEntry(entry) {
12
+ const ts = style(entry.timestamp, ANSI.dim);
13
+ const levelStyled = style(`[${entry.level.toUpperCase()}]`, LEVEL_STYLES[entry.level] ?? "");
14
+ const meta = entry.meta !== void 0 ? ` ${style(JSON.stringify(entry.meta), ANSI.dim)}` : "";
15
+ return `${ts} ${levelStyled} ${entry.message}${meta}`;
16
+ }
17
+ async function handleLogs(options, _ctx) {
18
+ const entries = await readLogEntries({
19
+ count: options.count,
20
+ level: options.level,
21
+ messageIncludes: options.grep,
22
+ meta: parseMetaFilters(options.meta)
23
+ });
24
+ if (entries.length === 0) {
25
+ if (!options.json) ui.hint("No log entries found.");
26
+ return;
27
+ }
28
+ for (const entry of entries) originalConsole.info(options.json ? JSON.stringify(entry) : formatEntry(entry));
29
+ if (!options.json) {
30
+ ui.br();
31
+ ui.hint(`Showing ${entries.length} log ${entries.length === 1 ? "entry" : "entries"}.`);
32
+ }
33
+ }
34
+ function parseMetaFilters(filters) {
35
+ if (filters.length === 0) return void 0;
36
+ const meta = {};
37
+ for (const filter of filters) {
38
+ const equalsIndex = filter.indexOf("=");
39
+ if (equalsIndex <= 0) throw new InputValidationError("Expected --meta filters to use key=value format.");
40
+ const key = filter.slice(0, equalsIndex);
41
+ meta[key] = parseMetaValue(filter.slice(equalsIndex + 1));
42
+ }
43
+ return meta;
44
+ }
45
+ function parseMetaValue(value) {
46
+ try {
47
+ const parsed = JSON.parse(value);
48
+ if (typeof parsed === "string" || typeof parsed === "number" || typeof parsed === "boolean") return parsed;
49
+ } catch {}
50
+ return value;
51
+ }
52
+ //#endregion
53
+ export { handleLogs };
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, f as ANSI, n as ui, p as style, x as toErrorMessage } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { n as sleep, t as TERMINAL_STATUSES } from "./run-polling-CwlzB5-9.mjs";
3
+ import { a as ui, j as throwReportedCliExit, n as style, t as ANSI, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { n as sleep, t as TERMINAL_STATUSES } from "./run-polling-DARidqo-.mjs";
7
7
  import Table from "cli-table3";
8
8
  //#region src/commands/workflows/_shared/run-query.ts
9
9
  async function listRunsByWorkflowRef(client, options) {
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-CSZj4XlH.mjs";
7
7
  //#region src/commands/org/members.add.handler.ts
8
8
  async function handleMembersAdd(options, ctx) {
9
9
  const client = requireClient(ctx);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-CSZj4XlH.mjs";
7
7
  //#region src/commands/org/members.invite.handler.ts
8
8
  async function handleMembersInvite(options, ctx) {
9
9
  const client = requireClient(ctx);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-CSZj4XlH.mjs";
7
7
  import Table from "cli-table3";
8
8
  //#region src/commands/org/members.list.handler.ts
9
9
  async function handleMembersList(_options, ctx) {
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-CSZj4XlH.mjs";
7
7
  //#region src/commands/org/members.remove.handler.ts
8
8
  async function handleMembersRemove(options, ctx) {
9
9
  const client = requireClient(ctx);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-CSZj4XlH.mjs";
7
7
  //#region src/commands/org/members.update.handler.ts
8
8
  async function handleMembersUpdate(options, ctx) {
9
9
  const client = requireClient(ctx);
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { r as RelativeFilePathSchema } from "./file-metadata-DaPPpiTh.mjs";
3
+ import { r as RelativeFilePathSchema } from "./file-metadata-lrX05iRt.mjs";
4
4
  import path from "node:path";
5
5
  //#region ../../packages/workflow-builder/dist/normalize-path-CojS-CgQ.mjs
6
6
  function normalizeRelativeFilePath(relativePath) {