@keystrokehq/cli 0.0.11 → 0.0.12

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 (146) hide show
  1. package/dist/{accept.handler-DWuxmMuY.mjs → accept.handler-BU6kg8ET.mjs} +1 -1
  2. package/dist/{admin-BK4bFTTd.mjs → admin-B4GNbCl5.mjs} +9 -9
  3. package/dist/{agent-manifest-sJFbH5H8.mjs → agent-manifest-CZdlCTFs.mjs} +5 -5
  4. package/dist/{agents-DYnw2VPX.mjs → agents-DDqXmmFV.mjs} +6 -6
  5. package/dist/api-DuKKdCpF.mjs +246 -0
  6. package/dist/{api-keys-Dizx3YqE.mjs → api-keys-BE_hLonn.mjs} +5 -5
  7. package/dist/{auth-BqsKd4IA.mjs → auth-DNK5MYm4.mjs} +5 -5
  8. package/dist/{auth.handler-BsoWeCFD.mjs → auth.handler-DrjDODhZ.mjs} +1 -1
  9. package/dist/{build-agents-DfbiMZ_e-CgnKa9A6.mjs → build-agents-DseUtzd4-DIDGsZWL.mjs} +12 -13
  10. package/dist/{build-metadata-zidV9Cai-Bq37kBOM.mjs → build-metadata-xqeWhaTS-WR8IooGe.mjs} +19 -35
  11. package/dist/{build-progress-DigAP-BN.mjs → build-progress-CITED2tv.mjs} +1 -1
  12. package/dist/{build-tasks-O1jYtlv1-Bkw0w1r3.mjs → build-tasks-GVuMLS0h-DnS9QWzf.mjs} +4 -4
  13. package/dist/{build-workflows-3fdvdHHf-BDTy9QgT.mjs → build-workflows-Dmzay1vP-DKVuBAjD.mjs} +17 -18
  14. package/dist/{build.handler-B2UDhh72.mjs → build.handler-DI146Cd3.mjs} +4 -4
  15. package/dist/{clear.handler-BR97yudD.mjs → clear.handler-B1c17nAi.mjs} +1 -1
  16. package/dist/{commander-DcftG6dX.mjs → commander-BwtBoukr.mjs} +2 -2
  17. package/dist/{common-B3bLe3Mk.mjs → common-BaGFkj3n.mjs} +2 -2
  18. package/dist/{connect-DQ4xIcyE.mjs → connect-IPcL37np.mjs} +12 -6
  19. package/dist/{connect.handler-CWSLgf87.mjs → connect.handler-ToY6qmMz.mjs} +74 -224
  20. package/dist/{context-1VgRbzr-.mjs → context-DQ4IA0yO.mjs} +1 -1
  21. package/dist/{create.handler-C2CkPWsy.mjs → create.handler-BAyG0PmG.mjs} +1 -1
  22. package/dist/credential-requirements-FtBk5JVB.mjs +250 -0
  23. package/dist/credentials-Bu1MBiCL.mjs +182 -0
  24. package/dist/{credentials-D8_AwH9o.mjs → credentials-CZiu-534.mjs} +12 -7
  25. package/dist/{current-deployment-workflow-B05z0EQa.mjs → current-deployment-workflow-B4IufKqe.mjs} +5 -5
  26. package/dist/{current.handler-CuAtMZmm.mjs → current.handler-DA4FGfUP.mjs} +1 -1
  27. package/dist/{declared-credential-requirements-BtlcsEVn.mjs → declared-credential-requirements-B6h4WRv4.mjs} +5 -34
  28. package/dist/{delete.handler-DDY3X1Zm.mjs → delete.handler-CJcyvnUF.mjs} +1 -1
  29. package/dist/{deploy-B8TYutOi.mjs → deploy-BvaFgVvf.mjs} +1 -1
  30. package/dist/{deploy-Cn6FFnOM.mjs → deploy-CqXOhecY.mjs} +2 -2
  31. package/dist/{deploy-progress-XAfautnA.mjs → deploy-progress-CLO-yidq.mjs} +1 -1
  32. package/dist/{deploy.handler-D1DcAe-h.mjs → deploy.handler-DQg_rXgs.mjs} +16 -16
  33. package/dist/{detect-env-access-CwkOYeYM-D4o8gRZs.mjs → detect-env-access-CwkOYeYM-EmkYvbfJ.mjs} +1 -1
  34. package/dist/{diff.handler-BU6IewNG.mjs → diff.handler-BXg47NIZ.mjs} +3 -3
  35. package/dist/{dist-DvO0q6Fo.mjs → dist-BMkNN03r.mjs} +16 -16
  36. package/dist/{env.handler-C6YAmHLi.mjs → env.handler-DFKzjIQT.mjs} +10 -7
  37. package/dist/{error-boundary-CpaVvFXk.mjs → error-boundary-B2ZKRkZI.mjs} +1 -1
  38. package/dist/{file-metadata-BvGM-B2v.mjs → file-metadata-Dwy9KKq_.mjs} +2 -2
  39. package/dist/{import-module-DDPnzlJ1-BIBSgOhK.mjs → import-module-DEI7R8Yh-Xz-KAPvB.mjs} +248 -246
  40. package/dist/{init-Da6_obl0.mjs → init-DhnABm3J.mjs} +2 -2
  41. package/dist/{init.handler-Cq2nk8DO.mjs → init.handler-QgehN8B4.mjs} +4 -4
  42. package/dist/{inspect.handler-D4YGryQB.mjs → inspect.handler-CerVdo23.mjs} +3 -3
  43. package/dist/{integration-catalog-DtNWaMvh.mjs → integration-catalog-BRrJIAVz.mjs} +5 -5
  44. package/dist/{integrations-CB_Ukq2g.mjs → integrations-7-U7nmkh.mjs} +7 -6
  45. package/dist/{invites-BOhuBtoq.mjs → invites-CmGmnUla.mjs} +4 -4
  46. package/dist/{invites.list.handler-C-Wv6E1g.mjs → invites.list.handler-CmkIf-uW.mjs} +1 -1
  47. package/dist/{invites.resend.handler-CI78XlQS.mjs → invites.resend.handler-FZl20yat.mjs} +1 -1
  48. package/dist/{invites.revoke.handler-DigAgNwB.mjs → invites.revoke.handler-D95mrfmB.mjs} +1 -1
  49. package/dist/keystroke.mjs +21 -21
  50. package/dist/{list-enrichment-Cxlq6BB9.mjs → list-enrichment-I4XQaMg0.mjs} +5 -1
  51. package/dist/{list.handler-OiLEylzS.mjs → list.handler-BrTW2viq.mjs} +1 -1
  52. package/dist/{list.handler-CsODcH6e.mjs → list.handler-Cp767f5l.mjs} +1 -1
  53. package/dist/{list.handler-BsyGhXns.mjs → list.handler-DRnHsEa0.mjs} +1 -1
  54. package/dist/{list.handler-B6IByHHB.mjs → list.handler-DXl8igi2.mjs} +13 -5
  55. package/dist/{list.handler-BpVNYShU.mjs → list.handler-DsYyTUhA.mjs} +1 -1
  56. package/dist/{list.handler--a1JEGSD.mjs → list.handler-H8aQSsFM.mjs} +3 -3
  57. package/dist/{list.handler-Dr9Ti-dt.mjs → list.handler-k8k7wVIV.mjs} +3 -3
  58. package/dist/{listen-DUPk6cZC.mjs → listen-DckJq0y0.mjs} +2 -2
  59. package/dist/{listen.handler-B5WimrfF.mjs → listen.handler-Bf5MXKPO.mjs} +2 -2
  60. package/dist/{logs-C5_4lh3p.mjs → logs-D_l5BIn2.mjs} +3 -3
  61. package/dist/{logs.handler-CBHPwDuC.mjs → logs.handler-kYO3Uv9t.mjs} +2 -2
  62. package/dist/{members.add.handler-LcQJYBsu.mjs → members.add.handler-C2cppd-9.mjs} +1 -1
  63. package/dist/{members.invite.handler-p279O2aC.mjs → members.invite.handler-DY6kS4LN.mjs} +1 -1
  64. package/dist/{members.list.handler-Cjukjuot.mjs → members.list.handler-CFBG3SBw.mjs} +1 -1
  65. package/dist/{members.remove.handler-CzxPiQFv.mjs → members.remove.handler-LQ61_qip.mjs} +1 -1
  66. package/dist/{members.update.handler-CX5q86e3.mjs → members.update.handler-CqISA1mf.mjs} +1 -1
  67. package/dist/{normalize-path-CojS-CgQ-D_WTiHKw.mjs → normalize-path-CojS-CgQ-D5D0AIHR.mjs} +1 -1
  68. package/dist/{org-CnlKW-Hl.mjs → org-KQ2nD0yN.mjs} +15 -15
  69. package/dist/{orgs.create.handler-DRILhxdn.mjs → orgs.create.handler-Mv5CTGcG.mjs} +1 -1
  70. package/dist/{orgs.get.handler-Cue6stoX.mjs → orgs.get.handler-DvvOhshX.mjs} +1 -1
  71. package/dist/{orgs.list.handler-fuDLNI5X.mjs → orgs.list.handler-wWAg6cKg.mjs} +1 -1
  72. package/dist/{paused.handler-CuOVH4DZ.mjs → paused.handler-CbMkPD9e.mjs} +1 -1
  73. package/dist/{project-config-D9eFU8Jk.mjs → project-config-CJGSh2RQ.mjs} +4 -7
  74. package/dist/{projects-DN7dX6nN.mjs → projects-CWLOF5x4.mjs} +656 -3
  75. package/dist/{projects-DdgHbUpR.mjs → projects-CYqeKQGT.mjs} +4 -4
  76. package/dist/{requirements.handler-CX13XiXT.mjs → requirements.handler-CnDTBcH5.mjs} +5 -5
  77. package/dist/{resolve-project-C6UAOfAG.mjs → resolve-project-bVPMcs-y.mjs} +1 -1
  78. package/dist/{run-polling-1CTIeDea.mjs → run-polling-49w3PYAv.mjs} +3 -3
  79. package/dist/{run.handler-BxLH75WW.mjs → run.handler-CX3YiJmj.mjs} +5 -5
  80. package/dist/{runs-lfE7r6i2.mjs → runs-HJejvQnQ.mjs} +2 -2
  81. package/dist/{schema-BgGlAs8a.mjs → schema-DFJiNWyd.mjs} +2 -1
  82. package/dist/schemas-DodkHgnS.mjs +280 -0
  83. package/dist/{skills-sync.handler-CntKndFm.mjs → skills-sync.handler-Cf74vKJA.mjs} +1 -1
  84. package/dist/{skills.command-X5zZwz2d.mjs → skills.command-KyAwBeST.mjs} +3 -3
  85. package/dist/{source-analysis-CHkWMC40.mjs → source-analysis-CJPymdaA.mjs} +1 -1
  86. package/dist/{source-analysis-DEEChuND-Csu0oOlw.mjs → source-analysis-DEEChuND-zifGW9QF.mjs} +3 -3
  87. package/dist/{src--fCtOxNX.mjs → src-D-dFmoAF.mjs} +1 -1
  88. package/dist/{switch.handler-RaeKZ3ZB.mjs → switch.handler-DfsKVtR6.mjs} +1 -1
  89. package/dist/{sync-C89mJp7Y.mjs → sync-Coh9YPjY.mjs} +2 -2
  90. package/dist/{sync.handler-BoAHHUQs.mjs → sync.handler-vvFIUut1.mjs} +6 -6
  91. package/dist/{schedule-BWAI6qLx.mjs → task-BBgEvdG1.mjs} +395 -25
  92. package/dist/{task-target-build-D5IrHqSl.mjs → task-target-build-atWwwnSF.mjs} +8 -8
  93. package/dist/task-target-deploy-CRsrQTOy.mjs +4 -0
  94. package/dist/{task-target-deploy-Bf5i3ox1-2K0hAwzk.mjs → task-target-deploy-CZBGNC0H-BwPSfaJQ.mjs} +2 -2
  95. package/dist/task-target-deploy-runner.mjs +5 -5
  96. package/dist/{test-gPQJRkqa.mjs → test-BzpSLhV8.mjs} +32 -144
  97. package/dist/{test.handler-B5GF5txS.mjs → test.handler-St9sBXyH.mjs} +1 -1
  98. package/dist/{trigger-artifacts-B3OCTX9K-ME6IVdUB.mjs → trigger-artifacts-RizI57RC-C-yCtEi-.mjs} +9 -9
  99. package/dist/{trigger-manifest-B3Gq1739.mjs → trigger-manifest-D5rnpPkA.mjs} +1 -1
  100. package/dist/{try-deploy.handler-dA_YGWRq.mjs → try-deploy.handler-32lU1tg4.mjs} +9 -9
  101. package/dist/{upgrade-xByIxaYu.mjs → upgrade-YavAf8AC.mjs} +2 -2
  102. package/dist/{upload.handler-BFDM6n_6.mjs → upload.handler-DemogvI1.mjs} +129 -18
  103. package/dist/{users.get.handler-CzaYM2bi.mjs → users.get.handler-B20PMSbl.mjs} +1 -1
  104. package/dist/{users.list.handler-CpOWwzBb.mjs → users.list.handler-BplFTjv3.mjs} +1 -1
  105. package/dist/{users.set-role.handler-BjiSNP2d.mjs → users.set-role.handler-wdmI6o3G.mjs} +1 -1
  106. package/dist/{utils-C_qCshBA.mjs → utils-DpEtybzI.mjs} +2 -2
  107. package/dist/{validate.handler-BtDSKAFY.mjs → validate.handler-BoRyygMl.mjs} +3 -3
  108. package/dist/{workflow-build-Z2_jkOsZ.mjs → workflow-build-CoJMwpPO.mjs} +32 -32
  109. package/dist/{workflow-manifest-BfL74mjp.mjs → workflow-build-manifest-OPFqFD6f.mjs} +26 -28
  110. package/dist/{workflow-bundler-BzHk73PM-tt09RbIA.mjs → workflow-bundler-BzHk73PM-UJQa7Ubk.mjs} +2 -2
  111. package/dist/{workflows-V09d2r2H.mjs → workflows-Cag9O9hx.mjs} +26 -27
  112. package/dist/{writer-CtvttJdP-DZJ0mZCm.mjs → writer-CtvttJdP-BfNsrheU.mjs} +5 -5
  113. package/package.json +10 -8
  114. package/dist/constants-BUgIAu2a.mjs +0 -8
  115. package/dist/credential-requirements-BCW8aQWS.mjs +0 -480
  116. package/dist/credentials-DAQfKqn0.mjs +0 -152025
  117. package/dist/get-intrinsic-BjqiGgLt.mjs +0 -658
  118. package/dist/hosted-action-dispatcher-registry-BWEtn13o.mjs +0 -126
  119. package/dist/schema-B-Wgo4rJ.mjs +0 -81
  120. package/dist/schemas-9FmGqrPT.mjs +0 -42
  121. package/dist/task-1qz1XNq7.mjs +0 -96
  122. package/dist/task-target-deploy-Bzfftyru.mjs +0 -4
  123. /package/dist/{agent-bundle-package-DWV6B_5q-B-qzc3zC.mjs → agent-bundle-package-DWV6B_5q-cB76j6UL.mjs} +0 -0
  124. /package/dist/{browser-CvuyMLhI.mjs → browser-B4K0VW8p.mjs} +0 -0
  125. /package/dist/{clear-cache.handler-D-wboLB6.mjs → clear-cache.handler-Dywqc7TG.mjs} +0 -0
  126. /package/dist/{clear.handler-BC6pz0x-.mjs → clear.handler-ui4e1CnJ.mjs} +0 -0
  127. /package/dist/{concurrency-gXn9Rw8x-CnBnF2cg.mjs → concurrency-gXn9Rw8x-CaI6Vtbu.mjs} +0 -0
  128. /package/dist/{credential-env-map-C23GV6LN.mjs → credential-env-map-D0zgoUl0.mjs} +0 -0
  129. /package/dist/{credential-schema-mismatch-DM9Y91jL.mjs → credential-schema-mismatch-8pqwvswO.mjs} +0 -0
  130. /package/dist/{diff-utils-AATn2n56.mjs → diff-utils-BoXI705D.mjs} +0 -0
  131. /package/dist/{layout-CXkZEsXI.mjs → layout-DRf9qUf8.mjs} +0 -0
  132. /package/dist/{logs.handler-ClIIOeQB.mjs → logs.handler-DxSKmDCq.mjs} +0 -0
  133. /package/dist/{metadata-layout-C6ed-9dl-C6Bylr_z.mjs → metadata-layout-C6ed-9dl-EF5pCtIH.mjs} +0 -0
  134. /package/dist/{options-CIVqkc8V.mjs → options-DFPs-tAB.mjs} +0 -0
  135. /package/dist/{oxc-B3KI3rf_-ghZc3xZ5.mjs → oxc-B3KI3rf_-CHDUXsus.mjs} +0 -0
  136. /package/dist/{read-credential-keys-77a91T8M-B0eiobOd.mjs → read-credential-keys-77a91T8M-CzXPGxdU.mjs} +0 -0
  137. /package/dist/{register.handler-CpP_KB2u.mjs → register.handler-D7ZZAnGP.mjs} +0 -0
  138. /package/dist/{rolldown-runtime-twds-ZHy-RuJszab7.mjs → rolldown-runtime-twds-ZHy-3DMm_Sby.mjs} +0 -0
  139. /package/dist/{run-polling-DDpkIvwy.mjs → run-polling-Cb4ssXIE.mjs} +0 -0
  140. /package/dist/{schema-display-DuWBmkwk.mjs → schema-display-CyCWSgfY.mjs} +0 -0
  141. /package/dist/{skills.handler-CofL4oKs.mjs → skills.handler-C_4VzVmc.mjs} +0 -0
  142. /package/dist/{spinner-progress-Bt8zXPOc.mjs → spinner-progress-CS1BEdNB.mjs} +0 -0
  143. /package/dist/{status.handler-6cuHa0R0.mjs → status.handler-Cm9aNUBn.mjs} +0 -0
  144. /package/dist/{sync-keystroke-agent-skills-D746f2W_.mjs → sync-keystroke-agent-skills-CX9fS5nQ.mjs} +0 -0
  145. /package/dist/{upgrade.handler-DhKeyCy5.mjs → upgrade.handler-C2eZ_tg3.mjs} +0 -0
  146. /package/dist/{upload-C1qFWMm0.mjs → upload-C0kaZu08.mjs} +0 -0
