@keystrokehq/cli 0.0.9 → 0.0.10

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 (90) hide show
  1. package/dist/{accept.handler-PpOOUemk.mjs → accept.handler-DWuxmMuY.mjs} +4 -4
  2. package/dist/{admin-Dga-_lDF.mjs → admin-BK4bFTTd.mjs} +10 -10
  3. package/dist/{agents-DII_JbCa.mjs → agents-DYnw2VPX.mjs} +6 -6
  4. package/dist/{api-keys-DeTqHzI4.mjs → api-keys-Dizx3YqE.mjs} +6 -6
  5. package/dist/{auth-C0fuZ0_P.mjs → auth-BqsKd4IA.mjs} +6 -6
  6. package/dist/{auth.handler-BLU7LnW2.mjs → auth.handler-BsoWeCFD.mjs} +1 -1
  7. package/dist/{build-progress-Mzsk4RKr.mjs → build-progress-DigAP-BN.mjs} +2 -2
  8. package/dist/{build.handler-D15NjKkT.mjs → build.handler-B2UDhh72.mjs} +5 -5
  9. package/dist/{clear-cache.handler-BuSx_ZDn.mjs → clear-cache.handler-D-wboLB6.mjs} +1 -1
  10. package/dist/{clear.handler-DgIXlYTs.mjs → clear.handler-BR97yudD.mjs} +1 -1
  11. package/dist/{commander-B6_tg5_w.mjs → commander-DcftG6dX.mjs} +3 -3
  12. package/dist/{connect-D9PVABIW.mjs → connect-DQ4xIcyE.mjs} +3 -3
  13. package/dist/{connect.handler-BmOVKYSN.mjs → connect.handler-CWSLgf87.mjs} +3 -3
  14. package/dist/{context-DT06adrn.mjs → context-1VgRbzr-.mjs} +2 -2
  15. package/dist/{create.handler-BWaULspg.mjs → create.handler-C2CkPWsy.mjs} +3 -3
  16. package/dist/{credential-schema-mismatch-C-4kBAFw.mjs → credential-schema-mismatch-DM9Y91jL.mjs} +1 -1
  17. package/dist/{credentials-BW-v9xVQ.mjs → credentials-D8_AwH9o.mjs} +6 -6
  18. package/dist/{current-deployment-workflow-j5DlVkb2.mjs → current-deployment-workflow-B05z0EQa.mjs} +4 -4
  19. package/dist/{current.handler-CUVgMZ-O.mjs → current.handler-CuAtMZmm.mjs} +2 -2
  20. package/dist/{delete.handler-CzW7Rm5M.mjs → delete.handler-DDY3X1Zm.mjs} +2 -2
  21. package/dist/{deploy-BU04ehfM.mjs → deploy-Cn6FFnOM.mjs} +2 -2
  22. package/dist/{deploy-progress-BkpuGfGt.mjs → deploy-progress-XAfautnA.mjs} +2 -2
  23. package/dist/{deploy.handler-CbYYyVOg.mjs → deploy.handler-D1DcAe-h.mjs} +10 -10
  24. package/dist/{diff-utils-D1jYu6ny.mjs → diff-utils-AATn2n56.mjs} +1 -1
  25. package/dist/{diff.handler-Dtjc7Y4O.mjs → diff.handler-BU6IewNG.mjs} +5 -5
  26. package/dist/{env.handler-DbxnyBYf.mjs → env.handler-C6YAmHLi.mjs} +5 -5
  27. package/dist/{error-boundary-D6KTx1HL.mjs → error-boundary-CpaVvFXk.mjs} +3 -3
  28. package/dist/{iam-command-utils-B5G-N3Hx.mjs → iam-command-utils-ByLX0A-V.mjs} +2 -2
  29. package/dist/{init-BITuemMR.mjs → init-Da6_obl0.mjs} +2 -2
  30. package/dist/{init.handler-HsCte00n.mjs → init.handler-Cq2nk8DO.mjs} +22 -11
  31. package/dist/{inspect.handler-Buv68Vm9.mjs → inspect.handler-D4YGryQB.mjs} +4 -4
  32. package/dist/{integration-catalog-4T5Yad-n.mjs → integration-catalog-DtNWaMvh.mjs} +3 -3
  33. package/dist/{integrations-Dib-OfdN.mjs → integrations-CB_Ukq2g.mjs} +5 -5
  34. package/dist/{invites-CJtInw9Q.mjs → invites-BOhuBtoq.mjs} +5 -5
  35. package/dist/{invites.list.handler-CBtOq8W4.mjs → invites.list.handler-C-Wv6E1g.mjs} +4 -4
  36. package/dist/{invites.resend.handler-D-E2NxY1.mjs → invites.resend.handler-CI78XlQS.mjs} +4 -4
  37. package/dist/{invites.revoke.handler-DFTxBZcm.mjs → invites.revoke.handler-DigAgNwB.mjs} +4 -4
  38. package/dist/keystroke.mjs +53 -49
  39. package/dist/{list-enrichment-Bou_BqL0.mjs → list-enrichment-Cxlq6BB9.mjs} +1 -1
  40. package/dist/{list.handler-BFjtABDv.mjs → list.handler--a1JEGSD.mjs} +4 -4
  41. package/dist/{list.handler-fGaEAMUZ.mjs → list.handler-B6IByHHB.mjs} +5 -5
  42. package/dist/{list.handler-BHmG2GY8.mjs → list.handler-BpVNYShU.mjs} +2 -2
  43. package/dist/{list.handler-CXT-te4G.mjs → list.handler-BsyGhXns.mjs} +4 -4
  44. package/dist/{list.handler-gjAg1aM6.mjs → list.handler-CsODcH6e.mjs} +3 -3
  45. package/dist/{list.handler-Bi28Gsee.mjs → list.handler-Dr9Ti-dt.mjs} +5 -5
  46. package/dist/{list.handler-BWGnEnM8.mjs → list.handler-OiLEylzS.mjs} +2 -2
  47. package/dist/{listen-_GvXm7iI.mjs → listen-DUPk6cZC.mjs} +3 -3
  48. package/dist/{listen.handler-BKfcYsfv.mjs → listen.handler-B5WimrfF.mjs} +3 -3
  49. package/dist/{logs-De7ITMv1.mjs → logs-C5_4lh3p.mjs} +2 -2
  50. package/dist/{logs.handler-COtiXeqn.mjs → logs.handler-CBHPwDuC.mjs} +3 -3
  51. package/dist/{logs.handler-CB2FtCvP.mjs → logs.handler-ClIIOeQB.mjs} +1 -1
  52. package/dist/{members.add.handler-BXldE_ec.mjs → members.add.handler-LcQJYBsu.mjs} +4 -4
  53. package/dist/{members.invite.handler-CWFsj5Gz.mjs → members.invite.handler-p279O2aC.mjs} +4 -4
  54. package/dist/{members.list.handler-DFg6VThp.mjs → members.list.handler-Cjukjuot.mjs} +4 -4
  55. package/dist/{members.remove.handler-lStbH_4M.mjs → members.remove.handler-CzxPiQFv.mjs} +4 -4
  56. package/dist/{members.update.handler-CzcdsbtG.mjs → members.update.handler-CX5q86e3.mjs} +4 -4
  57. package/dist/{org-DLY5V_Uw.mjs → org-CnlKW-Hl.mjs} +16 -16
  58. package/dist/{orgs.create.handler-CiYGUXBZ.mjs → orgs.create.handler-DRILhxdn.mjs} +4 -4
  59. package/dist/{orgs.get.handler-BgFsnpme.mjs → orgs.get.handler-Cue6stoX.mjs} +4 -4
  60. package/dist/{orgs.list.handler-BuyOTc8K.mjs → orgs.list.handler-fuDLNI5X.mjs} +4 -4
  61. package/dist/{output-BCDZb3Gy.mjs → output-CGdYhH0p.mjs} +1 -1
  62. package/dist/{paused.handler-BX_71fzx.mjs → paused.handler-CuOVH4DZ.mjs} +3 -3
  63. package/dist/{projects-lN-4ZR9Q.mjs → projects-DdgHbUpR.mjs} +5 -5
  64. package/dist/{register.handler-BA6p-TmU.mjs → register.handler-CpP_KB2u.mjs} +2 -2
  65. package/dist/{requirements.handler-DI4mgZ2l.mjs → requirements.handler-CX13XiXT.mjs} +4 -4
  66. package/dist/{resolve-project-BREjwFKO.mjs → resolve-project-C6UAOfAG.mjs} +1 -1
  67. package/dist/{run-polling-BLT-uS2e.mjs → run-polling-1CTIeDea.mjs} +1 -1
  68. package/dist/{run.handler-B5NodlNi.mjs → run.handler-BxLH75WW.mjs} +6 -6
  69. package/dist/{runs-BfgL8BR_.mjs → runs-lfE7r6i2.mjs} +4 -4
  70. package/dist/{skills-sync.handler-CuuCiUGT.mjs → skills-sync.handler-CntKndFm.mjs} +2 -2
  71. package/dist/{skills.command-z-sOQpkN.mjs → skills.command-X5zZwz2d.mjs} +4 -4
  72. package/dist/{skills.handler-BQ3Qfej3.mjs → skills.handler-CofL4oKs.mjs} +1 -1
  73. package/dist/{spinner-progress-BB2EHL-l.mjs → spinner-progress-Bt8zXPOc.mjs} +1 -1
  74. package/dist/{status.handler-Bh0MtNu1.mjs → status.handler-6cuHa0R0.mjs} +1 -1
  75. package/dist/{switch.handler-CSOycIbR.mjs → switch.handler-RaeKZ3ZB.mjs} +2 -2
  76. package/dist/{sync-CIibxcUe.mjs → sync-C89mJp7Y.mjs} +2 -2
  77. package/dist/{sync.handler-D2cY3bia.mjs → sync.handler-BoAHHUQs.mjs} +6 -6
  78. package/dist/{test-Dsx4cRnE.mjs → test-gPQJRkqa.mjs} +9 -9
  79. package/dist/{test.handler-Duqj67Qi.mjs → test.handler-B5GF5txS.mjs} +2 -2
  80. package/dist/{try-deploy.handler-Lq69ON02.mjs → try-deploy.handler-dA_YGWRq.mjs} +7 -7
  81. package/dist/{upgrade-DQrHCNR8.mjs → upgrade-xByIxaYu.mjs} +2 -2
  82. package/dist/{upgrade.handler-B0NxKINA.mjs → upgrade.handler-DhKeyCy5.mjs} +1 -1
  83. package/dist/{upload.handler-BMJiaCzk.mjs → upload.handler-BFDM6n_6.mjs} +6 -6
  84. package/dist/{users.get.handler-eJtaB-2G.mjs → users.get.handler-CzaYM2bi.mjs} +4 -4
  85. package/dist/{users.list.handler-DE6s08i0.mjs → users.list.handler-CpOWwzBb.mjs} +4 -4
  86. package/dist/{users.set-role.handler-BVNvaKKS.mjs → users.set-role.handler-BjiSNP2d.mjs} +4 -4
  87. package/dist/{validate.handler-BUga7Umz.mjs → validate.handler-BtDSKAFY.mjs} +5 -5
  88. package/dist/{workflow-build-Be6RMTb2.mjs → workflow-build-Z2_jkOsZ.mjs} +1 -1
  89. package/dist/{workflows-Cdo-AgjV.mjs → workflows-V09d2r2H.mjs} +13 -13
  90. package/package.json +3 -3
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { O as CliExitError, t as ui } from "./keystroke.mjs";
3
+ import { k as CliExitError, n as ui, t as fetchLatestNpmPackageVersion } from "./keystroke.mjs";
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
5
  import { a as writeProjectConfig, i as readProjectConfig, r as getProjectConfigPath } from "./project-config-D9eFU8Jk.mjs";
