@keystrokehq/cli 0.0.22 → 0.0.23

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 (82) hide show
  1. package/dist/{accept.handler-C6KBLKmW.mjs → accept.handler-tvT9pleH.mjs} +1 -1
  2. package/dist/{admin-D2CQoZAN.mjs → admin-DsAQ0WWj.mjs} +9 -9
  3. package/dist/{agents-Bn0g5o0o.mjs → agents-Ccw0IZCx.mjs} +4 -4
  4. package/dist/{api-keys-BixCnZJW.mjs → api-keys-tle_m3kk.mjs} +5 -5
  5. package/dist/{auth-yCNMT8sJ.mjs → auth-DLaY5yCZ.mjs} +6 -11
  6. package/dist/{auth.handler-BedGpKh1.mjs → auth.handler-Dq2fXO3S.mjs} +16 -47
  7. package/dist/{build.handler-CyDc8jiZ.mjs → build.handler-ChqSwsT_.mjs} +3 -3
  8. package/dist/{clear-cache.handler-FmJPHdWG.mjs → clear-cache.handler-DpP1VlbR.mjs} +1 -1
  9. package/dist/{clear.handler-Cvb9chs4.mjs → clear.handler-FzohTmpU.mjs} +2 -6
  10. package/dist/{commander-9Kro0Dl3.mjs → commander-BTMzBiLq.mjs} +1 -1
  11. package/dist/{connect-_l7Lkfxi.mjs → connect-BUu2ojK7.mjs} +2 -2
  12. package/dist/{connect.handler-tqk-DOv8.mjs → connect.handler-D7oO_5WS.mjs} +2 -2
  13. package/dist/{context-B2cQ-Nt3.mjs → context-DHOTSgPb.mjs} +5 -10
  14. package/dist/{create.handler-v9B0Z9Yf.mjs → create.handler-BuxP18uj.mjs} +1 -1
  15. package/dist/{credential-env-map-Dvp00a4M.mjs → credential-env-map-CtmzNkwU.mjs} +1 -1
  16. package/dist/{credentials-Dr5lD7Hm.mjs → credentials-CELZ0QHu.mjs} +5 -5
  17. package/dist/{current-deployment-workflow-qMfOrRIu.mjs → current-deployment-workflow-CnzlDCBv.mjs} +2 -2
  18. package/dist/{current.handler-Cm_-JLyZ.mjs → current.handler-BXec-Bhy.mjs} +1 -1
  19. package/dist/{delete.handler-DtP_zUaq.mjs → delete.handler-CpYOMtsv.mjs} +1 -1
  20. package/dist/{deploy-CB6pfCuB.mjs → deploy-Cn3jN7Rl.mjs} +2 -2
  21. package/dist/{deploy.handler-Bg0dpSTj.mjs → deploy.handler-BikVS9ER.mjs} +7 -7
  22. package/dist/{diff.handler-CJPrszL1.mjs → diff.handler-C3EWVBOj.mjs} +3 -3
  23. package/dist/dist-D_KgdxW5.mjs +539 -0
  24. package/dist/{env.handler-6TrLd3fo.mjs → env.handler-BuFdzUoX.mjs} +4 -4
  25. package/dist/{init-DBMtY3eO.mjs → init-6tGGTpYO.mjs} +2 -2
  26. package/dist/{init.handler-BoYbE-6H.mjs → init.handler-Dcg9MOqx.mjs} +2 -2
  27. package/dist/{inspect.handler-Juu2vGbB.mjs → inspect.handler-BN6p2hI_.mjs} +3 -3
  28. package/dist/{integration-catalog-cYlTmOSb.mjs → integration-catalog-Cub_7xCw.mjs} +1 -1
  29. package/dist/{integrations-Cdq7iSLj.mjs → integrations-BRMzYHz1.mjs} +3 -3
  30. package/dist/{invites-DHyHZOY_.mjs → invites-RO4Dy-m6.mjs} +4 -4
  31. package/dist/{invites.list.handler-C-QpsG2J.mjs → invites.list.handler-B2RoiFCu.mjs} +1 -1
  32. package/dist/{invites.resend.handler-KFKbSPzR.mjs → invites.resend.handler-C4rzRkqX.mjs} +1 -1
  33. package/dist/{invites.revoke.handler-Cuz7jrGC.mjs → invites.revoke.handler-CMf6PpeL.mjs} +1 -1
  34. package/dist/keystroke.mjs +21 -21
  35. package/dist/{list.handler-DRe38pAj.mjs → list.handler-BjKZ9-QO.mjs} +2 -2
  36. package/dist/{list.handler-Cc-V1TNz.mjs → list.handler-DpdVFRYl.mjs} +1 -1
  37. package/dist/{list.handler-Do2tVOnu.mjs → list.handler-DrY5bgm1.mjs} +1 -1
  38. package/dist/{list.handler-CLGQDuo5.mjs → list.handler-cK8Y-daR.mjs} +3 -3
  39. package/dist/{list.handler-BWsl4iYw.mjs → list.handler-fcyAKTQe.mjs} +3 -3
  40. package/dist/{list.handler-6x3GVumu.mjs → list.handler-ijBH6Ow_.mjs} +1 -1
  41. package/dist/{list.handler-RtHhrTZ3.mjs → list.handler-wYGZhl1g.mjs} +1 -1
  42. package/dist/{listen-DZdSevsB.mjs → listen-CEn4PucV.mjs} +2 -2
  43. package/dist/{listen.handler-BccHe1jh.mjs → listen.handler-B7s6mz82.mjs} +1 -1
  44. package/dist/{logs-Bh_PBnu6.mjs → logs-DiH8JXn1.mjs} +1 -1
  45. package/dist/{logs.handler-DItDS1zw.mjs → logs.handler-D0sNlOz4.mjs} +1 -1
  46. package/dist/{members.add.handler-D3nQ_Ln6.mjs → members.add.handler-Dr9SCjrS.mjs} +1 -1
  47. package/dist/{members.invite.handler-rKhg5n_C.mjs → members.invite.handler-8-pTOtw_.mjs} +1 -1
  48. package/dist/{members.list.handler-C9Yh469k.mjs → members.list.handler-CUZGd-3B.mjs} +1 -1
  49. package/dist/{members.remove.handler-Dnrck-E6.mjs → members.remove.handler-BCiLt3pa.mjs} +1 -1
  50. package/dist/{members.update.handler-qo5r6arJ.mjs → members.update.handler-BAbB9ssa.mjs} +1 -1
  51. package/dist/{org-DnES84sS.mjs → org-BD4fj8Yh.mjs} +15 -15
  52. package/dist/{orgs.create.handler-DF4eEL-2.mjs → orgs.create.handler-B_7WjV3s.mjs} +1 -1
  53. package/dist/{orgs.get.handler-BmJnseQa.mjs → orgs.get.handler-BgjeDmfl.mjs} +1 -1
  54. package/dist/{orgs.list.handler-DDVvSbsT.mjs → orgs.list.handler-ZRdb-yu5.mjs} +1 -1
  55. package/dist/{paused.handler-BLUchSMD.mjs → paused.handler-CzQkBKS6.mjs} +1 -1
  56. package/dist/{projects-Cv14bBGy.mjs → projects-CgtfPFGu.mjs} +4 -4
  57. package/dist/{requirements.handler-BKFocUof.mjs → requirements.handler-ZZfHV6f0.mjs} +2 -2
  58. package/dist/{resolve-cli-credentials-DaMDaamj.mjs → resolve-cli-credentials-B4crOe_y.mjs} +5 -5
  59. package/dist/{resolve-project-Cj3MFnU0.mjs → resolve-project-DJJZIOmu.mjs} +1 -1
  60. package/dist/{run.handler-DZuUx0fi.mjs → run.handler-xeUVmlFk.mjs} +4 -4
  61. package/dist/{runs-BOo3j297.mjs → runs-CZRwB58H.mjs} +2 -2
  62. package/dist/{skills.command-B-MhRN3J.mjs → skills.command-DGIIIRX_.mjs} +1 -1
  63. package/dist/{status.handler-CW-EFhy3.mjs → status.handler-Ch_DtyBp.mjs} +4 -11
  64. package/dist/{switch.handler-BFGvj5c6.mjs → switch.handler-B3QBoSSl.mjs} +2 -2
  65. package/dist/{sync-CZ3iUPTA.mjs → sync-BlmgsC2W.mjs} +2 -2
  66. package/dist/{sync.handler-B1L8I9lF.mjs → sync.handler-xVxeG-S0.mjs} +4 -4
  67. package/dist/{task-target-build-CTgl4L42.mjs → task-target-build-CrPLSXnu.mjs} +1 -1
  68. package/dist/task-target-deploy-runner.mjs +4 -4
  69. package/dist/{test-Byq4hG3C.mjs → test-cuU0rf9C.mjs} +2 -2
  70. package/dist/{test.handler-BsrMMj5O.mjs → test.handler-B_C-T_IM.mjs} +4 -4
  71. package/dist/{test.handler-CAsVgOpT.mjs → test.handler-CLqnDqY6.mjs} +1 -1
  72. package/dist/{tool.handler-BHS5Z4J_.mjs → tool.handler-CmpzYYiC.mjs} +6 -6
  73. package/dist/{upgrade-bZVjVXnu.mjs → upgrade-B6Prb1K-.mjs} +1 -1
  74. package/dist/{upload.handler-DXVx2u3A.mjs → upload.handler-81mbKHTY.mjs} +4 -4
  75. package/dist/{users.get.handler-DqD2ELK2.mjs → users.get.handler-DoajzImx.mjs} +1 -1
  76. package/dist/{users.list.handler-DZSPvpGF.mjs → users.list.handler-CRk2J8mi.mjs} +1 -1
  77. package/dist/{users.set-role.handler-73smNUVF.mjs → users.set-role.handler-CHYjbx5M.mjs} +1 -1
  78. package/dist/{validate.handler-CmfcMX0t.mjs → validate.handler-CWG5HyO3.mjs} +3 -3
  79. package/dist/{workflow-build-Bi1Aacc5.mjs → workflow-build-CVG4DSCw.mjs} +1 -1
  80. package/dist/{workflows-C_C13Zr0.mjs → workflows-eztTnue4.mjs} +12 -12
  81. package/package.json +5 -5
  82. package/dist/dist-DuJjDZIf.mjs +0 -1094
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { a as ui } from "./keystroke.mjs";
4
4
  import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