@@ -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-CGdYhH0p.mjs";
4
- import { t as createTypedCommand } from "./commander-DcftG6dX.mjs";
4
+ import { t as createTypedCommand } from "./commander-BwtBoukr.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/projects/projects.command.ts
7
7
  function createProjectsCommand() {
@@ -10,19 +10,19 @@ function createProjectsCommand() {
10
10
  description: "List tracked Keystroke projects",
11
11
  schema: JsonOptionSchema,
12
12
  optionsConfig: { ...JSON_OPTION_CONFIG },
13
- loadHandler: async () => (await import("./list.handler-OiLEylzS.mjs")).handleProjectsList,
13
+ loadHandler: async () => (await import("./list.handler-BrTW2viq.mjs")).handleProjectsList,
14
14
  subcommands: [createTypedCommand({
15
15
  name: "list",
16
16
  description: "List all tracked Keystroke projects",
17
17
  schema: JsonOptionSchema,
18
18
  optionsConfig: { ...JSON_OPTION_CONFIG },
19
- loadHandler: async () => (await import("./list.handler-OiLEylzS.mjs")).handleProjectsList
19
+ loadHandler: async () => (await import("./list.handler-BrTW2viq.mjs")).handleProjectsList
20
20
  }), createTypedCommand({
21
21
  name: "clear-cache",
22
22
  description: "Clear the stored projects cache (projects.json)",
23
23
  schema: z.object({}),
24
24
  optionsConfig: {},
25
- loadHandler: async () => (await import("./clear-cache.handler-D-wboLB6.mjs")).handleProjectsClearCache
25
+ loadHandler: async () => (await import("./clear-cache.handler-Dywqc7TG.mjs")).handleProjectsClearCache
26
26
  })]
27
27
  });