6
- import { i as requireClient } from "./context-DT06adrn.mjs";
6
+ import { i as requireClient } from "./context-1VgRbzr-.mjs";
7
7
  import { t as syncKeystrokeAgentSkills } from "./sync-keystroke-agent-skills-D746f2W_.mjs";
8
8
  import { createRequire } from "node:module";
9
9
  import { readFileSync } from "node:fs";
@@ -13,19 +13,30 @@ import path from "node:path";
13
13
  import { fileURLToPath } from "node:url";
14
14
  import { cancel, isCancel, text } from "@clack/prompts";
15
15
  //#region src/lib/keystroke-scaffold-version-ranges.ts
16
- /** When the CLI cannot resolve `@keystrokehq/core` on disk (e.g. bundled installs). */
17
- const FALLBACK_WORKFLOW_CORE_VERSION_RANGE = "^0.0.1";
16
+ const WORKFLOW_CORE_PACKAGE_NAME = "@keystrokehq/core";
17
+ const FALLBACK_WORKFLOW_CORE_VERSION_RANGE = "latest";
18
+ const DEFAULT_TIMEOUT_MS = 750;
18
19
  /**
19
- * Semver range for scaffold `package.json` — uses the version of `@keystrokehq/core`
20
- * installed next to this CLI when available.
20
+ * Semver range for scaffold `package.json` — prefers the latest published
21
+ * `@keystrokehq/core` version so new projects start with current primitives.
21
22
  */