- import { i as requireClient } from "./context-B2cQ-Nt3.mjs";
5
+ import { i as requireClient } from "./context-DHOTSgPb.mjs";
6
6
  import { n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-CSZj4XlH.mjs";
7
7
  //#region src/commands/invites/accept.handler.ts
8
8
  async function handleInvitesAccept(options, ctx) {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BWcVRt-T.mjs";
4
- import { t as createTypedCommand } from "./commander-9Kro0Dl3.mjs";
4
+ import { t as createTypedCommand } from "./commander-BTMzBiLq.mjs";
5
5
  import { t as OrgRoleSchema } from "./schema-Lbp5lGJu.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/commands/admin/orgs.command.ts
@@ -28,21 +28,21 @@ function createAdminOrgsCommand() {
28
28
  description: "Manage organizations as a platform admin",
29
29
  schema: AdminOrgsListOptionsSchema,
30
30
  optionsConfig: { ...JSON_OPTION_CONFIG },
31
- loadHandler: async () => (await import("./orgs.list.handler-DDVvSbsT.mjs")).handleAdminOrgsList,
31
+ loadHandler: async () => (await import("./orgs.list.handler-ZRdb-yu5.mjs")).handleAdminOrgsList,
32
32
  subcommands: [
33
33
  createTypedCommand({
34
34
  name: "create",
35
35
  description: "Create an organization (requires system.create_org)",
36
36
  schema: AdminOrgsCreateOptionsSchema,
37
37
  optionsConfig: CREATE_OPTIONS_CONFIG,
38
- loadHandler: async () => (await import("./orgs.create.handler-DF4eEL-2.mjs")).handleAdminOrgsCreate
38
+ loadHandler: async () => (await import("./orgs.create.handler-B_7WjV3s.mjs")).handleAdminOrgsCreate
39
39
  }),
40
40
  createTypedCommand({
41
41
  name: "list",
42
42
  description: "List organizations (requires system.view_orgs)",
43
43
  schema: AdminOrgsListOptionsSchema,
44
44
  optionsConfig: { ...JSON_OPTION_CONFIG },
45
- loadHandler: async () => (await import("./orgs.list.handler-DDVvSbsT.mjs")).handleAdminOrgsList
45
+ loadHandler: async () => (await import("./orgs.list.handler-ZRdb-yu5.mjs")).handleAdminOrgsList
46
46
  }),
47
47
  createTypedCommand({
48
48
  name: "get",
@@ -54,7 +54,7 @@ function createAdminOrgsCommand() {
54
54
  description: "Organization ID",
55
55
  key: "orgId"
56
56
  },
57
- loadHandler: async () => (await import("./orgs.get.handler-BmJnseQa.mjs")).handleAdminOrgsGet
57
+ loadHandler: async () => (await import("./orgs.get.handler-BgjeDmfl.mjs")).handleAdminOrgsGet
58
58
  })
59
59
  ]
60
60
  });
@@ -157,14 +157,14 @@ function createAdminUsersCommand() {
157
157
  description: "Manage platform users",
158
158
  schema: AdminUsersListOptionsSchema,
159
159
  optionsConfig: { ...JSON_OPTION_CONFIG },
160
- loadHandler: async () => (await import("./users.list.handler-DZSPvpGF.mjs")).handleAdminUsersList,
160
+ loadHandler: async () => (await import("./users.list.handler-CRk2J8mi.mjs")).handleAdminUsersList,
161
161
  subcommands: [
162
162
  createTypedCommand({
163
163
  name: "list",
164
164
  description: "List platform users",
165
165
  schema: AdminUsersListOptionsSchema,
166
166
  optionsConfig: { ...JSON_OPTION_CONFIG },
167
- loadHandler: async () => (await import("./users.list.handler-DZSPvpGF.mjs")).handleAdminUsersList
167
+ loadHandler: async () => (await import("./users.list.handler-CRk2J8mi.mjs")).handleAdminUsersList
168
168
  }),
169
169
  createTypedCommand({
170
170
  name: "get",
@@ -176,7 +176,7 @@ function createAdminUsersCommand() {
176
176
  description: "User ID",
177
177
  key: "userId"
178
178
  },
179
- loadHandler: async () => (await import("./users.get.handler-DqD2ELK2.mjs")).handleAdminUsersGet
179
+ loadHandler: async () => (await import("./users.get.handler-DoajzImx.mjs")).handleAdminUsersGet
180
180
  }),
181
181
  createTypedCommand({
182
182
  name: "set-role",
@@ -188,7 +188,7 @@ function createAdminUsersCommand() {
188
188
  description: "User ID",
189
189
  key: "userId"
190
190
  },
191
- loadHandler: async () => (await import("./users.set-role.handler-73smNUVF.mjs")).handleAdminUsersSetRole
191
+ loadHandler: async () => (await import("./users.set-role.handler-CHYjbx5M.mjs")).handleAdminUsersSetRole
192
192
  })
193
193
  ]
194
194
  });
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { a as ui, j as throwReportedCliExit, n as style, t as ANSI, y as toErrorMessage } from "./keystroke.mjs";
4
- import { i as projects } from "./dist-DuJjDZIf.mjs";
4
+ import { i as projects } from "./dist-D_KgdxW5.mjs";
5
5
  import { i as writeJson, n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BWcVRt-T.mjs";
6
- import { t as createTypedCommand } from "./commander-9Kro0Dl3.mjs";
6
+ import { t as createTypedCommand } from "./commander-BTMzBiLq.mjs";
7
7
  import { i as readAgentManifestsFromOutDir } from "./dist-Br4m3sFZ.mjs";
8
- import { t as requireWorkflowsDir } from "./resolve-project-Cj3MFnU0.mjs";
8
+ import { t as requireWorkflowsDir } from "./resolve-project-DJJZIOmu.mjs";
9
9
  import { t as createSpinnerProgress } from "./spinner-progress-BtEIJRX4.mjs";
10
- import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-Bi1Aacc5.mjs";
10
+ import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-CVG4DSCw.mjs";
11
11
  import { i as resolveTypeHint } from "./schema-display-XrRCdFL0.mjs";
12
12
  import { z } from "zod";
13
13
  //#region src/commands/agents/inspect-display.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BWcVRt-T.mjs";
4
- import { t as createTypedCommand } from "./commander-9Kro0Dl3.mjs";
4
+ import { t as createTypedCommand } from "./commander-BTMzBiLq.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/api-keys/api-keys.command.ts
7
7
  const ApiKeysCreateOptionsSchema = JsonOptionSchema.extend({ name: z.string().optional() });
@@ -23,21 +23,21 @@ function createApiKeysCommand() {
23
23
  description: "Manage API keys for your organization",
24
24
  schema: JsonOptionSchema,
25
25
  optionsConfig: { ...JSON_OPTION_CONFIG },
26
- loadHandler: async () => (await import("./list.handler-Do2tVOnu.mjs")).handleApiKeysList,
26
+ loadHandler: async () => (await import("./list.handler-DrY5bgm1.mjs")).handleApiKeysList,
27
27
  subcommands: [
28
28
  createTypedCommand({
29
29
  name: "list",
30
30
  description: "List all API keys for your organization",
31
31
  schema: JsonOptionSchema,
32
32
  optionsConfig: { ...JSON_OPTION_CONFIG },
33
- loadHandler: async () => (await import("./list.handler-Do2tVOnu.mjs")).handleApiKeysList
33
+ loadHandler: async () => (await import("./list.handler-DrY5bgm1.mjs")).handleApiKeysList
34
34
  }),
35
35
  createTypedCommand({
36
36
  name: "create",
37
37
  description: "Create a new API key (raw key shown once)",
38
38
  schema: ApiKeysCreateOptionsSchema,
39
39
  optionsConfig: CREATE_OPTIONS_CONFIG,
40
- loadHandler: async () => (await import("./create.handler-v9B0Z9Yf.mjs")).handleApiKeysCreate
40
+ loadHandler: async () => (await import("./create.handler-BuxP18uj.mjs")).handleApiKeysCreate
41
41
  }),
42
42
  createTypedCommand({
43
43
  name: "delete",
@@ -49,7 +49,7 @@ function createApiKeysCommand() {
49
49
  description: "API key ID to delete",
50
50
  key: "apiKeyId"
51
51
  },
52
- loadHandler: async () => (await import("./delete.handler-DtP_zUaq.mjs")).handleApiKeysDelete
52
+ loadHandler: async () => (await import("./delete.handler-CpYOMtsv.mjs")).handleApiKeysDelete
53
53
  })
54
54
  ]
55
55
  });