28
28
  }
@@ -2,11 +2,11 @@
2
2
 
3
3
  import { a as getProcessEnv, f as ANSI, n as ui, p as style } from "./keystroke.mjs";
4
4
  import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { a as readManifestsFromOutDir } from "./dist-DvO0q6Fo.mjs";
6
- import { t as requireWorkflowsDir } from "./resolve-project-C6UAOfAG.mjs";
7
- import { t as groupCredentialRequirements } from "./credentials-DAQfKqn0.mjs";
8
- import { t as readCredentialEnvMap } from "./credential-env-map-C23GV6LN.mjs";
9
- import { a as loadProjectDotenvFile, c as getTerminalContentWidth, o as manifestGroupKey, s as normalizeManifestScopeToServer, t as buildCredentialWorkflowConsumersByGroup, u as truncateWithEllipsis } from "./list-enrichment-Cxlq6BB9.mjs";
5
+ import { a as readManifestsFromOutDir } from "./dist-BMkNN03r.mjs";
6
+ import { t as requireWorkflowsDir } from "./resolve-project-bVPMcs-y.mjs";
7
+ import { t as readCredentialEnvMap } from "./credential-env-map-D0zgoUl0.mjs";
8
+ import { a as loadProjectDotenvFile, c as getTerminalContentWidth, o as manifestGroupKey, s as normalizeManifestScopeToServer, t as buildCredentialWorkflowConsumersByGroup, u as truncateWithEllipsis } from "./list-enrichment-I4XQaMg0.mjs";
9
+ import { t as groupCredentialRequirements } from "./credentials-Bu1MBiCL.mjs";
10
10
  //#region src/commands/credentials/requirements/requirements-display.ts
