@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,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/connect/connect.command.ts
7
7
  const ConnectOptionsSchema = JsonOptionSchema.extend({
@@ -37,7 +37,7 @@ function createConnectCommand() {
37
37
  description: "Connect an official integration via OAuth (e.g., keystroke connect slack)",
38
38
  schema: ConnectOptionsSchema,
39
39
  optionsConfig: CONNECT_OPTIONS_CONFIG,
40
- loadHandler: async () => (await import("./connect.handler-DRO05ak3.mjs")).handleConnect,
40
+ loadHandler: async () => (await import("./connect.handler-C7kysvhz.mjs")).handleConnect,
41
41
  argument: {
42
42
  name: "integrationId",
43
43
  description: "Integration to connect (e.g., slack, linear)",
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, b as isNetworkError, h as AUTH_HINT, n as ui, x as toErrorMessage } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { t as openBrowser } from "./browser-3cUiPlk2.mjs";
6
- import { i as InitiateConnectionResponseSchema, n as ConnectionStatusResponseSchema, r as InitiateConnectionRequestSchema } from "./api-jkf0TTgD.mjs";
7
- import { t as getIntegrationCatalog } from "./integration-catalog-BgT4mLzW.mjs";
3
+ import { a as ui, j as throwReportedCliExit, p as AUTH_HINT, v as isNetworkError, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { t as openBrowser } from "./browser-BpJ8ut9z.mjs";
6
+ import { i as InitiateConnectionResponseSchema, n as ConnectionStatusResponseSchema, r as InitiateConnectionRequestSchema } from "./api-DsK8M-ZH.mjs";
7
+ import { t as getIntegrationCatalog } from "./integration-catalog-m8tj_XlD.mjs";
8
8
  //#region src/commands/connect/connect.handler.ts
9
9
  function formatIntegrationLabel(catalog, integrationId) {
10
10
  return catalog.lookupByPublicId(integrationId)?.name ?? integrationId;
@@ -1,9 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as __exportAll } from "./chunk-CH6r78ws.mjs";
4
- import { O as AuthenticationError, g as REAUTH_HINT, h as AUTH_HINT, i as getEnv, k as CliExitError, n as ui, u as logger, x as toErrorMessage, y as isAuthError } from "./keystroke.mjs";
5
- import { l as resolveAuthOptions } from "./dist-BF6r1hfv.mjs";
6
- import { a as writeJsonError } from "./output-CGdYhH0p.mjs";
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-CIInPRGh.mjs";
6
+ import { t as resolveCliCredentials } from "./resolve-cli-credentials-DytxgMwn.mjs";
7
+ import { a as writeJsonError } from "./output-BWcVRt-T.mjs";
7
8
  //#region src/lib/context.ts
8
9
  var context_exports = /* @__PURE__ */ __exportAll({
9
10
  assertProjectConfigMatchesAuthenticatedOrg: () => assertProjectConfigMatchesAuthenticatedOrg,
@@ -29,14 +30,14 @@ function exitNotAuthenticated(jsonMode) {
29
30
  * 2. KEYSTROKE_ORG_ID env
30
31
  * 3. Active org from stored credentials
31
32
  *
32
- * API key: resolved from the matching org entry in stored credentials (or explicit --apiKey flag).
33
- * Server URL: flags > stored credentials > env/default.
33
+ * API key: flags > KEYSTROKE_API_KEY env > stored credentials.
34
+ * Server URL: flags > SERVER_URL env > stored credentials > default.
34
35
  */
35
36
  async function resolveBaseContext(overrides = {}) {
36
37
  const authContext = await resolveAuthContext(overrides);
37
38
  let client = null;
38
39
  if (authContext.apiKey && authContext.baseUrl) try {
39
- const { createClient } = await import("./src-BQdOWkyv.mjs");
40
+ const { createClient } = await import("./src-B0tNjKMg.mjs");
40
41
  client = createClient({
41
42
  apiKey: authContext.apiKey,
42
43
  baseUrl: authContext.baseUrl,
@@ -57,27 +58,41 @@ async function resolveBaseContext(overrides = {}) {
57
58
  };
58
59
  }
59
60
  async function resolveAuthContext(overrides = {}) {
60
- const auth = await resolveAuthOptions({
61
- apiKey: overrides.apiKey,
62
- serverUrl: overrides.serverUrl
63
- });
64
61
  const env = getEnv();
65
- let apiKey = auth.apiKey ?? env.KEYSTROKE_API_KEY;
62
+ const processEnv = getProcessEnv();
63
+ const auth = await resolveCliCredentials({
64
+ apiKey: overrides.apiKey ?? env.KEYSTROKE_API_KEY,
65
+ serverUrl: overrides.serverUrl ?? processEnv.SERVER_URL
66
+ });
67
+ const storedOrgs = await credentials.listOrgs();
68
+ const storedUser = await credentials.getUser();
69
+ const storedActiveOrgId = await credentials.getActiveOrgId();
70
+ const storedServerUrls = await credentials.getServerUrls();
71
+ const credentialStorageInfo = await resolveCredentialStorageInfo();
72
+ let apiKey = auth.apiKey;
66
73
  const baseUrl = auth.serverUrl ?? env.SERVER_URL;
67
74
  const orgRaw = overrides.org ?? env.KEYSTROKE_ORG_ID ?? auth.activeOrg?.organizationId;
68
75
  const orgSource = overrides.org ? "flag" : env.KEYSTROKE_ORG_ID ? "env" : auth.activeOrg?.organizationId ? "credentials" : void 0;
69
76
  let organizationId = orgRaw;
70
77
  let matchedStoredOrg = false;
71
- if (orgRaw && auth.storedCredentials) {
72
- const matchedOrg = auth.storedCredentials.orgs.find((o) => o.organizationId === orgRaw);
78
+ if (orgRaw && storedOrgs.length > 0) {
79
+ const matchedOrg = storedOrgs.find((o) => o.organizationId === orgRaw);
73
80
  matchedStoredOrg = matchedOrg !== void 0;
74
81
  if (matchedOrg) {
75
- if (!overrides.apiKey) apiKey = matchedOrg.apiKey;
82
+ if (!overrides.apiKey && !env.KEYSTROKE_API_KEY) try {
83
+ const storedKey = await credentials.getApiKey(matchedOrg.organizationId);
84
+ if (storedKey) apiKey = storedKey;
85
+ } catch (error) {
86
+ logger.warn("Could not read saved API key for selected organization", {
87
+ error: toErrorMessage(error),
88
+ organizationId: matchedOrg.organizationId
89
+ });
90
+ }
76
91
  organizationId = matchedOrg.organizationId;
77
92
  }
78
93
  }
79
94
  const usingSavedApiKey = !overrides.apiKey && !env.KEYSTROKE_API_KEY && typeof auth.apiKey === "string" && auth.apiKey.length > 0;
80
- if (typeof orgRaw === "string" && orgRaw.length > 0 && orgSource !== "credentials" && usingSavedApiKey && auth.storedCredentials && !matchedStoredOrg) {
95
+ if (typeof orgRaw === "string" && orgRaw.length > 0 && orgSource !== "credentials" && usingSavedApiKey && storedOrgs.length > 0 && !matchedStoredOrg) {
81
96
  ui.error(`Organization ID "${orgRaw}" is not available in your saved credentials.`);
82
97
  ui.hint("Run `keystroke org switch`, re-authenticate for that organization, or pass --api-key.");
83
98
  throw new CliExitError(`Unknown saved organization ID: ${orgRaw}`, { reported: true });
@@ -88,10 +103,27 @@ async function resolveAuthContext(overrides = {}) {
88
103
  jsonMode: false,
89
104
  organizationId,
90
105
  orgSource,
91
- storedCredentials: auth.storedCredentials,
92
- credentialsPath: auth.credentialsPath
106
+ storedOrgs,
107
+ storedUser,
108
+ storedActiveOrgId,
109
+ storedServerUrls,
110
+ credentialStorageInfo,
111
+ credentialReadError: auth.readErrorMessage,
112
+ metadataFilePath: auth.metadataFilePath
93
113
  };
94
114
  }
115
+ async function resolveCredentialStorageInfo() {
116
+ try {
117
+ return await credentials.getStorageInfo();
118
+ } catch {
119
+ return {
120
+ metadataFilePath: credentials.metadataFilePath,
121
+ legacySecretsFilePath: credentials.secretsFilePath,
122
+ secretStorageKind: "file",
123
+ insecureFileStorage: true
124
+ };
125
+ }
126
+ }
95
127
  /**
96
128
  * Requires that the CLI context has a valid authenticated client.
97
129
  * Exits the process with a helpful message if credentials are missing.
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, n as ui, 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, 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
  //#region src/commands/api-keys/create.handler.ts
7
7
  async function handleApiKeysCreate(options, ctx) {
8
8
  const client = requireClient(ctx);
@@ -1,21 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ import { r as getKeystrokeProjectPath } from "./paths-JzzFkXQA-CEipIeVl.mjs";
4
+ import "./dist-CIInPRGh.mjs";
3
5
  import * as fs from "node:fs/promises";
4
- import * as path$1 from "node:path";
5
6
  import { z } from "zod";
6
7
  //#region src/lib/credential-env-map.ts
7
8
  /**
8
- * Read optional .keystroke/credential-env-map.json from project root.
9
+ * Read optional credential env var overrides from project-local memory.
9
10
  * Maps credentialSetId → { credentialKey: envVarName } to override KEYSTROKE_<KEY> convention.
10
11
  */
11
12
  const CredentialEnvMapSchema = z.record(z.string(), z.record(z.string(), z.string()));
12
- const CREDENTIAL_ENV_MAP_FILE = ".keystroke/credential-env-map.json";
13
+ const CREDENTIAL_ENV_MAP_FILE = "credential-env-map.json";
13
14
  /**
14
- * Reads .keystroke/credential-env-map.json from project root (workflowsDir).
15
+ * Reads credential-env-map.json from the project-local memory directory.
15
16
  * Returns null if file does not exist or is invalid.
16
17
  */
17
18
  async function readCredentialEnvMap(projectRoot) {
18
- const filePath = path$1.join(projectRoot, CREDENTIAL_ENV_MAP_FILE);
19
+ const filePath = getKeystrokeProjectPath(projectRoot, CREDENTIAL_ENV_MAP_FILE);
19
20
  try {
20
21
  const raw = await fs.readFile(filePath, "utf-8");
21
22
  const parsed = CredentialEnvMapSchema.safeParse(JSON.parse(raw));
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as JsonSchemaSchema } from "./common-BaGFkj3n.mjs";
4
- import { n as credentialSetProxyConfigSchema } from "./schemas-DodkHgnS.mjs";
5
- import { a as SourceLocationSchema, i as ImportSourceSchema, t as CallKindSchema } from "./source-analysis-CJPymdaA.mjs";
3
+ import { t as JsonSchemaSchema } from "./common-AK0q0Oz0.mjs";
4
+ import { n as credentialSetProxyConfigSchema } from "./schemas-B8c7Z5Iy.mjs";
5
+ import { a as SourceLocationSchema, i as ImportSourceSchema, t as CallKindSchema } from "./source-analysis-Cs0CTBQk.mjs";
6
6
  import { z } from "zod";
7
7
  const IntegrationScopeSchema = z.enum([
8
8
  "organization",
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
3
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
4
4
  //#region src/lib/credential-schema-mismatch.ts
5
5
  /**
6
6
  * Structured detection and rendering for `CredentialSchemaMismatchError`
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { d as collectCredentialRequirementEntries } from "./credential-requirements-FtBk5JVB.mjs";
3
+ import { d as collectCredentialRequirementEntries } from "./credential-requirements-DrrQ9x9P.mjs";
4
4
  //#region ../../packages/workflow-deploy/dist/credentials/index.mjs
5
5
  /**
6
6
  * Resolves credential values from environment using KEYSTROKE_<KEY> convention.
@@ -1,8 +1,8 @@
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";
5
- import { i as CredentialScopeValues, r as CredentialScopeSchema } from "./schema-O9xTWad_.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
+ import { i as CredentialScopeValues, r as CredentialScopeSchema } from "./schema-BjH_e4Fo.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/commands/credentials/list/list.command.ts
8
8
  const ListOptionsSchema = JsonOptionSchema.extend({
@@ -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-D-YFoKLU.mjs")).handleCredentialsList
49
+ loadHandler: async () => (await import("./list.handler-pHnPFep8.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-D5dFi7XZ.mjs")).handleCredentialsRequirements
68
+ loadHandler: async () => (await import("./requirements.handler-B51sxQSy.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-CpKuAaQ_.mjs")).handleCredentialsUpload
129
+ loadHandler: async () => (await import("./upload.handler-D3-W_1kq.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-D-YFoKLU.mjs");
160
+ const { handleCredentialsList } = await import("./list.handler-pHnPFep8.mjs");
161
161
  await handleCredentialsList({
162
162
  ...opts,
163
163
  scope: void 0,
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { M as WorkflowResolutionError, _ as getApiErrorCode, n as ui, v as getHttpStatus } from "./keystroke.mjs";
4
- import { t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
5
- import { a as readManifestsFromOutDir } from "./dist-FQYQ2FLm.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 WorkflowResolutionError, a as ui, g as getHttpStatus, h as getApiErrorCode } from "./keystroke.mjs";
4
+ import { t as assertWorkflowProjectRoot } from "./project-config-DudGRFPO.mjs";
5
+ import { a as readManifestsFromOutDir } from "./dist-WFPTDQB3.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/_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
- 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/current.handler.ts
6
6
  async function handleOrgCurrent(_options, ctx) {
7
7
  if (!ctx.organizationId) {
@@ -14,7 +14,7 @@ async function handleOrgCurrent(_options, ctx) {
14
14
  ui.text(`Current organization: ${currentOrg.name}`);
15
15
  if (ctx.orgSource) ui.hint(`Source: ${ctx.orgSource}`);
16
16
  } else ui.text(`Current organization ID: ${ctx.organizationId}`);
17
- const storedOrgCount = ctx.storedCredentials?.orgs.length ?? 0;
17
+ const storedOrgCount = ctx.storedOrgs.length;
18
18
  if (storedOrgCount > 1) ui.hint(`${storedOrgCount} organizations with stored credentials. Use \`keystroke org switch\` to change.`);
19
19
  }
20
20
  //#endregion
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, n as ui, x as toErrorMessage } from "./keystroke.mjs";
4
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
3
+ import { a as ui, j as throwReportedCliExit, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { i as requireClient } from "./context-Bid-Rqj7.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-D15UZVjp.mjs";
3
+ import { t as createTypedCommand } from "./commander-BE37hxR3.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-BxxWI7nV.mjs")).handleDeploy
67
+ loadHandler: async () => (await import("./deploy.handler-DVnH-Niv.mjs")).handleDeploy
68
68
  });
69
69
  cmd.enablePositionalOptions();
70
70
  cmd.passThroughOptions();
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { a as createKyInstance, n as auth, r as bundles, s as getClientEnv, t as projects } from "./projects-DfaG_3WP.mjs";
3
+ import { a as createKyInstance, n as auth, r as bundles, s as getClientEnv, t as projects } from "./projects-fWvIJQ80.mjs";
4
4
  //#region ../../packages/workflow-sdk/src/deploy.ts
5
5
  function createDeployClient(config = {}) {
6
6
  const env = getClientEnv();
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { t as createSpinnerProgress } from "./spinner-progress-DfkMzwGx.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { t as createSpinnerProgress } from "./spinner-progress-Bx-fYItP.mjs";
5
5
  //#region src/lib/deploy-progress.ts
6
6
  function renderItemFailure(event, kind, spinner) {
7
7
  if (event.result === "failure") spinner.fail(`${kind} failed (${event.name})`, void 0, event.error);
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { f as ANSI, k as CliExitError, n as ui, o as isLocalMode, p as style, u as logger } from "./keystroke.mjs";
4
- import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
6
- import { r as requireAuthOptions, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B1L8pZsH.mjs";
7
- import { i as readAgentManifestsFromOutDir, o as readWorkflowsFromDisk } from "./dist-FQYQ2FLm.mjs";
8
- import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
9
- import { n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-C9rQQ4qU.mjs";
10
- import { t as createBuildProgress } from "./build-progress-BZivcVz4.mjs";
11
- import { t as createDeployProgress } from "./deploy-progress-DJHph1Fz.mjs";
12
- import { t as withErrorBoundary } from "./error-boundary-CyLcinp1.mjs";
13
- import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-BRUEdPrN.mjs";
14
- import { t as computeWorkflowDiff } from "./diff-utils-4OQTpP5s.mjs";
15
- import { access } from "node:fs/promises";
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-CIInPRGh.mjs";
5
+ import { t as assertWorkflowProjectRoot } from "./project-config-DudGRFPO.mjs";
6
+ import { r as requireAuthOptions, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-Bid-Rqj7.mjs";
7
+ import { i as readAgentManifestsFromOutDir, o as readWorkflowsFromDisk } from "./dist-WFPTDQB3.mjs";
8
+ import { t as requireWorkflowsDir } from "./resolve-project-CNQtOWE4.mjs";
9
+ import { n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-_WNsLKwW.mjs";
10
+ import { t as createBuildProgress } from "./build-progress-AR8xow4_.mjs";
11
+ import { t as createDeployProgress } from "./deploy-progress-DK87VKJ-.mjs";
12
+ import { t as withErrorBoundary } from "./error-boundary-B8cmSwJH.mjs";
13
+ import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-DiwUcKoB.mjs";
14
+ import { t as computeWorkflowDiff } from "./diff-utils-B0ED-Igv.mjs";
16
15
  import path from "node:path";
16
+ import { access } from "node:fs/promises";
17
17
  //#region src/commands/deploy/deploy-diff.ts
18
18
  const deployDiffDependencies = {
19
19
  readWorkflowsFromDisk,
@@ -170,7 +170,7 @@ async function handleDeploy(options, ctx) {
170
170
  "agent",
171
171
  "task"
172
172
  ];
173
- trackProject(workflowsDir);
173
+ projects.track(workflowsDir);
174
174
  const forceBuild = options.force && !options.incrementalBuild;
175
175
  logger.info("Starting deployment", {
176
176
  workflowsDir,
@@ -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-C9rQQ4qU.mjs").then((n) => n.o);
201
+ const { runWorkflowBuild } = await import("./workflow-build-_WNsLKwW.mjs").then((n) => n.o);
202
202
  const buildOutcome = await runWorkflowBuild({
203
203
  workflowsDir,
204
204
  verbose: options.verbose,
@@ -233,7 +233,7 @@ async function handleDeploy(options, ctx) {
233
233
  const progress = createDeployProgress();
234
234
  let result;
235
235
  try {
236
- result = await (deployHandlerDependencies.deployFromDir ?? (await import("./dist-FQYQ2FLm.mjs").then((n) => n.r)).deployFromDir)({
236
+ result = await (deployHandlerDependencies.deployFromDir ?? (await import("./dist-WFPTDQB3.mjs").then((n) => n.r)).deployFromDir)({
237
237
  outDir,
238
238
  workflowsDir,
239
239
  client,
@@ -260,7 +260,7 @@ async function handleDeploy(options, ctx) {
260
260
  }
261
261
  async function handleTaskTargetDeploy(options) {
262
262
  renderBuildHeader(void 0);
263
- const buildResult = await (deployHandlerDependencies.buildTaskTargets ?? (await import("./task-target-build-BG6cC3bz.mjs")).buildTaskTargets)({
263
+ const buildResult = await (deployHandlerDependencies.buildTaskTargets ?? (await import("./task-target-build-BaMtXnN7.mjs")).buildTaskTargets)({
264
264
  projectRoot: options.workflowsDir,
265
265
  targetFiles: options.targetFiles,
266
266
  disableSourcemaps: options.options.disableSourcemaps
@@ -278,7 +278,7 @@ async function handleTaskTargetDeploy(options) {
278
278
  const progress = createDeployProgress();
279
279
  let result;
280
280
  try {
281
- result = await (deployHandlerDependencies.deployTaskTargets ?? (await import("./task-target-deploy-gMQC8kXU.mjs")).deployTaskTargets)({
281
+ result = await (deployHandlerDependencies.deployTaskTargets ?? (await import("./task-target-deploy-DmpCWE3u.mjs")).deployTaskTargets)({
282
282
  preparedTasks: buildResult.preparedTasks,
283
283
  client,
284
284
  organizationId: options.projectConfig.organizationId,
@@ -300,7 +300,7 @@ async function handleTaskTargetDeploy(options) {
300
300
  }
301
301
  async function createFullDeployClient(ctx) {
302
302
  const authOptions = requireAuthOptions(ctx);
303
- const { createClient } = await import("./src-BQdOWkyv.mjs");
303
+ const { createClient } = await import("./src-B0tNjKMg.mjs");
304
304
  return createClient({
305
305
  ...authOptions,
306
306
  onRequest: (info) => logger.debug(`-> ${info.method} ${info.url}`, {
@@ -315,7 +315,7 @@ async function createFullDeployClient(ctx) {
315
315
  }
316
316
  async function createTaskDeployClient(ctx) {
317
317
  const authOptions = requireAuthOptions(ctx);
318
- return (deployHandlerDependencies.createDeployClient ?? (await import("./deploy-CJbVB7e2.mjs")).createDeployClient)(authOptions);
318
+ return (deployHandlerDependencies.createDeployClient ?? (await import("./deploy-DyZh--f7.mjs")).createDeployClient)(authOptions);
319
319
  }
320
320
  function renderSuccessSummary(result) {
321
321
  const tasks = result.tasks || [];
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as __exportAll } from "./chunk-CH6r78ws.mjs";
4
- import { t as __exportAll$1 } from "./rolldown-runtime-twds-ZHy-CO5ir_za.mjs";
4
+ import { t as __exportAll$1 } from "./rolldown-runtime-twds-ZHy-8uqgIurC.mjs";
5
5
  import path from "node:path";
6
6
  //#region ../../packages/workflow-builder/dist/detect-env-access-CwkOYeYM.mjs
7
7
  var detect_env_access_CwkOYeYM_exports = /* @__PURE__ */ __exportAll({
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { f as ANSI, n as ui, p as style } from "./keystroke.mjs";
3
+ import { a as ui, n as style, t as ANSI } from "./keystroke.mjs";
4
4
  //#region src/commands/workflows/diff/diff-utils.ts
5
5
  function computeWorkflowDiff(local, deployed, meta) {
6
6
  if (!deployed) return {
@@ -1,15 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, k as CliExitError, n as ui, x as toErrorMessage } from "./keystroke.mjs";
4
- import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
6
- import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B1L8pZsH.mjs";
7
- import { n as resolveLocalWorkflowManifest, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-BRUEdPrN.mjs";
8
- import { n as renderDiff, t as computeWorkflowDiff } from "./diff-utils-4OQTpP5s.mjs";
3
+ import { D as CliExitError, a as ui, j as throwReportedCliExit, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { i as projects } from "./dist-CIInPRGh.mjs";
5
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
6
+ import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-Bid-Rqj7.mjs";
7
+ import { n as resolveLocalWorkflowManifest, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-DiwUcKoB.mjs";
8
+ import { n as renderDiff, t as computeWorkflowDiff } from "./diff-utils-B0ED-Igv.mjs";
9
9
  //#region src/commands/workflows/diff/diff.handler.ts
10
10
  async function handleWorkflowsDiff(options, ctx) {
11
11
  const resolved = await resolveLocalWorkflowManifest(options.workflow, options.path, { jsonMode: ctx.jsonMode });
12
- trackProject(resolved.workflowsDir);
12
+ projects.track(resolved.workflowsDir);
13
13
  const client = requireClient(ctx);
14
14
  await assertProjectConfigMatchesAuthenticatedOrg(client, { organizationId: resolved.organizationId });
15
15
  let deploymentLookup;