22
- function workflowCoreScaffoldVersionRange() {
23
+ async function workflowCoreScaffoldVersionRange(options = {}) {
24
+ const latestVersion = await fetchLatestNpmPackageVersion({
25
+ packageName: WORKFLOW_CORE_PACKAGE_NAME,
26
+ timeoutMs: options.timeoutMs ?? DEFAULT_TIMEOUT_MS
27
+ });
28
+ if (latestVersion) return `^${latestVersion}`;
29
+ const localVersion = (options.readLocalCoreVersion ?? readLocalWorkflowCoreVersion)();
30
+ if (localVersion) return `^${localVersion}`;
31
+ return FALLBACK_WORKFLOW_CORE_VERSION_RANGE;
32
+ }
33
+ function readLocalWorkflowCoreVersion() {
23
34
  try {
24
- const raw = readFileSync(createRequire(import.meta.url).resolve("@keystrokehq/core/package.json"), "utf-8");
35
+ const raw = readFileSync(createRequire(import.meta.url).resolve(`${WORKFLOW_CORE_PACKAGE_NAME}/package.json`), "utf-8");
25
36
  const version = JSON.parse(raw).version?.trim();
26
- if (version) return `^${version}`;
37
+ if (version) return version;
27
38
  } catch {}
28
- return FALLBACK_WORKFLOW_CORE_VERSION_RANGE;
39
+ return null;
29
40
  }
30
41
  //#endregion
31
42
  //#region src/commands/init/agents-md.ts
@@ -396,7 +407,7 @@ async function handleInit(options, ctx) {
396
407
  const agentsAction = await ensureAgentsMarkdown(targetDir, await loadKeystrokeAgentsBlurb());
397
408
  if (agentsAction === "created") ui.success("Created AGENTS.md with Keystroke project guidance.");
398
409
  else if (agentsAction === "updated") ui.success("Updated AGENTS.md with Keystroke project guidance.");
399
- if (options.scaffold) await scaffoldProject(targetDir, projectName, workflowCoreScaffoldVersionRange());
410
+ if (options.scaffold) await scaffoldProject(targetDir, projectName, await workflowCoreScaffoldVersionRange());
400
411
  }
401
412
  /** Write a file only if it does not already exist. Returns true if written. */
402
413
  async function writeIfMissing(filePath, content) {
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { M as throwReportedCliExit, b as toErrorMessage, d as ANSI, f as style, t as ui } from "./keystroke.mjs";
3
+ import { N as throwReportedCliExit, f as ANSI, n as ui, p as style, x as toErrorMessage } from "./keystroke.mjs";
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
6
- import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-DT06adrn.mjs";
5
+ import { i as writeJson } from "./output-CGdYhH0p.mjs";
6
+ import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-1VgRbzr-.mjs";
7
7
  import { i as resolveTypeHint } from "./schema-display-DuWBmkwk.mjs";
8
- import { n as resolveLocalWorkflowManifest, r as resolveProjectContext, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-j5DlVkb2.mjs";
8
+ import { n as resolveLocalWorkflowManifest, r as resolveProjectContext, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-B05z0EQa.mjs";
9
9
  import dayjs from "dayjs";
10
10
  //#region src/commands/workflows/inspect/inspect-display.ts
11
11
  function formatBuildTimestamp(iso) {
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { M as throwReportedCliExit, O as CliExitError, b as toErrorMessage, h as REAUTH_HINT, t as ui, v as isAuthError, y as isNetworkError } from "./keystroke.mjs";
4
- import { a as writeJsonError } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
3
+ import { N as throwReportedCliExit, b as isNetworkError, g as REAUTH_HINT, k as CliExitError, n as ui, x as toErrorMessage, y as isAuthError } from "./keystroke.mjs";
4
+ import { a as writeJsonError } from "./output-CGdYhH0p.mjs";
5
+ import { i as requireClient } from "./context-1VgRbzr-.mjs";
6
6
  //#region src/lib/integration-catalog.ts
7
7
  const catalogCache = /* @__PURE__ */ new WeakMap();
8
8
  function buildView(entries) {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BCDZb3Gy.mjs";
4
- import { t as createTypedCommand } from "./commander-B6_tg5_w.mjs";
3
+ import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
4
+ import { t as createTypedCommand } from "./commander-DcftG6dX.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/integrations/integrations.command.ts
7
7
  const IntegrationsListOptionsSchema = JsonOptionSchema.extend({
@@ -46,20 +46,20 @@ function createIntegrationsCommand() {
46
46
  description: "List Keystroke integrations available to your organization",
47
47
  schema: IntegrationsListOptionsSchema,
48
48
  optionsConfig: INTEGRATIONS_LIST_OPTIONS_CONFIG,
49
- loadHandler: async () => (await import("./list.handler-BFjtABDv.mjs")).handleIntegrationsList,
49
+ loadHandler: async () => (await import("./list.handler--a1JEGSD.mjs")).handleIntegrationsList,
50
50
  subcommands: [createTypedCommand({
51
51
  name: "list",
52
52
  description: "List Keystroke integrations available to your organization",
53
53
  schema: IntegrationsListOptionsSchema,
54
54
  optionsConfig: INTEGRATIONS_LIST_OPTIONS_CONFIG,
55
- loadHandler: async () => (await import("./list.handler-BFjtABDv.mjs")).handleIntegrationsList
55
+ loadHandler: async () => (await import("./list.handler--a1JEGSD.mjs")).handleIntegrationsList
56
56
  }), createTypedCommand({
57
57
  name: "register",
58
58
  description: "Register a workspace provider app for future workspace-authored OAuth support",
59
59
  schema: IntegrationsRegisterOptionsSchema,
60
60
  optionsConfig: INTEGRATIONS_REGISTER_OPTIONS_CONFIG,
61
61
  handler: async (opts, ctx) => {
62
- const { handleIntegrationsRegister } = await import("./register.handler-BA6p-TmU.mjs");
62
+ const { handleIntegrationsRegister } = await import("./register.handler-CpP_KB2u.mjs");
63
63
  await handleIntegrationsRegister({
64
64
  integrationId: opts.integrationId,
65
65
  clientAppCredentialSetId: opts.clientApp,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BCDZb3Gy.mjs";
4
- import { t as createTypedCommand } from "./commander-B6_tg5_w.mjs";
3
+ import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
4
+ import { t as createTypedCommand } from "./commander-DcftG6dX.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/invites/invites.command.ts
7
7
  const InvitesListOptionsSchema = JsonOptionSchema;
@@ -19,13 +19,13 @@ function createInvitesCommand() {
19
19
  description: "Manage invitations for the current user",
20
20
  schema: InvitesListOptionsSchema,
21
21
  optionsConfig: { ...JSON_OPTION_CONFIG },
22
- loadHandler: async () => (await import("./list.handler-CXT-te4G.mjs")).handleInvitesList,
22
+ loadHandler: async () => (await import("./list.handler-BsyGhXns.mjs")).handleInvitesList,
23
23
  subcommands: [createTypedCommand({
24
24
  name: "list",
25
25
  description: "List pending invites for the current user",
26
26
  schema: InvitesListOptionsSchema,
27
27
  optionsConfig: { ...JSON_OPTION_CONFIG },
28
- loadHandler: async () => (await import("./list.handler-CXT-te4G.mjs")).handleInvitesList
28
+ loadHandler: async () => (await import("./list.handler-BsyGhXns.mjs")).handleInvitesList
29
29
  }), createTypedCommand({
30
30
  name: "accept",
31
31
  description: "Accept a pending invite",
@@ -36,7 +36,7 @@ function createInvitesCommand() {
36
36
  description: "Invite ID to accept",
37
37
  key: "inviteId"
38
38
  },
39
- loadHandler: async () => (await import("./accept.handler-PpOOUemk.mjs")).handleInvitesAccept
39
+ loadHandler: async () => (await import("./accept.handler-DWuxmMuY.mjs")).handleInvitesAccept
40
40
  })]
41
41
  });
42
42
  }
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-B5G-N3Hx.mjs";
3
+ import { n as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
+ import { i as requireClient } from "./context-1VgRbzr-.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
7
7
  import Table from "cli-table3";
8
8
  //#region src/commands/org/invites.list.handler.ts
9
9
  async function handleOrgInvitesList(_options, ctx) {
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-B5G-N3Hx.mjs";
3
+ import { n as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
+ import { i as requireClient } from "./context-1VgRbzr-.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
7
7
  //#region src/commands/org/invites.resend.handler.ts
8
8
  async function handleOrgInvitesResend(options, ctx) {
9
9
  const client = requireClient(ctx);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-B5G-N3Hx.mjs";
3
+ import { n as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
+ import { i as requireClient } from "./context-1VgRbzr-.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
7
7
  //#region src/commands/org/invites.revoke.handler.ts
8
8
  async function handleOrgInvitesRevoke(options, ctx) {
9
9
  const client = requireClient(ctx);
@@ -13,7 +13,7 @@ import { config } from "dotenv";
13
13
  import { z } from "zod";
14
14
  import { log } from "@clack/prompts";
15
15
  //#region package.json
16
- var version = "0.0.9";
16
+ var version = "0.0.10";
17
17
  //#endregion
18
18
  //#region src/command-registry.ts
19
19
  const ROOT_OPTIONS_WITH_VALUES$1 = new Set([
@@ -25,84 +25,84 @@ const ROOT_VERSION_FLAGS = new Set(["-V", "--version"]);
25
25
  const lazyCommandDefinitions = [
26
26
  {
27
27
  name: "agents",
28
- loadCommand: async () => (await import("./agents-DII_JbCa.mjs")).createAgentsCommand()
28
+ loadCommand: async () => (await import("./agents-DYnw2VPX.mjs")).createAgentsCommand()
29
29
  },
30
30
  {
31
31
  name: "admin",
32
- loadCommand: async () => (await import("./admin-Dga-_lDF.mjs")).createAdminCommand()
32
+ loadCommand: async () => (await import("./admin-BK4bFTTd.mjs")).createAdminCommand()
33
33
  },
34
34
  {
35
35
  name: "api-keys",
36
- loadCommand: async () => (await import("./api-keys-DeTqHzI4.mjs")).createApiKeysCommand()
36
+ loadCommand: async () => (await import("./api-keys-Dizx3YqE.mjs")).createApiKeysCommand()
37
37
  },
38
38
  {
39
39
  name: "auth",
40
- loadCommand: async () => (await import("./auth-C0fuZ0_P.mjs")).createAuthCommand()
40
+ loadCommand: async () => (await import("./auth-BqsKd4IA.mjs")).createAuthCommand()
41
41
  },
42
42
  {
43
43
  name: "connect",
44
- loadCommand: async () => (await import("./connect-D9PVABIW.mjs")).createConnectCommand()
44
+ loadCommand: async () => (await import("./connect-DQ4xIcyE.mjs")).createConnectCommand()
45
45
  },
46
46
  {
47
47
  name: "credentials",
48
- loadCommand: async () => (await import("./credentials-BW-v9xVQ.mjs")).createCredentialsCommand(),
48
+ loadCommand: async () => (await import("./credentials-D8_AwH9o.mjs")).createCredentialsCommand(),
49
49
  copyInheritedSettings: true
50
50
  },
51
51
  {
52
52
  name: "org",
53
- loadCommand: async () => (await import("./org-DLY5V_Uw.mjs")).createOrgCommand()
53
+ loadCommand: async () => (await import("./org-CnlKW-Hl.mjs")).createOrgCommand()
54
54
  },
55
55
  {
56
56
  name: "deploy",
57
- loadCommand: async () => (await import("./deploy-BU04ehfM.mjs")).createDeployCommand()
57
+ loadCommand: async () => (await import("./deploy-Cn6FFnOM.mjs")).createDeployCommand()
58
58
  },
59
59
  {
60
60
  name: "init",
61
- loadCommand: async () => (await import("./init-BITuemMR.mjs")).createInitCommand()
61
+ loadCommand: async () => (await import("./init-Da6_obl0.mjs")).createInitCommand()
62
62
  },
63
63
  {
64
64
  name: "integrations",
65
- loadCommand: async () => (await import("./integrations-Dib-OfdN.mjs")).createIntegrationsCommand()
65
+ loadCommand: async () => (await import("./integrations-CB_Ukq2g.mjs")).createIntegrationsCommand()
66
66
  },
67
67
  {
68
68
  name: "invites",
69
- loadCommand: async () => (await import("./invites-CJtInw9Q.mjs")).createInvitesCommand()
69
+ loadCommand: async () => (await import("./invites-BOhuBtoq.mjs")).createInvitesCommand()
70
70
  },
71
71
  {
72
72
  name: "logs",
73
- loadCommand: async () => (await import("./logs-De7ITMv1.mjs")).createLogsCommand()
73
+ loadCommand: async () => (await import("./logs-C5_4lh3p.mjs")).createLogsCommand()
74
74
  },
75
75
  {
76
76
  name: "listen",
77
- loadCommand: async () => (await import("./listen-_GvXm7iI.mjs")).createListenCommand()
77
+ loadCommand: async () => (await import("./listen-DUPk6cZC.mjs")).createListenCommand()
78
78
  },
79
79
  {
80
80
  name: "projects",
81
- loadCommand: async () => (await import("./projects-lN-4ZR9Q.mjs")).createProjectsCommand()
81
+ loadCommand: async () => (await import("./projects-DdgHbUpR.mjs")).createProjectsCommand()
82
82
  },
83
83
  {
84
84
  name: "runs",
85
- loadCommand: async () => (await import("./runs-BfgL8BR_.mjs")).createRunsCommand()
85
+ loadCommand: async () => (await import("./runs-lfE7r6i2.mjs")).createRunsCommand()
86
86
  },
87
87
  {
88
88
  name: "skills",
89
- loadCommand: async () => (await import("./skills.command-z-sOQpkN.mjs")).createSkillsCommand()
89
+ loadCommand: async () => (await import("./skills.command-X5zZwz2d.mjs")).createSkillsCommand()
90
90
  },
91
91
  {
92
92
  name: "sync",
93
- loadCommand: async () => (await import("./sync-CIibxcUe.mjs")).createSyncCommand()
93
+ loadCommand: async () => (await import("./sync-C89mJp7Y.mjs")).createSyncCommand()
94
94
  },
95
95
  {
96
96
  name: "test",
97
- loadCommand: async () => (await import("./test-Dsx4cRnE.mjs")).createTestCommand()
97
+ loadCommand: async () => (await import("./test-gPQJRkqa.mjs")).createTestCommand()
98
98
  },
99
99
  {
100
100
  name: "upgrade",
101
- loadCommand: async () => (await import("./upgrade-DQrHCNR8.mjs")).createUpgradeCommand()
101
+ loadCommand: async () => (await import("./upgrade-xByIxaYu.mjs")).createUpgradeCommand()
102
102
  },
103
103
  {
104
104
  name: "workflows",
105
- loadCommand: async () => (await import("./workflows-Cdo-AgjV.mjs")).createWorkflowsCommand()
105
+ loadCommand: async () => (await import("./workflows-V09d2r2H.mjs")).createWorkflowsCommand()
106
106
  }
107
107
  ];
108
108
  function selectCommandRegistration(argv, commandNames = new Set(lazyCommandDefinitions.map((definition) => definition.name))) {
@@ -794,8 +794,36 @@ const ui = {
794
794
  }
795
795
  };
796
796
  //#endregion
797
+ //#region src/lib/npm-registry.ts
798
+ const NPM_REGISTRY_BASE_URL = "https://registry.npmjs.org";
799
+ const DEFAULT_TIMEOUT_MS$1 = 750;
800
+ async function fetchLatestNpmPackageVersion(options) {
801
+ const controller = new AbortController();
802
+ const timeout = setTimeout(() => controller.abort(), options.timeoutMs ?? DEFAULT_TIMEOUT_MS$1);
803
+ try {
804
+ const response = await fetch(`${NPM_REGISTRY_BASE_URL}/${encodeURIComponent(options.packageName)}`, {
805
+ headers: { accept: "application/vnd.npm.install-v1+json" },
806
+ signal: controller.signal
807
+ });
808
+ if (!response.ok) return null;
809
+ const body = await response.json();
810
+ if (!isNpmPackageMetadata(body)) return null;
811
+ return body["dist-tags"].latest;
812
+ } catch {
813
+ return null;
814
+ } finally {
815
+ clearTimeout(timeout);
816
+ }
817
+ }
818
+ function isNpmPackageMetadata(value) {
819
+ if (!value || typeof value !== "object") return false;
820
+ const distTags = value["dist-tags"];
821
+ if (!distTags || typeof distTags !== "object") return false;
822
+ return typeof distTags.latest === "string";
823
+ }
824
+ //#endregion
797
825
  //#region src/lib/update-notice.ts
798
- const NPM_PACKAGE_URL = `https://registry.npmjs.org/${encodeURIComponent("@keystrokehq/cli")}`;
826
+ const CLI_PACKAGE_NAME = "@keystrokehq/cli";
799
827
  const DEFAULT_TIMEOUT_MS = 750;
800
828
  const ROOT_OPTIONS_WITH_VALUES = new Set([
801
829
  "--api-key",
@@ -804,8 +832,8 @@ const ROOT_OPTIONS_WITH_VALUES = new Set([
804
832
  ]);
805
833
  async function maybeShowCliUpdateNotice(options) {
806
834
  if (!shouldCheckForCliUpdates(options)) return;
807
- const latestVersion = await fetchLatestCliVersion({
808
- fetchImpl: options.fetchImpl ?? fetch,
835
+ const latestVersion = await fetchLatestNpmPackageVersion({
836
+ packageName: CLI_PACKAGE_NAME,
809
837
  timeoutMs: options.timeoutMs ?? DEFAULT_TIMEOUT_MS
810
838
  });
811
839
  if (!latestVersion) return;
@@ -844,24 +872,6 @@ function isNewerVersion(candidate, current) {
844
872
  function renderCliUpdateNotice(currentVersion, latestVersion) {
845
873
  return renderBox([`Keystroke CLI ${latestVersion} is available. You have ${currentVersion}.`, "Run keystroke upgrade to update."]);
846
874
  }
847
- async function fetchLatestCliVersion(options) {
848
- const controller = new AbortController();
849
- const timeout = setTimeout(() => controller.abort(), options.timeoutMs);
850
- try {
851
- const response = await options.fetchImpl(NPM_PACKAGE_URL, {
852
- headers: { accept: "application/vnd.npm.install-v1+json" },
853
- signal: controller.signal
854
- });
855
- if (!response.ok) return null;
856
- const body = await response.json();
857
- if (!isNpmPackageMetadata(body)) return null;
858
- return body["dist-tags"].latest;
859
- } catch {
860
- return null;
861
- } finally {
862
- clearTimeout(timeout);
863
- }
864
- }
865
875
  function parseVersion(value) {
866
876
  const match = /^v?(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/.exec(value.trim());
867
877
  if (!match) return null;
@@ -872,12 +882,6 @@ function parseVersion(value) {
872
882
  ...match[4] ? { prerelease: match[4] } : {}
873
883
  };
874
884
  }
875
- function isNpmPackageMetadata(value) {
876
- if (!value || typeof value !== "object") return false;
877
- const distTags = value["dist-tags"];
878
- if (!distTags || typeof distTags !== "object") return false;
879
- return typeof distTags.latest === "string";
880
- }
881
885
  function readFirstNonOption(argv) {
882
886
  for (let index = 0; index < argv.length; index += 1) {
883
887
  const arg = argv[index];
@@ -969,4 +973,4 @@ async function main() {
969
973
  }
970
974
  main();
971
975
  //#endregion
972
- export { ProjectNotFoundError as A, CALLBACK_LOOPBACK_HOST as C, AuthenticationError as D, CLI_AUTH_COMMAND as E, throwReportedCliExit as M, CliExitError as O, AUTH_URL_PATH as S, CALLBACK_PATH as T, getHttpStatus as _, isLocalMode as a, toErrorMessage as b, captureCliTelemetryResolvedContext as c, ANSI as d, style as f, getApiErrorCode as g, REAUTH_HINT as h, getProcessEnv as i, WorkflowResolutionError as j, InputValidationError as k, logger as l, AUTH_HINT as m, createHiddenGlobalOptions as n, resolveCliServerUrl as o, isTTY as p, getEnv as r, resolveCliWebUrl as s, ui as t, originalConsole as u, isAuthError as v, CALLBACK_LOOPBACK_ORIGIN as w, AUTH_TIMEOUT_SECONDS as x, isNetworkError as y };
976
+ export { InputValidationError as A, AUTH_URL_PATH as C, CLI_AUTH_COMMAND as D, CALLBACK_PATH as E, WorkflowResolutionError as M, throwReportedCliExit as N, AuthenticationError as O, AUTH_TIMEOUT_SECONDS as S, CALLBACK_LOOPBACK_ORIGIN as T, getApiErrorCode as _, getProcessEnv as a, isNetworkError as b, resolveCliWebUrl as c, originalConsole as d, ANSI as f, REAUTH_HINT as g, AUTH_HINT as h, getEnv as i, ProjectNotFoundError as j, CliExitError as k, captureCliTelemetryResolvedContext as l, isTTY as m, ui as n, isLocalMode as o, style as p, createHiddenGlobalOptions as r, resolveCliServerUrl as s, fetchLatestNpmPackageVersion as t, logger as u, getHttpStatus as v, CALLBACK_LOOPBACK_HOST as w, toErrorMessage as x, isAuthError as y };
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { d as ANSI, f as style, t as ui } from "./keystroke.mjs";
3
+ import { f as ANSI, n as ui, p as style } from "./keystroke.mjs";
4
4
  import { n as resolveCredentialValuesFromEnv, t as groupCredentialRequirements } from "./credentials-DAQfKqn0.mjs";
5
5
  import { readFile } from "node:fs/promises";
6
6
  import path from "node:path";
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { b as toErrorMessage, d as ANSI, f as style, t as ui, y as isNetworkError } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
6
- import { t as getIntegrationCatalog } from "./integration-catalog-4T5Yad-n.mjs";
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-1VgRbzr-.mjs";
6
+ import { t as getIntegrationCatalog } from "./integration-catalog-DtNWaMvh.mjs";
7
7
  import Table from "cli-table3";
8
8
  //#region src/commands/integrations/list.handler.ts
9
9
  function summarizeConnections(entry, connections) {
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { M as throwReportedCliExit, i as getProcessEnv, t as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
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-1VgRbzr-.mjs";
6
6
  import { a as readManifestsFromOutDir } from "./dist-DvO0q6Fo.mjs";
7
- import { n as resolveWorkflowsDir } from "./resolve-project-BREjwFKO.mjs";
7
+ import { n as resolveWorkflowsDir } from "./resolve-project-C6UAOfAG.mjs";
8
8
  import { t as readCredentialEnvMap } from "./credential-env-map-C23GV6LN.mjs";
9
- import { a as loadProjectDotenvFile, i as enrichServerCredentialRow, l as renderCredentialListBlocks, n as buildSyntheticNotOnServerRows, r as collectMergedManifestGroups, t as buildCredentialWorkflowConsumersByGroup } from "./list-enrichment-Bou_BqL0.mjs";
9
+ import { a as loadProjectDotenvFile, i as enrichServerCredentialRow, l as renderCredentialListBlocks, n as buildSyntheticNotOnServerRows, r as collectMergedManifestGroups, t as buildCredentialWorkflowConsumersByGroup } from "./list-enrichment-Cxlq6BB9.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 { t as ui } from "./keystroke.mjs";
4
- import { i as requireClient } from "./context-DT06adrn.mjs";
3
+ import { n as ui } from "./keystroke.mjs";
4
+ import { i as requireClient } from "./context-1VgRbzr-.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();
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
6
- import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-B5G-N3Hx.mjs";
3
+ import { n as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
+ import { i as requireClient } from "./context-1VgRbzr-.mjs";
6
+ import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-ByLX0A-V.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,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { M as throwReportedCliExit, b as toErrorMessage, d as ANSI, f as style, t as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
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-1VgRbzr-.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,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { M as throwReportedCliExit, d as ANSI, f as style, t as ui } from "./keystroke.mjs";
3
+ import { N as throwReportedCliExit, f as ANSI, n as ui, p as style } from "./keystroke.mjs";
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
6
- import { t as requireWorkflowsDir } from "./resolve-project-BREjwFKO.mjs";
7
- import { t as createSpinnerProgress } from "./spinner-progress-BB2EHL-l.mjs";
8
- import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-Be6RMTb2.mjs";
5
+ import { i as writeJson } from "./output-CGdYhH0p.mjs";
6
+ import { t as requireWorkflowsDir } from "./resolve-project-C6UAOfAG.mjs";
7
+ import { t as createSpinnerProgress } from "./spinner-progress-Bt8zXPOc.mjs";
8
+ import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-Z2_jkOsZ.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}`);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { d as ANSI, f as style, t as ui } from "./keystroke.mjs";
3
+ import { f as ANSI, n as ui, p as style } from "./keystroke.mjs";
4
4
  import { s as readStoredProjects } from "./dist-BF6r1hfv.mjs";
5
5
  import { i as readProjectConfig } from "./project-config-D9eFU8Jk.mjs";
6
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
6
+ import { i as writeJson } from "./output-CGdYhH0p.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
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BCDZb3Gy.mjs";
4
- import { t as createTypedCommand } from "./commander-B6_tg5_w.mjs";
3
+ import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
4
+ import { t as createTypedCommand } from "./commander-DcftG6dX.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-BKfcYsfv.mjs")).handleListen
21
+ loadHandler: async () => (await import("./listen.handler-B5WimrfF.mjs")).handleListen
22
22
  });
23
23
  }
24
24
  //#endregion
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { M as throwReportedCliExit, O as CliExitError, b as toErrorMessage, d as ANSI, f as style, t as ui } from "./keystroke.mjs";
4
- import { a as writeJsonError, i as writeJson } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
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-1VgRbzr-.mjs";
6
6
  import { n as sleep } from "./run-polling-DDpkIvwy.mjs";
7
7
  import { spawn } from "node:child_process";
8
8
  //#region src/lib/clipboard.ts
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as createTypedCommand } from "./commander-B6_tg5_w.mjs";
3
+ import { t as createTypedCommand } from "./commander-DcftG6dX.mjs";
4
4
  import { z } from "zod";
5
5
  //#region src/commands/logs/logs.command.ts
6
6
  const LogsOptionsSchema = z.object({ count: z.coerce.number().int().min(1).max(1e3).default(100).describe("Number of log entries to display") });
@@ -14,7 +14,7 @@ function createLogsCommand() {
14
14
  description: "Display recent CLI log entries",
15
15
  schema: LogsOptionsSchema,
16
16
  optionsConfig: LOGS_OPTIONS_CONFIG,
17
- loadHandler: async () => (await import("./logs.handler-CB2FtCvP.mjs")).handleLogs,
17
+ loadHandler: async () => (await import("./logs.handler-ClIIOeQB.mjs")).handleLogs,
18
18
  subcommands: [createTypedCommand({
19
19
  name: "clear",
20
20
  description: "Delete the CLI log file",
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { M as throwReportedCliExit, b as toErrorMessage, d as ANSI, f as style, t as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
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-1VgRbzr-.mjs";
6
6
  import { n as sleep, t as TERMINAL_STATUSES } from "./run-polling-DDpkIvwy.mjs";
7
7
  import Table from "cli-table3";
8
8
  //#region src/commands/workflows/_shared/run-query.ts
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { d as ANSI, f as style, t as ui, u as originalConsole } from "./keystroke.mjs";
3
+ import { d as originalConsole, f as ANSI, n as ui, p as style } from "./keystroke.mjs";
4
4
  import { o as readLogFile } from "./dist-BF6r1hfv.mjs";
5
5
  //#region src/commands/logs/logs.handler.ts
6
6
  const LEVEL_STYLES = {
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-BCDZb3Gy.mjs";
5
- import { i as requireClient } from "./context-DT06adrn.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-B5G-N3Hx.mjs";
3
+ import { n as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
+ import { i as requireClient } from "./context-1VgRbzr-.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
7
7
  //#region src/commands/org/members.add.handler.ts
8
8
  async function handleMembersAdd(options, ctx) {
9
9
  const client = requireClient(ctx);