11
11
  function dimLabel(label, width = 10) {
12
12
  return style(label.padEnd(width), ANSI.dim);
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { j as ProjectNotFoundError, n as ui } from "./keystroke.mjs";
4
4
  import { s as readStoredProjects } from "./dist-BF6r1hfv.mjs";
5
- import { n as findProjectRoot } from "./project-config-D9eFU8Jk.mjs";
5
+ import { n as findProjectRoot } from "./project-config-CJGSh2RQ.mjs";
6
6
  import path from "node:path";
7
7
  //#region src/lib/resolve-project.ts
8
8
  /**
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { A as InputValidationError, n as ui, x as toErrorMessage } from "./keystroke.mjs";
4
- import { a as readManifestsFromOutDir } from "./dist-DvO0q6Fo.mjs";
5
- import { a as validateRequiredFields, n as formatValidationError, t as formatMissingInputError } from "./schema-display-DuWBmkwk.mjs";
6
- import { n as sleep, t as TERMINAL_STATUSES } from "./run-polling-DDpkIvwy.mjs";
4
+ import { a as readManifestsFromOutDir } from "./dist-BMkNN03r.mjs";
5
+ import { a as validateRequiredFields, n as formatValidationError, t as formatMissingInputError } from "./schema-display-CyCWSgfY.mjs";
6
+ import { n as sleep, t as TERMINAL_STATUSES } from "./run-polling-Cb4ssXIE.mjs";
7
7
  import * as fs from "node:fs/promises";
8
8
  import * as path$1 from "node:path";
9
9
  import { z } from "zod";
@@ -2,12 +2,12 @@
2
2
 
3
3
  import { N as throwReportedCliExit, k as CliExitError, n as ui, x as toErrorMessage } from "./keystroke.mjs";
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { t as assertWorkflowProjectRoot } from "./project-config-D9eFU8Jk.mjs";
5
+ import { t as assertWorkflowProjectRoot } from "./project-config-CJGSh2RQ.mjs";
6
6
  import { i as writeJson } from "./output-CGdYhH0p.mjs";
7
- import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-1VgRbzr-.mjs";
8
- import { n as resolveWorkflowsDir } from "./resolve-project-C6UAOfAG.mjs";
9
- import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-B05z0EQa.mjs";
10
- import { i as resolveWorkflowGlobals, o as validateInputOrExit, r as resolveRunInput, s as validateWorkflowGlobalsOrExit, t as pollForCompletion } from "./run-polling-1CTIeDea.mjs";
7
+ import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-DQ4IA0yO.mjs";
8
+ import { n as resolveWorkflowsDir } from "./resolve-project-bVPMcs-y.mjs";
9
+ import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-B4IufKqe.mjs";
10
+ import { i as resolveWorkflowGlobals, o as validateInputOrExit, r as resolveRunInput, s as validateWorkflowGlobalsOrExit, t as pollForCompletion } from "./run-polling-49w3PYAv.mjs";
11
11
  //#region src/commands/workflows/run.handler.ts
12
12
  async function handleWorkflowsRun(options, ctx) {
13
13
  const client = requireClient(ctx);
@@ -2,8 +2,8 @@
2
2
 
3
3
  import { N as throwReportedCliExit, f as ANSI, n as ui, p as style, x as toErrorMessage } from "./keystroke.mjs";
4
4
  import { i as writeJson, n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
5
- import { t as createTypedCommand } from "./commander-DcftG6dX.mjs";
6
- import { i as requireClient } from "./context-1VgRbzr-.mjs";
5
+ import { t as createTypedCommand } from "./commander-BwtBoukr.mjs";
6
+ import { i as requireClient } from "./context-DQ4IA0yO.mjs";
7
7
  import { z } from "zod";
8
8
  //#region src/commands/runs/inspect-display.ts
9
9
  function renderRunInspect(input) {
@@ -8,6 +8,7 @@ const CredentialScopeValues = [
8
8
  "project"
9
9
  ];
10
10
  const CredentialScopeSchema = z.enum(CredentialScopeValues);
11
+ const CredentialConnectionIdSchema = z.string().min(1);
11
12
  const ConnectionStatusSchema = z.enum([
12
13
  "connected",
13
14
  "broken",
@@ -15,4 +16,4 @@ const ConnectionStatusSchema = z.enum([
15
16
  "disconnected"
16
17
  ]);
17
18
  //#endregion
18
- export { CredentialScopeSchema as n, CredentialScopeValues as r, ConnectionStatusSchema as t };
19
+ export { CredentialScopeValues as i, CredentialConnectionIdSchema as n, CredentialScopeSchema as r, ConnectionStatusSchema as t };
@@ -0,0 +1,280 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { z } from "zod";
4
+ //#region ../../packages/core/src/shared/schema.ts
5
+ const MAX_JSON_DEPTH = 20;
6
+ function buildJsonValueSchema(depth) {
7
+ const primitives = z.union([
8
+ z.string(),
9
+ z.number(),
10
+ z.boolean(),
11
+ z.null()
12
+ ]);
13
+ if (depth <= 0) return primitives;
14
+ const nested = buildJsonValueSchema(depth - 1);
15
+ return z.union([
16
+ primitives,
17
+ z.array(nested),
18
+ z.record(z.string(), nested)
19
+ ]);
20
+ }
21
+ const jsonValueSchema = buildJsonValueSchema(MAX_JSON_DEPTH);
22
+ const jsonSchemaObject = z.record(z.string(), jsonValueSchema);
23
+ const anyZodSchemaSchema = z.custom((value) => value instanceof z.ZodType, "Expected a Zod schema");
24
+ const zodObjectSchema = z.custom((value) => value instanceof z.ZodObject, "Expected a Zod object schema");
25
+ /**
26
+ * Creates a Zod schema that validates an object structurally by checking
27
+ * for required properties. This avoids `instanceof` checks which fail
28
+ * when class definitions are duplicated across bundle boundaries.
29
+ */
30
+ function createStructuralSchema(requiredKeys, label) {
31
+ return z.custom((value) => value != null && (typeof value === "object" || typeof value === "function") && requiredKeys.every((key) => key in value), `Expected ${label}`);
32
+ }
33
+ function trimmedNonEmptyString(fieldName) {
34
+ return z.string().trim().min(1, { error: `${fieldName} cannot be empty` }).max(255, { error: `${fieldName} cannot exceed 255 characters` });
35
+ }
36
+ /** Trimmed string with at least one character; no upper length limit. */
37
+ function trimmedNonEmptyStringUnbounded(fieldName) {
38
+ return z.string().trim().min(1, { error: `${fieldName} cannot be empty` });
39
+ }
40
+ /**
41
+ * Non-empty trimmed string restricted to URL-safe characters.
42
+ * Use for IDs (workflow, step, etc.) that must be safe in URLs, env vars, and as object keys.
43
+ */
44
+ function idNoSpacesString(fieldName) {
45
+ return z.string().trim().min(1, { error: `${fieldName} cannot be empty` }).max(255, { error: `${fieldName} cannot exceed 255 characters` }).refine((s) => /^[a-zA-Z0-9_-]+$/.test(s), { error: `${fieldName} must only contain letters, numbers, hyphens, and underscores` });
46
+ }
47
+ /**
48
+ * Non-empty trimmed string for credential definition ids.
49
+ * Only allows letters, numbers, hyphens, and underscores.
50
+ */
51
+ function credentialSetIdString(fieldName) {
52
+ return z.string().trim().min(1, { error: `${fieldName} cannot be empty` }).max(255, { error: `${fieldName} cannot exceed 255 characters` }).refine((s) => /^[a-zA-Z0-9_-]+$/.test(s), { error: `${fieldName} must only contain letters, numbers, hyphens, and underscores` });
53
+ }
54
+ function optionalTrimmedNonEmptyString(fieldName) {
55
+ return trimmedNonEmptyString(fieldName).optional();
56
+ }
57
+ function descriptionString(fieldName) {
58
+ return z.string().trim().min(1, { error: `${fieldName} cannot be empty` }).max(1024, { error: `${fieldName} cannot exceed 1024 characters` });
59
+ }
60
+ function optionalDescriptionString(fieldName) {
61
+ return descriptionString(fieldName).optional();
62
+ }
63
+ //#endregion
64
+ //#region ../../packages/core/src/credential-set/constants.ts
65
+ /**
66
+ * Shared constants for the credential/connection system.
67
+ * Defined in core (bottom of dependency chain) so all packages can import them.
68
+ */
69
+ const CREDENTIAL_EXPOSURES = {
70
+ "user-runtime": "user-runtime",
71
+ "platform-only": "platform-only"
72
+ };
73
+ //#endregion
74
+ //#region ../../packages/core/src/credential-set/schemas.ts
75
+ const credentialSetProxyInjectionSchema = z.object({
76
+ /** Substitute placeholder in HTTP headers (default: true). */
77
+ headers: z.boolean().optional(),
78
+ /** Substitute placeholder in the HTTP Basic Auth credential (default: true). */
79
+ basicAuth: z.boolean().optional(),
80
+ /** Substitute placeholder in URL query params (default: false).
81
+ * Use for APIs that authenticate via `?api_key=...` (Google Maps, OWM, etc.). */
82
+ queryParams: z.boolean().optional(),
83
+ /** Substitute placeholder in the HTTP request body (default: false).
84
+ * Use for form-encoded auth payloads (Stripe, AWS SigV4 query, etc.). */
85
+ body: z.boolean().optional()
86
+ });
87
+ const credentialSetProxyConfigSchema = z.object({
88
+ /** Exact-match host allowlist (forwarded to SecretBuilder.allowHost). */
89
+ hosts: z.array(z.string().min(1)).optional(),
90
+ /** Wildcard host allowlist (forwarded to SecretBuilder.allowHostPattern).
91
+ * Example: `["*.browserbase.com"]` covers any subdomain. */
92
+ hostPatterns: z.array(z.string().min(1)).optional(),
93
+ /** Per-scope substitution toggles. Omit to use SDK defaults. */
94
+ injection: credentialSetProxyInjectionSchema.optional()
95
+ });
96
+ const onCredentialRevokedSchema = z.enum(["fail", "retry-once"]);
97
+ const credentialExposureSchema = z.enum([CREDENTIAL_EXPOSURES["user-runtime"], CREDENTIAL_EXPOSURES["platform-only"]]);
98
+ const connectionMetadataConfigSchema = z.object({
99
+ id: credentialSetIdString("Credential connection id").optional(),
100
+ label: optionalTrimmedNonEmptyString("Credential connection label"),
101
+ description: optionalDescriptionString("Credential connection description"),
102
+ recommended: z.boolean().optional(),
103
+ advanced: z.boolean().optional(),
104
+ needsRawSecret: z.boolean().optional()
105
+ });
106
+ const connectionMetadataManifestSchema = connectionMetadataConfigSchema;
107
+ const registeredDescriptorSchema = z.object({
108
+ id: trimmedNonEmptyString("Registered descriptor id"),
109
+ config: z.record(z.string(), z.unknown()).optional()
110
+ });
111
+ const registeredResolverDescriptorSchema = registeredDescriptorSchema.extend({ cacheMs: z.number().int().nonnegative().optional() });
112
+ const manualConnectionConfigSchema = connectionMetadataConfigSchema.extend({
113
+ kind: z.literal("manual"),
114
+ input: zodObjectSchema.optional(),
115
+ instructions: z.string().min(1).optional(),
116
+ validate: z.function().optional()
117
+ });
118
+ const manualConnectionFieldManifestSchema = z.object({
119
+ key: z.string().min(1),
120
+ label: z.string().min(1),
121
+ description: z.string().min(1).optional(),
122
+ optional: z.boolean(),
123
+ secret: z.literal(true)
124
+ });
125
+ const manualConnectionConfigManifestSchema = connectionMetadataManifestSchema.extend({
126
+ kind: z.literal("manual"),
127
+ input: jsonSchemaObject.optional(),
128
+ fields: z.array(manualConnectionFieldManifestSchema).optional(),
129
+ generated: z.boolean().optional(),
130
+ instructions: z.string().min(1).optional()
131
+ });
132
+ /** Declarative form of `Vault` — strings typed against the credential set's
133
+ * stored/auth schema keys at the {@link CredentialSetConfig} boundary; the Zod
134
+ * schema here enforces non-empty strings only. `CredentialSet` itself performs
135
+ * the schema-key membership check at construction time. */
136
+ const vaultMappingSchema = z.object({
137
+ accessToken: z.string().min(1),
138
+ refreshToken: z.string().min(1).optional(),
139
+ instanceUrl: z.string().min(1).optional(),
140
+ raw: z.record(z.string().min(1), z.string().min(1)).optional()
141
+ });
142
+ /** Function form of `Vault` — an object pairing the access-token vault key
143
+ * (`accessTokenKey`) with the `build` function that computes the full vault
144
+ * write map. The explicit key keeps the disconnect path's revocation read
145
+ * reliable even when `build` transforms the access token. */
146
+ const vaultMappingFnSchema = z.object({
147
+ accessTokenKey: z.string().min(1),
148
+ build: z.custom((val) => typeof val === "function", { message: "vault.build must be a function." })
149
+ });
150
+ /** Runtime shape of `Vault`. Accepts either the declarative mapping or the
151
+ * function-form object `{ accessTokenKey, build }`. */
152
+ const vaultConfigSchema = z.union([vaultMappingSchema, vaultMappingFnSchema], { error: "vault must be a declarative mapping object or a `{ accessTokenKey, build }` object." });
153
+ /** Manifest projection of `Vault` — declarative mappings serialize verbatim;
154
+ * function-form mappings serialize as `{ kind: 'function', accessTokenKey }`
155
+ * since closures are not manifest-safe but the access-token key is. */
156
+ const vaultManifestSchema = z.discriminatedUnion("kind", [z.object({
157
+ kind: z.literal("declarative"),
158
+ accessToken: z.string().min(1),
159
+ refreshToken: z.string().min(1).optional(),
160
+ instanceUrl: z.string().min(1).optional(),
161
+ raw: z.record(z.string().min(1), z.string().min(1)).optional()
162
+ }), z.object({
163
+ kind: z.literal("function"),
164
+ accessTokenKey: z.string().min(1)
165
+ })]);
166
+ const oauthConnectionConfigBaseSchema = z.object({
167
+ kind: z.literal("oauth"),
168
+ authUrl: z.string().url(),
169
+ tokenUrl: z.string().url(),
170
+ scopes: z.array(z.string()).readonly(),
171
+ revokeUrl: z.string().url().nullable().optional(),
172
+ tokenType: z.enum(["long-lived", "refreshable"]),
173
+ pkce: z.boolean().optional(),
174
+ /** Fallback token lifetime when the provider omits `expires_in`. Positive
175
+ * integer seconds. Shared between config + manifest schemas (both extend
176
+ * this base). */
177
+ defaultExpiresInSeconds: z.number().int().positive().optional()
178
+ });
179
+ const oauthConnectionConfigSchema = oauthConnectionConfigBaseSchema.extend({
180
+ ...connectionMetadataConfigSchema.shape,
181
+ vault: vaultConfigSchema,
182
+ oauth: registeredDescriptorSchema.optional(),
183
+ buildAuthUrl: z.function().optional(),
184
+ exchangeCode: z.function().optional(),
185
+ refreshToken: z.function().optional(),
186
+ extractInstallationInfo: z.function().optional(),
187
+ validate: z.function().optional()
188
+ });
189
+ const oauthConnectionConfigManifestSchema = oauthConnectionConfigBaseSchema.extend({
190
+ ...connectionMetadataManifestSchema.shape,
191
+ vault: vaultManifestSchema,
192
+ oauth: registeredDescriptorSchema.optional()
193
+ });
194
+ const credentialsExchangeConnectionConfigSchema = connectionMetadataConfigSchema.extend({
195
+ kind: z.literal("credentials-exchange"),
196
+ instructions: z.string().min(1).optional(),
197
+ input: zodObjectSchema
198
+ }).extend({
199
+ exchange: z.function(),
200
+ rotate: z.function().optional(),
201
+ validate: z.function().optional()
202
+ });
203
+ /** Manifest projection of `CredentialsExchangeConnectionConfig` — only the
204
+ * declarative `input` schema (rendered as JSON Schema) and `instructions`
205
+ * copy survive serialization. The three hooks (`exchange`, `rotate`,
206
+ * `validate`) are runtime closures and are stripped. */
207
+ const credentialsExchangeConnectionConfigManifestSchema = z.object({
208
+ kind: z.literal("credentials-exchange"),
209
+ ...connectionMetadataManifestSchema.shape,
210
+ instructions: z.string().min(1).optional(),
211
+ input: jsonSchemaObject
212
+ });
213
+ const exchangeCredentialConnectionConfigSchema = connectionMetadataConfigSchema.extend({
214
+ kind: z.literal("exchange"),
215
+ input: zodObjectSchema,
216
+ exchange: registeredDescriptorSchema
217
+ });
218
+ const exchangeCredentialConnectionManifestSchema = connectionMetadataManifestSchema.extend({
219
+ kind: z.literal("exchange"),
220
+ input: jsonSchemaObject,
221
+ exchange: registeredDescriptorSchema
222
+ });
223
+ const dynamicCredentialConnectionConfigSchema = connectionMetadataConfigSchema.extend({
224
+ kind: z.literal("dynamic"),
225
+ input: zodObjectSchema.optional(),
226
+ resolver: registeredResolverDescriptorSchema
227
+ });
228
+ const dynamicCredentialConnectionManifestSchema = connectionMetadataManifestSchema.extend({
229
+ kind: z.literal("dynamic"),
230
+ input: jsonSchemaObject.optional(),
231
+ resolver: registeredResolverDescriptorSchema
232
+ });
233
+ const platformCredentialConnectionConfigSchema = connectionMetadataConfigSchema.extend({ kind: z.literal("platform") });
234
+ const platformCredentialConnectionManifestSchema = connectionMetadataManifestSchema.extend({ kind: z.literal("platform") });
235
+ const connectionConfigSchema = z.discriminatedUnion("kind", [
236
+ manualConnectionConfigSchema,
237
+ oauthConnectionConfigSchema,
238
+ credentialsExchangeConnectionConfigSchema,
239
+ exchangeCredentialConnectionConfigSchema,
240
+ dynamicCredentialConnectionConfigSchema,
241
+ platformCredentialConnectionConfigSchema
242
+ ]);
243
+ /** Manifest projection of `ConnectionConfig` — declarative metadata only. */
244
+ const connectionConfigManifestSchema = z.discriminatedUnion("kind", [
245
+ manualConnectionConfigManifestSchema,
246
+ oauthConnectionConfigManifestSchema,
247
+ credentialsExchangeConnectionConfigManifestSchema,
248
+ exchangeCredentialConnectionManifestSchema,
249
+ dynamicCredentialConnectionManifestSchema,
250
+ platformCredentialConnectionManifestSchema
251
+ ]);
252
+ const CredentialSetManifestSchema = z.object({
253
+ manifestVersion: z.literal(1),
254
+ type: z.literal("credentialSet"),
255
+ id: credentialSetIdString("Credential set id"),
256
+ name: trimmedNonEmptyString("Credential set name"),
257
+ description: optionalDescriptionString("Credential set description"),
258
+ auth: jsonSchemaObject,
259
+ exposure: credentialExposureSchema.optional(),
260
+ proxy: credentialSetProxyConfigSchema.optional(),
261
+ /** When true, resolved values are passed into execution as raw secrets (no ref-token proxy). */
262
+ needsRawSecret: z.boolean().optional(),
263
+ /** Policy when a step throws `CredentialRevokedError` against this credential set. */
264
+ onCredentialRevoked: onCredentialRevokedSchema.optional(),
265
+ connections: z.array(connectionConfigManifestSchema).optional()
266
+ });
267
+ z.object({
268
+ id: credentialSetIdString("Credential set id"),
269
+ name: optionalTrimmedNonEmptyString("Credential set name"),
270
+ description: optionalDescriptionString("Credential set description"),
271
+ auth: zodObjectSchema,
272
+ exposure: credentialExposureSchema.optional(),
273
+ proxy: credentialSetProxyConfigSchema.optional(),
274
+ /** When true, resolved values are passed into execution as raw secrets (no ref-token proxy). */
275
+ needsRawSecret: z.boolean().optional(),
276
+ onCredentialRevoked: onCredentialRevokedSchema.optional(),
277
+ connections: z.array(connectionConfigSchema).readonly().optional()
278
+ });
279
+ //#endregion
280
+ export { descriptionString as a, optionalDescriptionString as c, trimmedNonEmptyStringUnbounded as d, createStructuralSchema as i, optionalTrimmedNonEmptyString as l, credentialSetProxyConfigSchema as n, idNoSpacesString as o, anyZodSchemaSchema as r, jsonSchemaObject as s, CredentialSetManifestSchema as t, trimmedNonEmptyString as u };
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { k as CliExitError, n as ui } from "./keystroke.mjs";
4
4
  import { i as writeJson, r as isJsonMode } from "./output-CGdYhH0p.mjs";
5
- import { t as syncKeystrokeAgentSkills } from "./sync-keystroke-agent-skills-D746f2W_.mjs";
5
+ import { t as syncKeystrokeAgentSkills } from "./sync-keystroke-agent-skills-CX9fS5nQ.mjs";
6
6
  import path from "node:path";
7
7
  //#region src/commands/skills/skills-sync.handler.ts
8
8
  async function handleSkillsSync(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-CGdYhH0p.mjs";
4
- import { t as createTypedCommand } from "./commander-DcftG6dX.mjs";
4
+ import { t as createTypedCommand } from "./commander-BwtBoukr.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/skills/skills.command.ts
7
7
  const SkillsCommandOptionsSchema = JsonOptionSchema.extend({ path: z.string().optional().describe("Project root (default: current directory)") });
@@ -18,13 +18,13 @@ function createSkillsCommand() {
18
18
  description: "Sync Keystroke agent skills (SKILL.md) from @keystrokehq/skills",
19
19
  schema: SkillsCommandOptionsSchema,
20
20
  optionsConfig: SKILLS_OPTIONS_CONFIG,
21
- loadHandler: async () => (await import("./skills.handler-CofL4oKs.mjs")).handleSkillsParent,
21
+ loadHandler: async () => (await import("./skills.handler-C_4VzVmc.mjs")).handleSkillsParent,
22
22
  subcommands: [createTypedCommand({
23
23
  name: "sync",
24
24
  description: "Copy installed @keystrokehq/skills into .cursor/skills and .claude/skills",
25
25
  schema: SkillsCommandOptionsSchema,
26
26
  optionsConfig: SKILLS_OPTIONS_CONFIG,
27
- loadHandler: async () => (await import("./skills-sync.handler-CntKndFm.mjs")).handleSkillsSync
27
+ loadHandler: async () => (await import("./skills-sync.handler-Cf74vKJA.mjs")).handleSkillsSync
28
28
  })]
29
29
  });
30
30
  cmd.enablePositionalOptions();
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { z } from "zod";
4
- //#region ../../packages/core/src/artifacts/source-analysis.ts
4
+ //#region ../../packages/workflow-build-contracts/src/source-analysis.ts
5
5
  const SourceLocationSchema = z.object({
6
6
  filePath: z.string().min(1),
7
7
  absoluteFilePath: z.string().min(1).optional(),
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { d as getMetadataRoot } from "./layout-CXkZEsXI.mjs";
4
- import { t as BASE_IGNORE_PATTERNS } from "./metadata-layout-C6ed-9dl-C6Bylr_z.mjs";
5
- import { a as literalString, l as unwrapExpression, n as identifierName, r as isNode } from "./oxc-B3KI3rf_-ghZc3xZ5.mjs";
3
+ import { d as getMetadataRoot } from "./layout-DRf9qUf8.mjs";
4
+ import { t as BASE_IGNORE_PATTERNS } from "./metadata-layout-C6ed-9dl-EF5pCtIH.mjs";
5
+ import { a as literalString, l as unwrapExpression, n as identifierName, r as isNode } from "./oxc-B3KI3rf_-CHDUXsus.mjs";
6
6
  import { readFile, readdir, rm } from "node:fs/promises";
7
7
  import path from "node:path";
8
8
  //#region ../../packages/workflow-builder/dist/source-analysis-DEEChuND.mjs
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { a as createKyInstance, i as buildSearchParams, n as auth, r as bundles, s as getClientEnv, t as projects$1 } from "./projects-DN7dX6nN.mjs";
3
+ import { a as createKyInstance, i as buildSearchParams, n as auth, r as bundles, s as getClientEnv, t as projects$1 } from "./projects-CWLOF5x4.mjs";
4
4
  //#region ../../packages/workflow-sdk/src/v1/admin.ts
5
5
  const admin = (api) => ({
6
6
  orgs: {
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { N as throwReportedCliExit, n as ui } from "./keystroke.mjs";
4
4
  import { u as setActiveOrg } from "./dist-BF6r1hfv.mjs";
5
- import { i as requireClient } from "./context-1VgRbzr-.mjs";
5
+ import { i as requireClient } from "./context-DQ4IA0yO.mjs";
6
6
  import { select } from "@clack/prompts";
7
7
  //#region src/commands/org/switch.handler.ts
8
8
  async function handleOrgSwitch(_options, ctx) {
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as createTypedCommand } from "./commander-DcftG6dX.mjs";
3
+ import { t as createTypedCommand } from "./commander-BwtBoukr.mjs";
4
4
  import { z } from "zod";
5
5
  //#region src/commands/sync/sync.command.ts
6
6
  /**
@@ -32,7 +32,7 @@ function createSyncCommand() {
32
32
  description: "Sync local workflows with Keystroke",
33
33
  schema: SyncOptionsSchema,
34
34
  optionsConfig: SYNC_OPTIONS_CONFIG,
35
- loadHandler: async () => (await import("./sync.handler-BoAHHUQs.mjs")).handleSync
35
+ loadHandler: async () => (await import("./sync.handler-vvFIUut1.mjs")).handleSync
36
36
  });
37
37
  }
38
38
  //#endregion
@@ -2,12 +2,12 @@
2
2
 
3
3
  import { N as throwReportedCliExit, n as ui, o as isLocalMode, u as logger, x as toErrorMessage } from "./keystroke.mjs";
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { a as validateApiKey, i as requireClient } from "./context-1VgRbzr-.mjs";
6
- import { n as deployFromDir } from "./dist-DvO0q6Fo.mjs";
7
- import { t as requireWorkflowsDir } from "./resolve-project-C6UAOfAG.mjs";
8
- import { a as runWorkflowBuild, n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-Z2_jkOsZ.mjs";
9
- import { t as createBuildProgress } from "./build-progress-DigAP-BN.mjs";
10
- import { t as createDeployProgress } from "./deploy-progress-XAfautnA.mjs";
5
+ import { a as validateApiKey, i as requireClient } from "./context-DQ4IA0yO.mjs";
6
+ import { n as deployFromDir } from "./dist-BMkNN03r.mjs";
7
+ import { t as requireWorkflowsDir } from "./resolve-project-bVPMcs-y.mjs";
8
+ import { a as runWorkflowBuild, n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-CoJMwpPO.mjs";
9
+ import { t as createBuildProgress } from "./build-progress-CITED2tv.mjs";
10
+ import { t as createDeployProgress } from "./deploy-progress-CLO-yidq.mjs";
11
11
  //#region src/commands/sync/sync.handler.ts
12
12
  async function handleSync(options, ctx) {
13
13
  try {