@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,23 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as __exportAll } from "./chunk-CH6r78ws.mjs";
4
- import { t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
5
- import { n as SHA256HashSchema } from "./common-BaGFkj3n.mjs";
6
- import { c as TriggerUploadDataSchema, d as collectCredentialRequirementEntries } from "./credential-requirements-FtBk5JVB.mjs";
7
- import { a as FlowGraphSchema, r as WorkflowBuildManifestSchema } from "./workflow-build-manifest-OPFqFD6f.mjs";
8
- import { t as AgentVersionManifestSchema } from "./agent-manifest-CZdlCTFs.mjs";
9
- import { n as TaskBuildManifestSchema } from "./task-BNXDZU71.mjs";
10
- import { n as FileMetadataSchema } from "./file-metadata-DaPPpiTh.mjs";
11
- import { t as computeProjectSnapshotHash } from "./task-target-deploy-CZBGNC0H-Ck724yF4.mjs";
12
- import { a as MANIFEST_FILE_NAME, d as getMetadataRoot, f as getTriggersDir, m as getWorkflowManifestPath, p as getWorkflowArtifactPaths, t as BUILD_DIR_NAME } from "./layout-CXkZEsXI.mjs";
13
- import { n as resolveProjectBuildOutputDir } from "./utils-VC0Vl_pm.mjs";
14
- import { t as TriggerBuildManifestSchema } from "./trigger-manifest-PTjVYL1r.mjs";
15
- import { t as batchUpload } from "./upload-wwSPAC5_.mjs";
16
- import { createReadStream } from "node:fs";
17
- import * as fs from "node:fs/promises";
18
- import { stat } from "node:fs/promises";
4
+ import { t as assertWorkflowProjectRoot } from "./project-config-DudGRFPO.mjs";
5
+ import { n as SHA256HashSchema } from "./common-AK0q0Oz0.mjs";
6
+ import { c as TriggerUploadDataSchema, d as collectCredentialRequirementEntries } from "./credential-requirements-DrrQ9x9P.mjs";
7
+ import { a as FlowGraphSchema, r as WorkflowBuildManifestSchema } from "./workflow-build-manifest-B2GqHyWE.mjs";
8
+ import { t as AgentVersionManifestSchema } from "./agent-manifest-tIsqF2OP.mjs";
9
+ import { n as TaskBuildManifestSchema } from "./task-BguWXIiH.mjs";
10
+ import { n as FileMetadataSchema } from "./file-metadata-lrX05iRt.mjs";
11
+ import { t as computeProjectSnapshotHash } from "./task-target-deploy-CZBGNC0H-I-tvkGCC.mjs";
12
+ import { a as MANIFEST_FILE_NAME, d as getMetadataRoot, f as getTriggersDir, m as getWorkflowManifestPath, p as getWorkflowArtifactPaths, t as BUILD_DIR_NAME } from "./layout-P1v-Gssz.mjs";
13
+ import { n as resolveProjectBuildOutputDir } from "./utils-BMUWnz1P.mjs";
14
+ import { t as TriggerBuildManifestSchema } from "./trigger-manifest-Bq2zRbkV.mjs";
15
+ import { t as batchUpload } from "./upload-BbcMkyVl.mjs";
19
16
  import * as path$1 from "node:path";
20
17
  import path from "node:path";
18
+ import * as fs from "node:fs/promises";
19
+ import { stat } from "node:fs/promises";
20
+ import { createReadStream } from "node:fs";
21
21
  import { createHash } from "node:crypto";
22
22
  //#region ../../packages/workflow-deploy/dist/index.mjs
23
23
  var dist_exports = /* @__PURE__ */ __exportAll({
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, b as isNetworkError, f as ANSI, g as REAUTH_HINT, k as CliExitError, n as ui, p as style, x as toErrorMessage, y as isAuthError } 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 } from "./context-B1L8pZsH.mjs";
7
- import { n as CredentialConnectionIdSchema, r as CredentialScopeSchema, t as ConnectionStatusSchema } from "./schema-O9xTWad_.mjs";
8
- import { a as readManifestsFromOutDir } from "./dist-FQYQ2FLm.mjs";
9
- import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
10
- import { t as getIntegrationCatalog } from "./integration-catalog-BgT4mLzW.mjs";
11
- import { t as groupCredentialRequirements } from "./credentials-CiOwDS5y.mjs";
3
+ import { D as CliExitError, _ as isAuthError, a as ui, j as throwReportedCliExit, m as REAUTH_HINT, n as style, t as ANSI, v as isNetworkError, 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 } from "./context-Bid-Rqj7.mjs";
7
+ import { n as CredentialConnectionIdSchema, r as CredentialScopeSchema, t as ConnectionStatusSchema } from "./schema-BjH_e4Fo.mjs";
8
+ import { a as readManifestsFromOutDir } from "./dist-WFPTDQB3.mjs";
9
+ import { t as requireWorkflowsDir } from "./resolve-project-CNQtOWE4.mjs";
10
+ import { t as getIntegrationCatalog } from "./integration-catalog-m8tj_XlD.mjs";
11
+ import { t as groupCredentialRequirements } from "./credentials-DUkVbhvj.mjs";
12
12
  import { z } from "zod";
13
13
  import Table from "cli-table3";
14
14
  //#region ../../packages/shared-types/src/credentials/api/responses.ts
@@ -119,7 +119,7 @@ function isCredentialNotConfiguredError(error) {
119
119
  async function handleWorkflowsEnv(options, ctx) {
120
120
  const client = requireClient(ctx);
121
121
  const workflowsDir = await requireWorkflowsDir(options.path);
122
- trackProject(workflowsDir);
122
+ projects.track(workflowsDir);
123
123
  const manifests = await readManifestsFromOutDir(workflowsDir, options.workflow);
124
124
  if (manifests.length === 0) if (options.workflow) {
125
125
  ui.error(`Workflow "${options.workflow}" not found.`);
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { b as isNetworkError, k as CliExitError, n as ui, u as logger, x as toErrorMessage } from "./keystroke.mjs";
4
- import { r as isJsonMode } from "./output-CGdYhH0p.mjs";
5
- import { n as renderCredentialSchemaMismatchText, r as writeCredentialSchemaMismatchJson, t as isCredentialSchemaMismatchErrorLike } from "./credential-schema-mismatch-CfyBUMPS.mjs";
3
+ import { D as CliExitError, P as logger, a as ui, v as isNetworkError, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { r as isJsonMode } from "./output-BWcVRt-T.mjs";
5
+ import { n as renderCredentialSchemaMismatchText, r as writeCredentialSchemaMismatchJson, t as isCredentialSchemaMismatchErrorLike } from "./credential-schema-mismatch-z74ud-YZ.mjs";
6
6
  //#region src/lib/error-boundary.ts
7
7
  async function withErrorBoundary(commandName, fn, options = {}) {
8
8
  const jsonMode = options.json ?? isJsonMode({});
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { a as SourceLocationSchema, r as CapturedVariableSchema } from "./source-analysis-CJPymdaA.mjs";
3
+ import { a as SourceLocationSchema, r as CapturedVariableSchema } from "./source-analysis-Cs0CTBQk.mjs";
4
4
  import { z } from "zod";
5
5
  z.enum([
6
6
  "pending",
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, n as ui, v as getHttpStatus, x as toErrorMessage } from "./keystroke.mjs";
4
- import { a as writeJsonError } from "./output-CGdYhH0p.mjs";
3
+ import { a as ui, g as getHttpStatus, j as throwReportedCliExit, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { a as writeJsonError } from "./output-BWcVRt-T.mjs";
5
5
  //#region src/lib/iam-command-utils.ts
6
6
  function requireOrganizationId(ctx) {
7
7
  if (ctx.organizationId) return ctx.organizationId;
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as findProjectRoot } from "./project-config-CsBMT4TL.mjs";
4
- import { c as optionalDescriptionString$1, i as createStructuralSchema$1, l as optionalTrimmedNonEmptyString$1, o as idNoSpacesString, r as anyZodSchemaSchema$1, s as jsonSchemaObject$1, t as CredentialSetManifestSchema$1, u as trimmedNonEmptyString$1 } from "./schemas-DodkHgnS.mjs";
5
- import { n as DeclaredCredentialRequirementSchema } from "./credential-requirements-FtBk5JVB.mjs";
6
- import { a as FlowGraphSchema, i as WorkflowCoreManifestSchema, n as WORKFLOW_MANIFEST_SCHEMA_VERSION } from "./workflow-build-manifest-OPFqFD6f.mjs";
7
- import { t as parseCronExpression } from "./cron-parser-C2eJD0yD.mjs";
8
- import { t as runWithConcurrency } from "./concurrency-gXn9Rw8x-BI6HQNfC.mjs";
3
+ import { n as findProjectRoot } from "./project-config-DudGRFPO.mjs";
4
+ import { c as optionalDescriptionString$1, i as createStructuralSchema$1, l as optionalTrimmedNonEmptyString$1, o as idNoSpacesString, r as anyZodSchemaSchema$1, s as jsonSchemaObject$1, t as CredentialSetManifestSchema$1, u as trimmedNonEmptyString$1 } from "./schemas-B8c7Z5Iy.mjs";
5
+ import { n as DeclaredCredentialRequirementSchema } from "./credential-requirements-DrrQ9x9P.mjs";
6
+ import { a as FlowGraphSchema, i as WorkflowCoreManifestSchema, n as WORKFLOW_MANIFEST_SCHEMA_VERSION } from "./workflow-build-manifest-B2GqHyWE.mjs";
7
+ import { t as parseCronExpression } from "./cron-parser-Dw_cWzFu.mjs";
8
+ import { t as runWithConcurrency } from "./concurrency-gXn9Rw8x-BTlfau8D.mjs";
9
9
  import { createRequire } from "node:module";
10
10
  import * as os from "node:os";
11
11
  import * as path$1 from "node:path";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
4
- import { t as SKILL_INSTALL_METHODS } from "./types-D04ah3uY.mjs";
3
+ import { t as createTypedCommand } from "./commander-BE37hxR3.mjs";
4
+ import { t as SKILL_INSTALL_METHODS } from "./types-BMBuhHhW.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/init/init.command.ts
7
7
  const InitOptionsSchema = z.object({
@@ -45,7 +45,7 @@ function createInitCommand() {
45
45
  description: "Initialize a Keystroke project (creates keystroke.config.ts)",
46
46
  schema: InitOptionsSchema,
47
47
  optionsConfig: INIT_OPTIONS_CONFIG,
48
- loadHandler: async () => (await import("./init.handler-CdytFiFt.mjs")).handleInit
48
+ loadHandler: async () => (await import("./init.handler-DamvbPEw.mjs")).handleInit
49
49
  });
50
50
  }
51
51
  //#endregion
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { k as CliExitError, n as ui, t as fetchLatestNpmPackageVersion } from "./keystroke.mjs";
4
- import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { a as writeProjectConfig, i as readProjectConfig, r as getProjectConfigPath } from "./project-config-CsBMT4TL.mjs";
6
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
7
- import { i as UnknownSkillAgentError, n as resolveSkillInstallChoices, r as installKeystrokeAgentSkills, t as summarizeSkillInstall } from "./skill-installer-DkRJ6oLi.mjs";
3
+ import { D as CliExitError, a as ui, i as fetchLatestNpmPackageVersion } from "./keystroke.mjs";
4
+ import { i as projects } from "./dist-CIInPRGh.mjs";
5
+ import { a as writeProjectConfig, i as readProjectConfig, r as getProjectConfigPath } from "./project-config-DudGRFPO.mjs";
6
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
7
+ import { i as UnknownSkillAgentError, n as resolveSkillInstallChoices, r as installKeystrokeAgentSkills, t as summarizeSkillInstall } from "./skill-installer-BBgN2tzW.mjs";
8
8
  import { createRequire } from "node:module";
9
- import { readFileSync } from "node:fs";
10
- import { access, mkdir, readFile, writeFile } from "node:fs/promises";
11
9
  import path from "node:path";
10
+ import { access, mkdir, readFile, writeFile } from "node:fs/promises";
11
+ import { readFileSync } from "node:fs";
12
12
  import { cancel, isCancel, text } from "@clack/prompts";
13
13
  //#region src/lib/keystroke-scaffold-version-ranges.ts
14
14
  const WORKFLOW_CORE_PACKAGE_NAME = "@keystrokehq/core";
@@ -210,6 +210,7 @@ function createPackageJsonContent(projectName, options) {
210
210
  },
211
211
  devDependencies: {
212
212
  "@biomejs/biome": "2.4.13",
213
+ "@keystrokehq/testing": options.workflowCoreVersionRange,
213
214
  vitest: "^4.0.18",
214
215
  typescript: "^5.9.3"
215
216
  }
@@ -247,7 +248,7 @@ function createTsconfigContent() {
247
248
  */
248
249
  function createVitestConfigContent() {
249
250
  return `import { defineConfig } from 'vitest/config';
250
- import { keystrokeTestPlugin } from '@keystrokehq/testing/vitest';
251
+ import { keystrokeTestPlugin } from '@keystrokehq/testing';
251
252
 
252
253
  export default defineConfig({
253
254
  plugins: [keystrokeTestPlugin()],
@@ -321,6 +322,7 @@ async function ensureScaffoldPackageJson(targetDir, projectName, workflowCoreRan
321
322
  pkg.dependencies["@keystrokehq/core"] = workflowCoreRange;
322
323
  pkg.dependencies.zod = pkg.dependencies.zod ?? "^4.3.6";
323
324
  pkg.devDependencies = pkg.devDependencies ?? {};
325
+ pkg.devDependencies["@keystrokehq/testing"] = workflowCoreRange;
324
326
  pkg.devDependencies.vitest = pkg.devDependencies.vitest ?? "^4.0.18";
325
327
  pkg.devDependencies.typescript = pkg.devDependencies.typescript ?? "^5.9.3";
326
328
  if (!pkg.name) pkg.name = projectName;
@@ -403,7 +405,7 @@ async function handleInit(options, ctx) {
403
405
  });
404
406
  ui.hint(`Project "${projectName}" is now tracked.`);
405
407
  ui.hint(`Project ID: ${projectId}`);
406
- await trackProject(targetDir, { name: projectName });
408
+ await projects.track(targetDir, { name: projectName });
407
409
  await installAgentSkillsForInit(targetDir, options);
408
410
  if (options.scaffold) {
409
411
  const [workflowCoreVersionRange, configVersionRange] = await Promise.all([workflowCoreScaffoldVersionRange(), configScaffoldVersionRange()]);
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, f as ANSI, n as ui, p as style, 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 { i as resolveTypeHint } from "./schema-display-CNqiYBIb.mjs";
8
- import { n as resolveLocalWorkflowManifest, r as resolveProjectContext, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-BRUEdPrN.mjs";
3
+ import { a as ui, j as throwReportedCliExit, n as style, t as ANSI, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { i as 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 { i as resolveTypeHint } from "./schema-display-NVEl_DFY.mjs";
8
+ import { n as resolveLocalWorkflowManifest, r as resolveProjectContext, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-DiwUcKoB.mjs";
9
9
  import dayjs from "dayjs";
10
10
  //#region src/commands/workflows/inspect/inspect-display.ts
11
11
  function formatBuildTimestamp(iso) {
@@ -104,7 +104,7 @@ async function handleWorkflowsInspect(options, ctx) {
104
104
  async function handleInspectLocal(options, ctx) {
105
105
  const resolved = await resolveLocalWorkflowManifest(options.workflow, options.path, { jsonMode: ctx.jsonMode });
106
106
  const workflowsDir = resolved.workflowsDir;
107
- trackProject(workflowsDir);
107
+ projects.track(workflowsDir);
108
108
  if (ctx.jsonMode) {
109
109
  writeJson(resolved.manifest);
110
110
  return;
@@ -113,7 +113,7 @@ async function handleInspectLocal(options, ctx) {
113
113
  }
114
114
  async function handleInspectDeployed(options, ctx) {
115
115
  const resolved = await resolveProjectContext(options.workflow, options.path, { jsonMode: ctx.jsonMode });
116
- trackProject(resolved.workflowsDir);
116
+ projects.track(resolved.workflowsDir);
117
117
  const client = requireClient(ctx);
118
118
  await assertProjectConfigMatchesAuthenticatedOrg(client, { organizationId: resolved.organizationId });
119
119
  let deploymentLookup;
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { N as throwReportedCliExit, b as isNetworkError, g as REAUTH_HINT, k as CliExitError, n as ui, x as toErrorMessage, y as isAuthError } from "./keystroke.mjs";
4
- import { a as writeJsonError } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
3
+ import { D as CliExitError, _ as isAuthError, a as ui, j as throwReportedCliExit, m as REAUTH_HINT, v as isNetworkError, y as toErrorMessage } from "./keystroke.mjs";
4
+ import { a as writeJsonError } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
6
  //#region src/lib/integration-catalog.ts
7
7
  const catalogCache = /* @__PURE__ */ new WeakMap();
8
8
  function buildView(entries) {
@@ -1,14 +1,15 @@
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 { t as ConnectionKindValues } from "./api-jkf0TTgD.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 { t as ConnectionKindValues } from "./api-DsK8M-ZH.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/commands/integrations/integrations.command.ts
8
8
  const IntegrationsListOptionsSchema = JsonOptionSchema.extend({
9
9
  kind: z.enum(ConnectionKindValues).optional(),
10
10
  search: z.string().optional(),
11
- connected: z.boolean().optional()
11
+ connected: z.boolean().optional(),
12
+ details: z.boolean().optional()
12
13
  });
13
14
  const INTEGRATIONS_LIST_OPTIONS_CONFIG = {
14
15
  ...JSON_OPTION_CONFIG,
@@ -23,6 +24,10 @@ const INTEGRATIONS_LIST_OPTIONS_CONFIG = {
23
24
  connected: {
24
25
  flag: "--connected",
25
26
  description: "Only show integrations with at least one configured connection in the current org"
27
+ },
28
+ details: {
29
+ flag: "--details",
30
+ description: "Show connection names, IDs, scope, status, and default selection"
26
31
  }
27
32
  };
28
33
  const IntegrationsRegisterOptionsSchema = JsonOptionSchema.extend({
@@ -47,20 +52,20 @@ function createIntegrationsCommand() {
47
52
  description: "List Keystroke integrations available to your organization",
48
53
  schema: IntegrationsListOptionsSchema,
49
54
  optionsConfig: INTEGRATIONS_LIST_OPTIONS_CONFIG,
50
- loadHandler: async () => (await import("./list.handler-BjutlIkE.mjs")).handleIntegrationsList,
55
+ loadHandler: async () => (await import("./list.handler-CEjKSezx.mjs")).handleIntegrationsList,
51
56
  subcommands: [createTypedCommand({
52
57
  name: "list",
53
58
  description: "List Keystroke integrations available to your organization",
54
59
  schema: IntegrationsListOptionsSchema,
55
60
  optionsConfig: INTEGRATIONS_LIST_OPTIONS_CONFIG,
56
- loadHandler: async () => (await import("./list.handler-BjutlIkE.mjs")).handleIntegrationsList
61
+ loadHandler: async () => (await import("./list.handler-CEjKSezx.mjs")).handleIntegrationsList
57
62
  }), createTypedCommand({
58
63
  name: "register",
59
64
  description: "Register a workspace provider app for future workspace-authored OAuth support",
60
65
  schema: IntegrationsRegisterOptionsSchema,
61
66
  optionsConfig: INTEGRATIONS_REGISTER_OPTIONS_CONFIG,
62
67
  handler: async (opts, ctx) => {
63
- const { handleIntegrationsRegister } = await import("./register.handler-BAx0IC-u.mjs");
68
+ const { handleIntegrationsRegister } = await import("./register.handler-CleQJhtQ.mjs");
64
69
  await handleIntegrationsRegister({
65
70
  integrationId: opts.integrationId,
66
71
  clientAppCredentialSetId: opts.clientApp,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-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/invites/invites.command.ts
7
7
  const InvitesListOptionsSchema = JsonOptionSchema;
@@ -19,13 +19,13 @@ function createInvitesCommand() {
19
19
  description: "Manage invitations for the current user",
20
20
  schema: InvitesListOptionsSchema,
21
21
  optionsConfig: { ...JSON_OPTION_CONFIG },
22
- loadHandler: async () => (await import("./list.handler-FlchXrKz.mjs")).handleInvitesList,
22
+ loadHandler: async () => (await import("./list.handler-DUz1bJ4x.mjs")).handleInvitesList,
23
23
  subcommands: [createTypedCommand({
24
24
  name: "list",
25
25
  description: "List pending invites for the current user",
26
26
  schema: InvitesListOptionsSchema,
27
27
  optionsConfig: { ...JSON_OPTION_CONFIG },
28
- loadHandler: async () => (await import("./list.handler-FlchXrKz.mjs")).handleInvitesList
28
+ loadHandler: async () => (await import("./list.handler-DUz1bJ4x.mjs")).handleInvitesList
29
29
  }), createTypedCommand({
30
30
  name: "accept",
31
31
  description: "Accept a pending invite",
@@ -36,7 +36,7 @@ function createInvitesCommand() {
36
36
  description: "Invite ID to accept",
37
37
  key: "inviteId"
38
38
  },
39
- loadHandler: async () => (await import("./accept.handler-BPwp_UAE.mjs")).handleInvitesAccept
39
+ loadHandler: async () => (await import("./accept.handler-B7QzdKCh.mjs")).handleInvitesAccept
40
40
  })]
41
41
  });
42
42
  }
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-CSZj4XlH.mjs";
7
7
  import Table from "cli-table3";
8
8
  //#region src/commands/org/invites.list.handler.ts
9
9
  async function handleOrgInvitesList(_options, ctx) {
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, t as handleIamError } from "./iam-command-utils-CSZj4XlH.mjs";
7
7
  //#region src/commands/org/invites.resend.handler.ts
8
8
  async function handleOrgInvitesResend(options, ctx) {
9
9
  const client = requireClient(ctx);
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as ui } from "./keystroke.mjs";
4
- import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
- import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-ByLX0A-V.mjs";
3
+ import { a as ui } from "./keystroke.mjs";
4
+ import { i as writeJson } from "./output-BWcVRt-T.mjs";
5
+ import { i as requireClient } from "./context-Bid-Rqj7.mjs";
6
+ import { i as requireOrganizationId, n as isIamJsonMode, r as requireConfirmation, t as handleIamError } from "./iam-command-utils-CSZj4XlH.mjs";
7
7
  //#region src/commands/org/invites.revoke.handler.ts
8
8
  async function handleOrgInvitesRevoke(options, ctx) {
9
9
  const client = requireClient(ctx);