@@ -2,24 +2,19 @@
2
2
 
3
3
  import { n as DEFAULT_CLI_WEB_URL } from "./default-urls-BoSm4s9C.mjs";
4
4
  import { b as AUTH_TIMEOUT_SECONDS } from "./keystroke.mjs";
5
- import { t as createTypedCommand } from "./commander-9Kro0Dl3.mjs";
5
+ import { t as createTypedCommand } from "./commander-BTMzBiLq.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/commands/auth/auth.command.ts
8
8
  const AuthOptionsSchema = z.object({
9
9
  webUrl: z.url().optional().describe("Keystroke web URL"),
10
- insecureStorage: z.boolean().default(false).describe("Store API keys in plaintext file storage instead of the OS credential store"),
11
10
  timeout: z.coerce.number().int().min(AUTH_TIMEOUT_SECONDS.min).max(AUTH_TIMEOUT_SECONDS.max).default(AUTH_TIMEOUT_SECONDS.default).describe("Timeout in seconds")
12
11
  });
13
- const AuthClearOptionsSchema = z.object({ localOnly: z.boolean().default(false).describe("Remove local credentials without reading the OS credential store for server revocation") });
12
+ const AuthClearOptionsSchema = z.object({ localOnly: z.boolean().default(false).describe("Remove local credentials without reading the saved API key for server revocation") });
14
13
  const AUTH_OPTIONS_CONFIG = {
15
14
  webUrl: {
16
15
  flag: "--web-url <url>",
17
16
  description: `Keystroke web URL (default: saved credentials, WEB_URL env, or ${DEFAULT_CLI_WEB_URL})`
18
17
  },
19
- insecureStorage: {
20
- flag: "--insecure-storage",
21
- description: "Store the API key in plaintext file storage instead of the OS credential store"
22
- },
23
18
  timeout: {
24
19
  flag: "--timeout <seconds>",
25
20
  description: `Authentication timeout in seconds (default: ${AUTH_TIMEOUT_SECONDS.default})`
@@ -36,7 +31,7 @@ function createAuthCommand() {
36
31
  schema: AuthOptionsSchema,
37
32
  optionsConfig: AUTH_OPTIONS_CONFIG,
38
33
  contextMode: "auth-metadata",
39
- loadHandler: async () => (await import("./auth.handler-BedGpKh1.mjs")).handleAuth,
34
+ loadHandler: async () => (await import("./auth.handler-Dq2fXO3S.mjs")).handleAuth,
40
35
  subcommands: [
41
36
  createTypedCommand({
42
37
  name: "clear",
@@ -44,21 +39,21 @@ function createAuthCommand() {
44
39
  schema: AuthClearOptionsSchema,
45
40
  optionsConfig: AUTH_CLEAR_OPTIONS_CONFIG,
46
41
  contextMode: "auth-metadata",
47
- loadHandler: async () => (await import("./clear.handler-Cvb9chs4.mjs")).handleAuthClear
42
+ loadHandler: async () => (await import("./clear.handler-FzohTmpU.mjs")).handleAuthClear
48
43
  }),
49
44
  createTypedCommand({
50
45
  name: "test",
51
46
  description: "Verify that the saved API key is valid",
52
47
  schema: z.object({}),
53
48
  optionsConfig: {},
54
- loadHandler: async () => (await import("./test.handler-CAsVgOpT.mjs")).handleAuthTest
49
+ loadHandler: async () => (await import("./test.handler-CLqnDqY6.mjs")).handleAuthTest
55
50
  }),
56
51
  createTypedCommand({
57
52
  name: "status",
58
53
  description: "Show the current signed-in identity and organization context",
59
54
  schema: z.object({}),
60
55
  optionsConfig: {},
61
- loadHandler: async () => (await import("./status.handler-CW-EFhy3.mjs")).handleAuthStatus
56
+ loadHandler: async () => (await import("./status.handler-Ch_DtyBp.mjs")).handleAuthStatus
62
57
  })
63
58
  ]
64
59
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { n as DEFAULT_CLI_WEB_URL, t as DEFAULT_CLI_SERVER_URL } from "./default-urls-BoSm4s9C.mjs";
4
4
  import { C as CALLBACK_LOOPBACK_ORIGIN, D as CliExitError, P as logger, S as CALLBACK_LOOPBACK_HOST, T as CLI_AUTH_COMMAND, a as ui, d as resolveCliWebUrl, u as resolveCliServerUrl, w as CALLBACK_PATH, x as AUTH_URL_PATH, y as toErrorMessage } from "./keystroke.mjs";
5
- import { n as credentials } from "./dist-DuJjDZIf.mjs";
5
+ import { n as credentials } from "./dist-D_KgdxW5.mjs";
6
6
  import { t as openBrowser } from "./browser-Dvv5OQrt.mjs";
7
7
  import { hostname } from "node:os";
8
8
  import { z } from "zod";
@@ -283,7 +283,7 @@ function printResolvedHosts(hosts) {
283
283
  async function confirmLoopbackHostsOrExit(hosts) {
284
284
  ui.br();
285
285
  ui.warn("About to authenticate against a local development environment");
286
- if (hosts.webMatchesSaved || hosts.serverMatchesSaved) ui.hint(`Saved at: ${credentials.metadataFilePath} (from a previous keystroke auth run)`);
286
+ if (hosts.webMatchesSaved || hosts.serverMatchesSaved) ui.hint(`Saved at: ${credentials.credentialsFilePath} (from a previous keystroke auth run)`);
287
287
  else ui.hint("Resolved from your environment (WEB_URL / SERVER_URL).");
288
288
  ui.hint(`CLI default is ${DEFAULT_CLI_WEB_URL} / ${DEFAULT_CLI_SERVER_URL}.`);
289
289
  ui.hint("To switch hosts:");
@@ -326,26 +326,7 @@ function printAuthSuccess(params) {
326
326
  ui.success("Authentication successful.");
327
327
  if (params.email) ui.hint(`Connected as: ${params.email}`);
328
328
  if (params.organizationName) ui.hint(`Organization: ${params.organizationName}`);
329
- ui.hint(`Credentials metadata saved to ${credentials.metadataFilePath}`);
330
- if (params.insecureStorage) {
331
- ui.warn(`API key saved to plaintext file storage at ${credentials.secretsFilePath}`);
332
- return;
333
- }
334
- ui.hint("Secret saved to OS credential store.");
335
- }
336
- function isCredentialStoreError(message) {
337
- const normalized = message.toLowerCase();
338
- return normalized.includes("credential store") || normalized.includes("keychain");
339
- }
340
- function exitCredentialStoreSaveFailed(error) {
341
- const message = toErrorMessage(error);
342
- ui.error("Could not save the API key to the OS credential store.");
343
- ui.hint("Unlock your keychain or credential store, then rerun `keystroke auth`.");
344
- ui.hint("For intentional plaintext file storage, rerun `keystroke auth --insecure-storage`.");
345
- throw new CliExitError(message, {
346
- cause: error,
347
- reported: true
348
- });
329
+ ui.hint(`Credentials saved to ${credentials.credentialsFilePath}`);
349
330
  }
350
331
  function warnIfSavedCredentialsExist(ctx) {
351
332
  if (ctx.storedOrgs.length === 0) return;
@@ -361,10 +342,6 @@ async function handleAuth(options, ctx, overrides) {
361
342
  warnIfSavedCredentialsExist(ctx);
362
343
  const hosts = resolveAuthHosts(options, ctx);
363
344
  printResolvedHosts(hosts);
364
- if (options.insecureStorage) {
365
- ui.warn("Using insecure plaintext file storage for this API key.");
366
- ui.hint("For CI/headless usage, prefer KEYSTROKE_API_KEY.");
367
- }
368
345
  if (shouldConfirmLoopback(hosts)) await confirmLoopbackHostsOrExit(hosts);
369
346
  const { webUrl, serverUrl } = hosts;
370
347
  const timeoutMs = options.timeout * 1e3;
@@ -402,33 +379,25 @@ async function handleAuth(options, ctx, overrides) {
402
379
  email: callbackPayload.userEmail,
403
380
  name: callbackPayload.userName
404
381
  } : void 0;
405
- if (callbackPayload.organizationId) try {
406
- await credentials.upsertOrg({
407
- org: {
408
- organizationId: callbackPayload.organizationId,
409
- organizationName: callbackPayload.organizationName ?? "Unknown",
410
- apiKeyId: callbackPayload.apiKeyId,
411
- createdAt: (/* @__PURE__ */ new Date()).toISOString()
412
- },
413
- apiKey: callbackPayload.apiKey,
414
- serverUrl: callbackPayload.serverUrl,
415
- webUrl,
416
- user,
417
- secretStorage: options.insecureStorage ? "file" : "keychain"
418
- });
419
- } catch (error) {
420
- const message = toErrorMessage(error);
421
- if (!options.insecureStorage && isCredentialStoreError(message)) exitCredentialStoreSaveFailed(error);
422
- throw error;
423
- }
382
+ if (callbackPayload.organizationId) await credentials.upsertOrg({
383
+ org: {
384
+ organizationId: callbackPayload.organizationId,
385
+ organizationName: callbackPayload.organizationName ?? "Unknown",
386
+ apiKeyId: callbackPayload.apiKeyId,
387
+ createdAt: (/* @__PURE__ */ new Date()).toISOString()
388
+ },
389
+ apiKey: callbackPayload.apiKey,
390
+ serverUrl: callbackPayload.serverUrl,
391
+ webUrl,
392
+ user
393
+ });
424
394
  logger.info("Auth successful", {
425
395
  email: callbackPayload.userEmail,
426
396
  organizationId: callbackPayload.organizationId
427
397
  });
428
398
  printAuthSuccess({
429
399
  email: callbackPayload.userEmail,
430
- organizationName: callbackPayload.organizationName,
431
- insecureStorage: options.insecureStorage
400
+ organizationName: callbackPayload.organizationName
432
401
  });
433
402
  } catch (error) {
434
403
  if (toErrorMessage(error).includes("Timed out waiting for device authentication")) ui.error(`Authentication timed out after ${options.timeout}s. Re-run ${CLI_AUTH_COMMAND} and complete the browser prompt before timeout.`);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { D as CliExitError } from "./keystroke.mjs";
4
- import { i as projects } from "./dist-DuJjDZIf.mjs";
5
- import { t as requireWorkflowsDir } from "./resolve-project-Cj3MFnU0.mjs";
6
- import { a as runWorkflowBuild, i as renderBuildSummary, n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-Bi1Aacc5.mjs";
4
+ import { i as projects } from "./dist-D_KgdxW5.mjs";
5
+ import { t as requireWorkflowsDir } from "./resolve-project-DJJZIOmu.mjs";
6
+ import { a as runWorkflowBuild, i as renderBuildSummary, n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-CVG4DSCw.mjs";
7
7
  import { t as createBuildProgress } from "./build-progress-nYa14iBP.mjs";
8
8
  import { t as withErrorBoundary } from "./error-boundary-DVZipk-A.mjs";
9
9
  //#region src/commands/workflows/build.handler.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { a as ui } from "./keystroke.mjs";
4
- import { i as projects } from "./dist-DuJjDZIf.mjs";
4
+ import { i as projects } from "./dist-D_KgdxW5.mjs";
5
5
  //#region src/commands/projects/clear-cache.handler.ts
6
6
  async function handleProjectsClearCache(_options, _ctx) {
7
7
  if (await projects.clear()) ui.success("Projects cache cleared.");
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { P as logger, a as ui, p as AUTH_HINT, y as toErrorMessage } from "./keystroke.mjs";
4
- import { n as credentials } from "./dist-DuJjDZIf.mjs";
4
+ import { n as credentials } from "./dist-D_KgdxW5.mjs";
5
5
  import { createClient } from "./src-DNhUmpSl.mjs";
6
6
  //#region src/commands/auth/clear.handler.ts
7
7
  async function tryRevokeKey(apiKey, apiKeyId, baseUrl, organizationId) {
@@ -45,10 +45,7 @@ async function handleAuthClear(options, ctx) {
45
45
  return;
46
46
  }
47
47
  let apiKey = null;
48
- if (!options.localOnly && serverUrl) {
49
- ui.hint("Your OS credential store may ask for permission to read the saved API key.");
50
- apiKey = await readApiKeyForRevocation(ctx.organizationId);
51
- }
48
+ if (!options.localOnly && serverUrl) apiKey = await readApiKeyForRevocation(ctx.organizationId);
52
49
  const removed = await credentials.removeOrg(ctx.organizationId);
53
50
  if (!removed) {
54
51
  ui.warn(`No stored credentials for organization ${ctx.organizationId}.`);
@@ -63,7 +60,6 @@ async function handleAuthClear(options, ctx) {
63
60
  if (options.localOnly) ui.hint("Skipped server revocation because --local-only was provided.");
64
61
  else {
65
62
  const revocableOrgs = storedOrgs.filter((org) => org.apiKeyId && serverUrl);
66
- if (revocableOrgs.length > 0) ui.hint("Your OS credential store may ask for permission to read saved API keys.");
67
63
  for (const org of revocableOrgs) if (org.apiKeyId && serverUrl) {
68
64
  const apiKey = await readApiKeyForRevocation(org.organizationId);
69
65
  if (apiKey) revokeInputs.push({
@@ -78,7 +78,7 @@ function createTypedCommand(params) {
78
78
  const globalOpts = cmd.optsWithGlobals();
79
79
  if (globalOpts.debug) setDebug(true);
80
80
  const contextMode = params.contextMode ?? "full";
81
- const contextModule = await import("./context-B2cQ-Nt3.mjs").then((n) => n.n);
81
+ const contextModule = await import("./context-DHOTSgPb.mjs").then((n) => n.n);
82
82
  const contextOptions = {
83
83
  apiKey: globalOpts.apiKey,
84
84
  serverUrl: globalOpts.serverUrl,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BWcVRt-T.mjs";
4
- import { t as createTypedCommand } from "./commander-9Kro0Dl3.mjs";
4
+ import { t as createTypedCommand } from "./commander-BTMzBiLq.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/connect/connect.command.ts
7
7
  const ConnectOptionsSchema = JsonOptionSchema.extend({
@@ -61,7 +61,7 @@ function createConnectCommand() {
61
61
  description: "Connect an official integration via OAuth (e.g., keystroke connect slack)",
62
62
  schema: ConnectOptionsSchema,
63
63
  optionsConfig: CONNECT_OPTIONS_CONFIG,
64
- loadHandler: async () => (await import("./connect.handler-tqk-DOv8.mjs")).handleConnect,
64
+ loadHandler: async () => (await import("./connect.handler-D7oO_5WS.mjs")).handleConnect,
65
65
  argument: {
66
66
  name: "integrationId",
67
67
  description: "Integration to connect (e.g., slack, linear)",
@@ -3,10 +3,10 @@
3
3
  import { a as ui, j as throwReportedCliExit, p as AUTH_HINT, v as isNetworkError, y as toErrorMessage } from "./keystroke.mjs";
4
4
  import { t as assertWorkflowProjectRoot } from "./project-config-DudGRFPO.mjs";
5
5
  import { i as writeJson } from "./output-BWcVRt-T.mjs";
6
- import { n as resolveWorkflowsDir } from "./resolve-project-Cj3MFnU0.mjs";
6
+ import { n as resolveWorkflowsDir } from "./resolve-project-DJJZIOmu.mjs";
7
7
  import { t as openBrowser } from "./browser-Dvv5OQrt.mjs";
8
8
  import { i as InitiateConnectionResponseSchema, n as ConnectionStatusResponseSchema, r as InitiateConnectionRequestSchema } from "./api-O5tdGdzc.mjs";
9
- import { t as getIntegrationCatalog } from "./integration-catalog-cYlTmOSb.mjs";
9
+ import { t as getIntegrationCatalog } from "./integration-catalog-Cub_7xCw.mjs";
10
10
  //#region src/commands/connect/connect.handler.ts
11
11
  function formatIntegrationLabel(catalog, integrationId) {
12
12
  return catalog.lookupByPublicId(integrationId)?.name ?? integrationId;
@@ -2,8 +2,8 @@
2
2
 
3
3
  import { n as __exportAll } from "./chunk-CH6r78ws.mjs";
4
4
  import { D as CliExitError, E as AuthenticationError, P as logger, _ as isAuthError, a as ui, c as getProcessEnv, m as REAUTH_HINT, p as AUTH_HINT, s as getEnv, y as toErrorMessage } from "./keystroke.mjs";
5
- import { n as credentials } from "./dist-DuJjDZIf.mjs";
6
- import { t as resolveCliCredentials } from "./resolve-cli-credentials-DaMDaamj.mjs";
5
+ import { n as credentials } from "./dist-D_KgdxW5.mjs";
6
+ import { t as resolveCliCredentials } from "./resolve-cli-credentials-B4crOe_y.mjs";
7
7
  import { a as writeJsonError } from "./output-BWcVRt-T.mjs";
8
8
  //#region src/lib/context.ts
9
9
  var context_exports = /* @__PURE__ */ __exportAll({
@@ -110,7 +110,7 @@ async function resolveAuthContext(overrides = {}) {
110
110
  storedServerUrls,
111
111
  credentialStorageInfo,
112
112
  credentialReadError: auth.readErrorMessage,
113
- metadataFilePath: auth.metadataFilePath
113
+ credentialsFilePath: auth.credentialsFilePath
114
114
  };
115
115
  }
116
116
  async function resolveAuthMetadataContext(overrides = {}) {
@@ -135,19 +135,14 @@ async function resolveAuthMetadataContext(overrides = {}) {
135
135
  storedServerUrls,
136
136
  credentialStorageInfo,
137
137
  credentialReadError: void 0,
138
- metadataFilePath: credentials.metadataFilePath
138
+ credentialsFilePath: credentials.credentialsFilePath
139
139
  };
140
140
  }
141
141
  async function resolveCredentialStorageInfo() {
142
142
  try {
143
143
  return await credentials.getStorageInfo();
144
144
  } catch {
145
- return {
146
- metadataFilePath: credentials.metadataFilePath,
147
- legacySecretsFilePath: credentials.secretsFilePath,
148
- secretStorageKind: "file",
149
- insecureFileStorage: true
150
- };
145
+ return { credentialsFilePath: credentials.credentialsFilePath };
151
146
  }
152
147
  }
153
148
  /**
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { a as ui, j as throwReportedCliExit, y as toErrorMessage } from "./keystroke.mjs";
4
4
  import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
- import { i as requireClient } from "./context-B2cQ-Nt3.mjs";
5
+ import { i as requireClient } from "./context-DHOTSgPb.mjs";
6
6
  //#region src/commands/api-keys/create.handler.ts
7
7
  async function handleApiKeysCreate(options, ctx) {
8
8
  const client = requireClient(ctx);
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { r as getKeystrokeProjectPath } from "./paths-JzzFkXQA-CEipIeVl.mjs";
4
- import "./dist-DuJjDZIf.mjs";
4
+ import "./dist-D_KgdxW5.mjs";
5
5
  import * as fs from "node:fs/promises";
6
6
  import { z } from "zod";
7
7
  //#region src/lib/credential-env-map.ts
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-BWcVRt-T.mjs";
4
- import { t as createTypedCommand } from "./commander-9Kro0Dl3.mjs";
4
+ import { t as createTypedCommand } from "./commander-BTMzBiLq.mjs";
5
5
  import { i as CredentialScopeValues, r as CredentialScopeSchema } from "./schema-DFJiNWyd.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/commands/credentials/list/list.command.ts
@@ -46,7 +46,7 @@ function createCredentialsListCommand() {
46
46
  description: "List credential sets on the server",
47
47
  schema: ListOptionsSchema,
48
48
  optionsConfig: LIST_OPTIONS_CONFIG,
49
- loadHandler: async () => (await import("./list.handler-CLGQDuo5.mjs")).handleCredentialsList
49
+ loadHandler: async () => (await import("./list.handler-cK8Y-daR.mjs")).handleCredentialsList
50
50
  });
51
51
  }
52
52
  //#endregion
@@ -65,7 +65,7 @@ function createCredentialsRequirementsCommand() {
65
65
  description: "Show what credentials built workflows need (keys, KEYSTROKE_* env names, workflows) — from dist manifests, no API call",
66
66
  schema: RequirementsOptionsSchema,
67
67
  optionsConfig: REQUIREMENTS_OPTIONS_CONFIG,
68
- loadHandler: async () => (await import("./requirements.handler-BKFocUof.mjs")).handleCredentialsRequirements
68
+ loadHandler: async () => (await import("./requirements.handler-ZZfHV6f0.mjs")).handleCredentialsRequirements
69
69
  });
70
70
  }
71
71
  //#endregion
@@ -126,7 +126,7 @@ function createCredentialsUploadCommand() {
126
126
  description: "Upload credentials from env vars to the server. Default: reads requirements from built workflow manifests. Use --integration for an official integration or --credential-set + --keys for a custom explicit upload.",
127
127
  schema: UploadOptionsSchema,
128
128
  optionsConfig: UPLOAD_OPTIONS_CONFIG,
129
- loadHandler: async () => (await import("./upload.handler-DXVx2u3A.mjs")).handleCredentialsUpload
129
+ loadHandler: async () => (await import("./upload.handler-81mbKHTY.mjs")).handleCredentialsUpload
130
130
  });
131
131
  }
132
132
  //#endregion
@@ -157,7 +157,7 @@ function createCredentialsCommand() {
157
157
  }
158
158
  },
159
159
  handler: async (opts, ctx) => {
160
- const { handleCredentialsList } = await import("./list.handler-CLGQDuo5.mjs");
160
+ const { handleCredentialsList } = await import("./list.handler-cK8Y-daR.mjs");
161
161
  await handleCredentialsList({
162
162
  ...opts,
163
163
  scope: void 0,
@@ -3,9 +3,9 @@
3
3
  import { A as WorkflowResolutionError, a as ui, g as getHttpStatus, h as getApiErrorCode } from "./keystroke.mjs";
4
4
  import { t as assertWorkflowProjectRoot } from "./project-config-DudGRFPO.mjs";
5
5
  import { a as readManifestsFromOutDir } from "./dist-Br4m3sFZ.mjs";
6
- import { t as requireWorkflowsDir } from "./resolve-project-Cj3MFnU0.mjs";
6
+ import { t as requireWorkflowsDir } from "./resolve-project-DJJZIOmu.mjs";
7
7
  import { t as createSpinnerProgress } from "./spinner-progress-BtEIJRX4.mjs";
8
- import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-Bi1Aacc5.mjs";
8
+ import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-CVG4DSCw.mjs";
9
9
  //#region src/commands/workflows/_shared/current-deployment-workflow.ts
10
10
  /**
11
11
  * Lightweight resolution: gets projectId from keystroke.config.ts and authoredWorkflowId
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { a as ui } from "./keystroke.mjs";
4
- import { i as requireClient } from "./context-B2cQ-Nt3.mjs";
4
+ import { i as requireClient } from "./context-DHOTSgPb.mjs";
5
5
  //#region src/commands/org/current.handler.ts
6
6
  async function handleOrgCurrent(_options, ctx) {
7
7
  if (!ctx.organizationId) {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { a as ui, j as throwReportedCliExit, y as toErrorMessage } from "./keystroke.mjs";
4
- import { i as requireClient } from "./context-B2cQ-Nt3.mjs";
4
+ import { i as requireClient } from "./context-DHOTSgPb.mjs";
5
5
  //#region src/commands/api-keys/delete.handler.ts
6
6
  async function handleApiKeysDelete(options, ctx) {
7
7
  const client = requireClient(ctx);
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as createTypedCommand } from "./commander-9Kro0Dl3.mjs";
3
+ import { t as createTypedCommand } from "./commander-BTMzBiLq.mjs";
4
4
  import { z } from "zod";
5
5
  //#region src/commands/deploy/deploy.command.ts
6
6
  /**
@@ -64,7 +64,7 @@ function createDeployCommand() {
64
64
  schema: DeployOptionsSchema,
65
65
  optionsConfig: DEPLOY_OPTIONS_CONFIG,
66
66
  contextMode: "auth",
67
- loadHandler: async () => (await import("./deploy.handler-Bg0dpSTj.mjs")).handleDeploy
67
+ loadHandler: async () => (await import("./deploy.handler-BikVS9ER.mjs")).handleDeploy
68
68
  });
69
69
  cmd.enablePositionalOptions();
70
70
  cmd.passThroughOptions();
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { D as CliExitError, P as logger, a as ui, l as isLocalMode, n as style, t as ANSI } from "./keystroke.mjs";
4
- import { i as projects } from "./dist-DuJjDZIf.mjs";
4
+ import { i as projects } from "./dist-D_KgdxW5.mjs";
5
5
  import { t as assertWorkflowProjectRoot } from "./project-config-DudGRFPO.mjs";
6
- import { r as requireAuthOptions, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B2cQ-Nt3.mjs";
6
+ import { r as requireAuthOptions, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-DHOTSgPb.mjs";
7
7
  import { i as readAgentManifestsFromOutDir, o as readWorkflowsFromDisk } from "./dist-Br4m3sFZ.mjs";
8
- import { t as requireWorkflowsDir } from "./resolve-project-Cj3MFnU0.mjs";
9
- import { n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-Bi1Aacc5.mjs";
8
+ import { t as requireWorkflowsDir } from "./resolve-project-DJJZIOmu.mjs";
9
+ import { n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-CVG4DSCw.mjs";
10
10
  import { t as createBuildProgress } from "./build-progress-nYa14iBP.mjs";
11
11
  import { t as createDeployProgress } from "./deploy-progress-Dlp9aBDW.mjs";
12
12
  import { t as withErrorBoundary } from "./error-boundary-DVZipk-A.mjs";
13
- import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-qMfOrRIu.mjs";
13
+ import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-CnzlDCBv.mjs";
14
14
  import { t as computeWorkflowDiff } from "./diff-utils-CXKNQUXO.mjs";
15
15
  import path from "node:path";
16
16
  import { access } from "node:fs/promises";
@@ -198,7 +198,7 @@ async function handleDeploy(options, ctx) {
198
198
  let outDir;
199
199
  let artifactFilter;
200
200
  try {
201
- const { runWorkflowBuild } = await import("./workflow-build-Bi1Aacc5.mjs").then((n) => n.o);
201
+ const { runWorkflowBuild } = await import("./workflow-build-CVG4DSCw.mjs").then((n) => n.o);
202
202
  const buildOutcome = await runWorkflowBuild({
203
203
  workflowsDir,
204
204
  verbose: options.verbose,
@@ -271,7 +271,7 @@ function emitNewWebhookCredentials(result) {
271
271
  }
272
272
  async function handleTaskTargetDeploy(options) {
273
273
  renderBuildHeader(void 0);
274
- const buildResult = await (deployHandlerDependencies.buildTaskTargets ?? (await import("./task-target-build-CTgl4L42.mjs")).buildTaskTargets)({
274
+ const buildResult = await (deployHandlerDependencies.buildTaskTargets ?? (await import("./task-target-build-CrPLSXnu.mjs")).buildTaskTargets)({
275
275
  projectRoot: options.workflowsDir,
276
276
  targetFiles: options.targetFiles,
277
277
  disableSourcemaps: options.options.disableSourcemaps
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { D as CliExitError, a as ui, j as throwReportedCliExit, y as toErrorMessage } from "./keystroke.mjs";
4
- import { i as projects } from "./dist-DuJjDZIf.mjs";
4
+ import { i as projects } from "./dist-D_KgdxW5.mjs";
5
5
  import { i as writeJson } from "./output-BWcVRt-T.mjs";
6
- import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B2cQ-Nt3.mjs";
7
- import { n as resolveLocalWorkflowManifest, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-qMfOrRIu.mjs";
6
+ import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-DHOTSgPb.mjs";
7
+ import { n as resolveLocalWorkflowManifest, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-CnzlDCBv.mjs";
8
8
  import { n as renderDiff, t as computeWorkflowDiff } from "./diff-utils-CXKNQUXO.mjs";
9
9
  //#region src/commands/workflows/diff/diff.handler.ts
10
10
  async function handleWorkflowsDiff(options, ctx) {