@keystrokehq/cli 0.0.19 → 0.0.21

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 (142) hide show
  1. package/dist/{accept.handler-BVmNNAgL.mjs → accept.handler-C6KBLKmW.mjs} +1 -1
  2. package/dist/{admin-DQlHFuXn.mjs → admin-D2CQoZAN.mjs} +9 -9
  3. package/dist/{agents-Dd7UeQCw.mjs → agents-Bn0g5o0o.mjs} +7 -7
  4. package/dist/{api-nR61stdq.mjs → api-J9UL8pqZ.mjs} +1 -1
  5. package/dist/{api-keys-BsMBFiD_.mjs → api-keys-BixCnZJW.mjs} +5 -5
  6. package/dist/{auth-ZTuuEoD6.mjs → auth-yCNMT8sJ.mjs} +14 -7
  7. package/dist/{auth.handler-C1dZBdaG.mjs → auth.handler-BedGpKh1.mjs} +7 -12
  8. package/dist/{build-agents-DseUtzd4-CthuIecx.mjs → build-agents-DseUtzd4-DFh2e5Cn.mjs} +5 -5
  9. package/dist/{build-metadata-C8Ra_Gi--L3l8w0rh.mjs → build-metadata-BB_L45ZS-BtGGjHIV.mjs} +9 -9
  10. package/dist/{build-progress-AR8xow4_.mjs → build-progress-nYa14iBP.mjs} +1 -1
  11. package/dist/{build-tasks-GVuMLS0h-BaPhhGXO.mjs → build-tasks-C09SdfjC-B0F7BZZG.mjs} +4 -4
  12. package/dist/{build-workflows-CV4tBo6S-szwrAGWT.mjs → build-workflows-BZ_m97Pr-DKANy85L.mjs} +9 -9
  13. package/dist/{build.handler-DJrEMCBw.mjs → build.handler-CyDc8jiZ.mjs} +5 -5
  14. package/dist/{clear-cache.handler-CTLQ1PIN.mjs → clear-cache.handler-FmJPHdWG.mjs} +1 -1
  15. package/dist/{clear.handler-BgeAg2de.mjs → clear.handler-Cvb9chs4.mjs} +27 -13
  16. package/dist/{commander-C5qcOo8m.mjs → commander-9Kro0Dl3.mjs} +4 -7
  17. package/dist/{connect-BtBKoXpi.mjs → connect-DzVxjeYr.mjs} +2 -2
  18. package/dist/{connect.handler-E8CmLRSF.mjs → connect.handler-DFQdxkWZ.mjs} +3 -3
  19. package/dist/{context-BydAGTiB.mjs → context-B2cQ-Nt3.mjs} +29 -3
  20. package/dist/{create.handler-CBxIPC3r.mjs → create.handler-v9B0Z9Yf.mjs} +1 -1
  21. package/dist/{credential-env-map-BA4LNI7x.mjs → credential-env-map-Dvp00a4M.mjs} +1 -1
  22. package/dist/credential-requirements-D0mavK8j-CFMf0Xwu.mjs +619 -0
  23. package/dist/{credentials-jRiXEr6P.mjs → credentials-DQW8xxof.mjs} +1 -1
  24. package/dist/{credentials-BGaRMclS.mjs → credentials-Dr5lD7Hm.mjs} +6 -6
  25. package/dist/{current-deployment-workflow-BVliROAz.mjs → current-deployment-workflow-qMfOrRIu.mjs} +4 -4
  26. package/dist/{current.handler-DBl9S67d.mjs → current.handler-Cm_-JLyZ.mjs} +1 -1
  27. package/dist/{delete.handler-Buu7Ip0D.mjs → delete.handler-DtP_zUaq.mjs} +1 -1
  28. package/dist/{deploy-BPDUTKZD.mjs → deploy-BURTx92e.mjs} +1 -1
  29. package/dist/{deploy-CzTlgAFj.mjs → deploy-CB6pfCuB.mjs} +2 -2
  30. package/dist/{deploy-progress-DK87VKJ-.mjs → deploy-progress-Dlp9aBDW.mjs} +1 -1
  31. package/dist/{deploy.handler-CCcJ7y3A.mjs → deploy.handler-Bg0dpSTj.mjs} +28 -16
  32. package/dist/{detect-env-access-CwkOYeYM-CNTyUzme.mjs → detect-env-access-CwkOYeYM-D4aTZv4R.mjs} +1 -1
  33. package/dist/{diff.handler-DUVFixeG.mjs → diff.handler-CJPrszL1.mjs} +4 -4
  34. package/dist/{dist-Cx0RV8s7.mjs → dist-Br4m3sFZ.mjs} +30 -33
  35. package/dist/{dist-CIInPRGh.mjs → dist-DuJjDZIf.mjs} +25 -2
  36. package/dist/{env.handler-C8kNFz2U.mjs → env.handler-6TrLd3fo.mjs} +7 -7
  37. package/dist/{error-boundary-B8cmSwJH.mjs → error-boundary-DVZipk-A.mjs} +1 -1
  38. package/dist/{file-metadata-lrX05iRt.mjs → file-metadata-DQVDjr7M.mjs} +2 -7
  39. package/dist/{import-module--8x5SLum-DjPUZr4i.mjs → import-module-y0glInUe-DxX0-BRO.mjs} +74 -620
  40. package/dist/{init-DeeOVc9m.mjs → init-DBMtY3eO.mjs} +3 -3
  41. package/dist/{init.handler-BMdhpusQ.mjs → init.handler-BoYbE-6H.mjs} +3 -3
  42. package/dist/{inspect.handler-QyTo8rWO.mjs → inspect.handler-Juu2vGbB.mjs} +4 -4
  43. package/dist/{integration-catalog-CmvYPvI6.mjs → integration-catalog-cYlTmOSb.mjs} +1 -1
  44. package/dist/{integrations-tXZM-84g.mjs → integrations-cwRfplNG.mjs} +5 -5
  45. package/dist/{invites-ClyAatBW.mjs → invites-DHyHZOY_.mjs} +4 -4
  46. package/dist/{invites.list.handler-CPkK_tPM.mjs → invites.list.handler-C-QpsG2J.mjs} +1 -1
  47. package/dist/{invites.resend.handler-DIRI7tS2.mjs → invites.resend.handler-KFKbSPzR.mjs} +1 -1
  48. package/dist/{invites.revoke.handler-CcXcDBlU.mjs → invites.revoke.handler-Cuz7jrGC.mjs} +1 -1
  49. package/dist/keystroke.mjs +21 -21
  50. package/dist/{list-enrichment-B9238wom.mjs → list-enrichment-CCRHYslm.mjs} +1 -1
  51. package/dist/{list.handler-Xl_F89kq.mjs → list.handler-6x3GVumu.mjs} +1 -1
  52. package/dist/{list.handler-tnsRn-Rj.mjs → list.handler-BWsl4iYw.mjs} +4 -4
  53. package/dist/{list.handler-DdFGHkqt.mjs → list.handler-CLGQDuo5.mjs} +5 -5
  54. package/dist/{list.handler-BLkQKiV1.mjs → list.handler-Cc-V1TNz.mjs} +1 -1
  55. package/dist/{list.handler-ClPAPSWm.mjs → list.handler-DRe38pAj.mjs} +2 -2
  56. package/dist/{list.handler-BB-Dcm5B.mjs → list.handler-Do2tVOnu.mjs} +1 -1
  57. package/dist/{list.handler-Cbc9rlBx.mjs → list.handler-RtHhrTZ3.mjs} +1 -1
  58. package/dist/{listen-ksMVpdNa.mjs → listen-DZdSevsB.mjs} +2 -2
  59. package/dist/{listen.handler-DEJSBg8y.mjs → listen.handler-BccHe1jh.mjs} +2 -2
  60. package/dist/{logs-C-JxXsgc.mjs → logs-Bh_PBnu6.mjs} +3 -3
  61. package/dist/{logs.handler-BIegqc2p.mjs → logs.handler-DItDS1zw.mjs} +2 -2
  62. package/dist/{members.add.handler-D4ggN2Xi.mjs → members.add.handler-D3nQ_Ln6.mjs} +1 -1
  63. package/dist/{members.invite.handler-BYIt6Oib.mjs → members.invite.handler-rKhg5n_C.mjs} +1 -1
  64. package/dist/{members.list.handler-CvpeYKC4.mjs → members.list.handler-C9Yh469k.mjs} +1 -1
  65. package/dist/{members.remove.handler-C4GBUVYE.mjs → members.remove.handler-Dnrck-E6.mjs} +1 -1
  66. package/dist/{members.update.handler-TpM1oi0L.mjs → members.update.handler-qo5r6arJ.mjs} +1 -1
  67. package/dist/{normalize-path-CojS-CgQ-D4wSBHgG.mjs → normalize-path-CojS-CgQ-aOM0agxS.mjs} +1 -1
  68. package/dist/{org-DIGyb7XZ.mjs → org-DnES84sS.mjs} +15 -15
  69. package/dist/{orgs.create.handler-RIYhse_Q.mjs → orgs.create.handler-DF4eEL-2.mjs} +1 -1
  70. package/dist/{orgs.get.handler-BfOpbSom.mjs → orgs.get.handler-BmJnseQa.mjs} +1 -1
  71. package/dist/{orgs.list.handler-BMgj9yTD.mjs → orgs.list.handler-DDVvSbsT.mjs} +1 -1
  72. package/dist/{paused.handler-DAZ1EaLN.mjs → paused.handler-BLUchSMD.mjs} +1 -1
  73. package/dist/{projects-Cy6CH3fI.mjs → projects-Cv14bBGy.mjs} +4 -4
  74. package/dist/{projects-BndElPAx.mjs → projects-ZNcKwds2.mjs} +1 -1
  75. package/dist/{requirements.handler-C5vobjdJ.mjs → requirements.handler-BKFocUof.mjs} +5 -5
  76. package/dist/{resolve-cli-credentials-DytxgMwn.mjs → resolve-cli-credentials-DaMDaamj.mjs} +1 -1
  77. package/dist/{resolve-project-CNQtOWE4.mjs → resolve-project-Cj3MFnU0.mjs} +1 -1
  78. package/dist/{run-polling-BhOdFyh3.mjs → run-polling-3XOGl4hh.mjs} +3 -3
  79. package/dist/{run.handler-BpLmwF_a.mjs → run.handler-DZuUx0fi.mjs} +5 -5
  80. package/dist/{runs-DaSd4eXn.mjs → runs-BOo3j297.mjs} +2 -2
  81. package/dist/{cron-parser-Dw_cWzFu.mjs → schemas-D2zfmyC-.mjs} +279 -1
  82. package/dist/{skills-sync.handler-DOxudKmV.mjs → skills-sync.handler-09mDbx5q.mjs} +1 -1
  83. package/dist/{skills.command-DQc_qGAF.mjs → skills.command-B-MhRN3J.mjs} +4 -4
  84. package/dist/{source-analysis-BBg2E_6G-Ut7kYHOz.mjs → source-analysis-BBg2E_6G-wPP9mjQx.mjs} +3 -3
  85. package/dist/{src-0XVwHXNp.mjs → src-DNhUmpSl.mjs} +1 -1
  86. package/dist/{switch.handler-CCjMrRZN.mjs → switch.handler-BFGvj5c6.mjs} +2 -2
  87. package/dist/{sync-BdTQDZjP.mjs → sync-CZ3iUPTA.mjs} +2 -2
  88. package/dist/{sync.handler-DjY8nqbB.mjs → sync.handler-B1L8I9lF.mjs} +7 -7
  89. package/dist/{task-BRmL2lmw.mjs → task-BWuIKWh4.mjs} +103 -34
  90. package/dist/{task-target-build-DCV0UDaz.mjs → task-target-build-CTgl4L42.mjs} +42 -56
  91. package/dist/task-target-deploy-DeUyfi9H.mjs +4 -0
  92. package/dist/{task-target-deploy-CZBGNC0H-I-tvkGCC.mjs → task-target-deploy-dQYnMO8n-d2vdeqXH.mjs} +14 -16
  93. package/dist/task-target-deploy-runner.mjs +6 -6
  94. package/dist/{test-TTQXrhHm.mjs → test-Byq4hG3C.mjs} +2 -2
  95. package/dist/{test.handler-B7Ahe9ta.mjs → test.handler-BsrMMj5O.mjs} +9 -9
  96. package/dist/{test.handler-CkkplyX6.mjs → test.handler-CAsVgOpT.mjs} +1 -1
  97. package/dist/{tool.handler-DMfFZCRg.mjs → tool.handler-BHS5Z4J_.mjs} +8 -8
  98. package/dist/{trigger-artifacts-RizI57RC-DjhOsdOm.mjs → trigger-artifacts-BcRScRSp-C-JBJ6y8.mjs} +53 -119
  99. package/dist/trigger-manifest-C07EM-b2.mjs +43 -0
  100. package/dist/{upgrade-Cx-bUWUc.mjs → upgrade-bZVjVXnu.mjs} +2 -2
  101. package/dist/{upload.handler-_d2WZwxd.mjs → upload.handler-DXVx2u3A.mjs} +7 -7
  102. package/dist/{users.get.handler-DIooG7Wy.mjs → users.get.handler-DqD2ELK2.mjs} +1 -1
  103. package/dist/{users.list.handler-DdGW-DSg.mjs → users.list.handler-DZSPvpGF.mjs} +1 -1
  104. package/dist/{users.set-role.handler-Ek-kntLp.mjs → users.set-role.handler-73smNUVF.mjs} +1 -1
  105. package/dist/{utils-BMUWnz1P.mjs → utils-BaxDlCsW.mjs} +1 -1
  106. package/dist/{validate.handler-Cq2uJjXY.mjs → validate.handler-CmfcMX0t.mjs} +5 -5
  107. package/dist/{workflow-build-C8AiYxqp.mjs → workflow-build-Bi1Aacc5.mjs} +22 -22
  108. package/dist/{workflow-build-manifest-BKKW9D05.mjs → workflow-build-manifest-1sC52TIG.mjs} +4 -4
  109. package/dist/{workflow-bundler-BzHk73PM-WI31RJjH.mjs → workflow-bundler-BzHk73PM-xQwAF08W.mjs} +2 -2
  110. package/dist/{workflows-K6zetcqI.mjs → workflows-C_C13Zr0.mjs} +19 -19
  111. package/dist/{writer-B-SpZ0G2-CLh7sXRd.mjs → writer-byNNUjRm-B-on1n6c.mjs} +23 -32
  112. package/package.json +12 -12
  113. package/dist/credential-requirements-Ob-7H-0F.mjs +0 -250
  114. package/dist/schemas-BxFPUGWT.mjs +0 -281
  115. package/dist/task-target-deploy-DmpCWE3u.mjs +0 -4
  116. package/dist/trigger-manifest-DxdCjGz_.mjs +0 -29
  117. /package/dist/{agent-bundle-package-DWV6B_5q-FPT0bJaA.mjs → agent-bundle-package-DWV6B_5q-B-qzc3zC.mjs} +0 -0
  118. /package/dist/{agent-manifest-tIsqF2OP.mjs → agent-manifest-Pg0aURo7.mjs} +0 -0
  119. /package/dist/{browser-BpJ8ut9z.mjs → browser-Dvv5OQrt.mjs} +0 -0
  120. /package/dist/{clear.handler-C_pXAeBG.mjs → clear.handler-BdR56Cok.mjs} +0 -0
  121. /package/dist/{concurrency-gXn9Rw8x-BTlfau8D.mjs → concurrency-gXn9Rw8x-CnBnF2cg.mjs} +0 -0
  122. /package/dist/{credential-schema-mismatch-z74ud-YZ.mjs → credential-schema-mismatch-kfGeiSB1.mjs} +0 -0
  123. /package/dist/{declared-credential-requirements-D6KT-r-e.mjs → declared-credential-requirements-B6h4WRv4.mjs} +0 -0
  124. /package/dist/{diff-utils-B0ED-Igv.mjs → diff-utils-CXKNQUXO.mjs} +0 -0
  125. /package/dist/{layout-P1v-Gssz.mjs → layout-B95Tku8F.mjs} +0 -0
  126. /package/dist/{logs.handler-DyRoevtO.mjs → logs.handler-Bs1DVMaO.mjs} +0 -0
  127. /package/dist/{metadata-layout-Bv-B0nHj-B1c5giJ7.mjs → metadata-layout-Bv-B0nHj-CO8mjjSl.mjs} +0 -0
  128. /package/dist/{oxc-B3KI3rf_-Cvx4Z-4H.mjs → oxc-B3KI3rf_-B9omBIuN.mjs} +0 -0
  129. /package/dist/{read-credential-keys-77a91T8M-B0eiobOd.mjs → read-credential-keys-77a91T8M-aLuQvlIq.mjs} +0 -0
  130. /package/dist/{register.handler-BXeh5mdb.mjs → register.handler-C_NqMLir.mjs} +0 -0
  131. /package/dist/{rolldown-runtime-twds-ZHy-8uqgIurC.mjs → rolldown-runtime-twds-ZHy-RuJszab7.mjs} +0 -0
  132. /package/dist/{run-polling-DARidqo-.mjs → run-polling-DKWPGLyF.mjs} +0 -0
  133. /package/dist/{schema-BjH_e4Fo.mjs → schema-DFJiNWyd.mjs} +0 -0
  134. /package/dist/{schema-display-NVEl_DFY.mjs → schema-display-XrRCdFL0.mjs} +0 -0
  135. /package/dist/{skill-installer-BBgN2tzW.mjs → skill-installer-Cm9hF6OB.mjs} +0 -0
  136. /package/dist/{skills.handler-Do9I3dQS.mjs → skills.handler-KEUkV5NH.mjs} +0 -0
  137. /package/dist/{source-analysis-Cs0CTBQk.mjs → source-analysis-z2RSZw6X.mjs} +0 -0
  138. /package/dist/{spinner-progress-Bx-fYItP.mjs → spinner-progress-BtEIJRX4.mjs} +0 -0
  139. /package/dist/{status.handler-BsVtDW_V.mjs → status.handler-CW-EFhy3.mjs} +0 -0
  140. /package/dist/{types-BMBuhHhW.mjs → types-D1cVpE7_.mjs} +0 -0
  141. /package/dist/{upgrade.handler-5qSzPC7D.mjs → upgrade.handler-C7KvNL0x.mjs} +0 -0
  142. /package/dist/{upload-BbcMkyVl.mjs → upload-CE4H5R1h.mjs} +0 -0
@@ -2,10 +2,10 @@
2
2
 
3
3
  import { A as WorkflowResolutionError, a as ui, g as getHttpStatus, h as getApiErrorCode } from "./keystroke.mjs";
4
4
  import { t as assertWorkflowProjectRoot } from "./project-config-DudGRFPO.mjs";
5
- import { a as readManifestsFromOutDir } from "./dist-Cx0RV8s7.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-C8AiYxqp.mjs";
5
+ import { a as readManifestsFromOutDir } from "./dist-Br4m3sFZ.mjs";
6
+ import { t as requireWorkflowsDir } from "./resolve-project-Cj3MFnU0.mjs";
7
+ import { t as createSpinnerProgress } from "./spinner-progress-BtEIJRX4.mjs";
8
+ import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-Bi1Aacc5.mjs";
9
9
  //#region src/commands/workflows/_shared/current-deployment-workflow.ts
10
10
  /**
11
11
  * Lightweight resolution: gets projectId from keystroke.config.ts and authoredWorkflowId
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { a as ui } from "./keystroke.mjs";
4
- import { i as requireClient } from "./context-BydAGTiB.mjs";
4
+ import { i as requireClient } from "./context-B2cQ-Nt3.mjs";
5
5
  //#region src/commands/org/current.handler.ts
6
6
  async function handleOrgCurrent(_options, ctx) {
7
7
  if (!ctx.organizationId) {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { a as ui, j as throwReportedCliExit, y as toErrorMessage } from "./keystroke.mjs";
4
- import { i as requireClient } from "./context-BydAGTiB.mjs";
4
+ import { i as requireClient } from "./context-B2cQ-Nt3.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 { a as createKyInstance, n as auth, r as bundles, s as getClientEnv, t as projects } from "./projects-BndElPAx.mjs";
3
+ import { a as createKyInstance, n as auth, r as bundles, s as getClientEnv, t as projects } from "./projects-ZNcKwds2.mjs";
4
4
  //#region ../../packages/workflow-sdk/src/deploy.ts
5
5
  function createDeployClient(config = {}) {
6
6
  const env = getClientEnv();
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as createTypedCommand } from "./commander-C5qcOo8m.mjs";
3
+ import { t as createTypedCommand } from "./commander-9Kro0Dl3.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-CCcJ7y3A.mjs")).handleDeploy
67
+ loadHandler: async () => (await import("./deploy.handler-Bg0dpSTj.mjs")).handleDeploy
68
68
  });
69
69
  cmd.enablePositionalOptions();
70
70
  cmd.passThroughOptions();
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { a as ui } from "./keystroke.mjs";
4
- import { t as createSpinnerProgress } from "./spinner-progress-Bx-fYItP.mjs";
4
+ import { t as createSpinnerProgress } from "./spinner-progress-BtEIJRX4.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,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { D as CliExitError, P as logger, a as ui, l as isLocalMode, n as style, t as ANSI } from "./keystroke.mjs";
4
- import { i as projects } from "./dist-CIInPRGh.mjs";
4
+ import { i as projects } from "./dist-DuJjDZIf.mjs";
5
5
  import { t as assertWorkflowProjectRoot } from "./project-config-DudGRFPO.mjs";
6
- import { r as requireAuthOptions, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-BydAGTiB.mjs";
7
- import { i as readAgentManifestsFromOutDir, o as readWorkflowsFromDisk } from "./dist-Cx0RV8s7.mjs";
8
- import { t as requireWorkflowsDir } from "./resolve-project-CNQtOWE4.mjs";
9
- import { n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-C8AiYxqp.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-BVliROAz.mjs";
14
- import { t as computeWorkflowDiff } from "./diff-utils-B0ED-Igv.mjs";
6
+ import { r as requireAuthOptions, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B2cQ-Nt3.mjs";
7
+ import { i as readAgentManifestsFromOutDir, o as readWorkflowsFromDisk } from "./dist-Br4m3sFZ.mjs";
8
+ import { t as requireWorkflowsDir } from "./resolve-project-Cj3MFnU0.mjs";
9
+ import { n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-Bi1Aacc5.mjs";
10
+ import { t as createBuildProgress } from "./build-progress-nYa14iBP.mjs";
11
+ import { t as createDeployProgress } from "./deploy-progress-Dlp9aBDW.mjs";
12
+ import { t as withErrorBoundary } from "./error-boundary-DVZipk-A.mjs";
13
+ import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-qMfOrRIu.mjs";
14
+ import { t as computeWorkflowDiff } from "./diff-utils-CXKNQUXO.mjs";
15
15
  import path from "node:path";
16
16
  import { access } from "node:fs/promises";
17
17
  //#region src/commands/deploy/deploy-diff.ts
@@ -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-C8AiYxqp.mjs").then((n) => n.o);
201
+ const { runWorkflowBuild } = await import("./workflow-build-Bi1Aacc5.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-Cx0RV8s7.mjs").then((n) => n.r)).deployFromDir)({
236
+ result = await (deployHandlerDependencies.deployFromDir ?? (await import("./dist-Br4m3sFZ.mjs").then((n) => n.r)).deployFromDir)({
237
237
  outDir,
238
238
  workflowsDir,
239
239
  client,
@@ -252,15 +252,26 @@ async function handleDeploy(options, ctx) {
252
252
  await new Promise((resolve) => setImmediate(resolve));
253
253
  if (result.success) {
254
254
  renderSuccessSummary(result);
255
+ emitNewWebhookCredentials(result);
255
256
  return;
256
257
  }
257
258
  renderFailureSummary(result);
258
259
  throw new CliExitError("Deployment failed");
259
260
  }, { json: ctx.jsonMode });
260
261
  }
262
+ /**
263
+ * Emit a machine-readable JSON line for each newly issued webhook credential
264
+ * so external tooling (e.g. the e2e setup) can capture the plaintext secret
265
+ * + canonical webhook URL surfaced exactly once by the deploy.
266
+ */
267
+ function emitNewWebhookCredentials(result) {
268
+ const creds = result.newWebhookCredentials ?? [];
269
+ if (creds.length === 0) return;
270
+ for (const cred of creds) process.stdout.write(`[deploy] new-webhook-credential ${JSON.stringify(cred)}\n`);
271
+ }
261
272
  async function handleTaskTargetDeploy(options) {
262
273
  renderBuildHeader(void 0);
263
- const buildResult = await (deployHandlerDependencies.buildTaskTargets ?? (await import("./task-target-build-DCV0UDaz.mjs")).buildTaskTargets)({
274
+ const buildResult = await (deployHandlerDependencies.buildTaskTargets ?? (await import("./task-target-build-CTgl4L42.mjs")).buildTaskTargets)({
264
275
  projectRoot: options.workflowsDir,
265
276
  targetFiles: options.targetFiles,
266
277
  disableSourcemaps: options.options.disableSourcemaps
@@ -278,7 +289,7 @@ async function handleTaskTargetDeploy(options) {
278
289
  const progress = createDeployProgress();
279
290
  let result;
280
291
  try {
281
- result = await (deployHandlerDependencies.deployTaskTargets ?? (await import("./task-target-deploy-DmpCWE3u.mjs")).deployTaskTargets)({
292
+ result = await (deployHandlerDependencies.deployTaskTargets ?? (await import("./task-target-deploy-DeUyfi9H.mjs")).deployTaskTargets)({
282
293
  preparedTasks: buildResult.preparedTasks,
283
294
  client,
284
295
  organizationId: options.projectConfig.organizationId,
@@ -293,6 +304,7 @@ async function handleTaskTargetDeploy(options) {
293
304
  await new Promise((resolve) => setImmediate(resolve));
294
305
  if (result.success) {
295
306
  renderSuccessSummary(result);
307
+ emitNewWebhookCredentials(result);
296
308
  return;
297
309
  }
298
310
  renderFailureSummary(result);
@@ -300,7 +312,7 @@ async function handleTaskTargetDeploy(options) {
300
312
  }
301
313
  async function createFullDeployClient(ctx) {
302
314
  const authOptions = requireAuthOptions(ctx);
303
- const { createClient } = await import("./src-0XVwHXNp.mjs");
315
+ const { createClient } = await import("./src-DNhUmpSl.mjs");
304
316
  return createClient({
305
317
  ...authOptions,
306
318
  onRequest: (info) => logger.debug(`-> ${info.method} ${info.url}`, {
@@ -315,7 +327,7 @@ async function createFullDeployClient(ctx) {
315
327
  }
316
328
  async function createTaskDeployClient(ctx) {
317
329
  const authOptions = requireAuthOptions(ctx);
318
- return (deployHandlerDependencies.createDeployClient ?? (await import("./deploy-BPDUTKZD.mjs")).createDeployClient)(authOptions);
330
+ return (deployHandlerDependencies.createDeployClient ?? (await import("./deploy-BURTx92e.mjs")).createDeployClient)(authOptions);
319
331
  }
320
332
  function renderSuccessSummary(result) {
321
333
  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-8uqgIurC.mjs";
4
+ import { t as __exportAll$1 } from "./rolldown-runtime-twds-ZHy-RuJszab7.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,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { D as CliExitError, a as ui, j as throwReportedCliExit, y as toErrorMessage } from "./keystroke.mjs";
4
- import { i as projects } from "./dist-CIInPRGh.mjs";
4
+ import { i as projects } from "./dist-DuJjDZIf.mjs";
5
5
  import { i as writeJson } from "./output-BWcVRt-T.mjs";
6
- import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-BydAGTiB.mjs";
7
- import { n as resolveLocalWorkflowManifest, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-BVliROAz.mjs";
8
- import { n as renderDiff, t as computeWorkflowDiff } from "./diff-utils-B0ED-Igv.mjs";
6
+ import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B2cQ-Nt3.mjs";
7
+ import { n as resolveLocalWorkflowManifest, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-qMfOrRIu.mjs";
8
+ import { n as renderDiff, t as computeWorkflowDiff } from "./diff-utils-CXKNQUXO.mjs";
9
9
  //#region src/commands/workflows/diff/diff.handler.ts
10
10
  async function handleWorkflowsDiff(options, ctx) {
11
11
  const resolved = await resolveLocalWorkflowManifest(options.workflow, options.path, { jsonMode: ctx.jsonMode });
@@ -3,16 +3,16 @@
3
3
  import { n as __exportAll } from "./chunk-CH6r78ws.mjs";
4
4
  import { t as assertWorkflowProjectRoot } from "./project-config-DudGRFPO.mjs";
5
5
  import { n as SHA256HashSchema } from "./common-AK0q0Oz0.mjs";
6
- import { c as TriggerUploadDataSchema, d as collectCredentialRequirementEntries } from "./credential-requirements-Ob-7H-0F.mjs";
7
- import { a as FlowGraphSchema, r as WorkflowBuildManifestSchema } from "./workflow-build-manifest-BKKW9D05.mjs";
8
- import { t as AgentVersionManifestSchema } from "./agent-manifest-tIsqF2OP.mjs";
9
- import { n as TaskBuildManifestSchema } from "./task-BRmL2lmw.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-DxdCjGz_.mjs";
15
- import { t as batchUpload } from "./upload-BbcMkyVl.mjs";
6
+ import { f as collectCredentialRequirementEntries, u as TriggerUploadDataSchema } from "./credential-requirements-D0mavK8j-CFMf0Xwu.mjs";
7
+ import { a as FlowGraphSchema, r as WorkflowBuildManifestSchema } from "./workflow-build-manifest-1sC52TIG.mjs";
8
+ import { t as AgentVersionManifestSchema } from "./agent-manifest-Pg0aURo7.mjs";
9
+ import { n as TaskBuildManifestSchema } from "./task-BWuIKWh4.mjs";
10
+ import { n as FileMetadataSchema } from "./file-metadata-DQVDjr7M.mjs";
11
+ import { t as computeProjectSnapshotHash } from "./task-target-deploy-dQYnMO8n-d2vdeqXH.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-B95Tku8F.mjs";
13
+ import { n as resolveProjectBuildOutputDir } from "./utils-BaxDlCsW.mjs";
14
+ import { t as TriggerBuildManifestSchema } from "./trigger-manifest-C07EM-b2.mjs";
15
+ import { t as batchUpload } from "./upload-CE4H5R1h.mjs";
16
16
  import * as path$1 from "node:path";
17
17
  import path from "node:path";
18
18
  import * as fs from "node:fs/promises";
@@ -274,7 +274,8 @@ function finalizeDeployResult(options) {
274
274
  workflows: options.workflows,
275
275
  agents: options.agents,
276
276
  tasks: options.tasks || [],
277
- totalTime: Date.now() - options.startTime
277
+ totalTime: Date.now() - options.startTime,
278
+ ...options.newWebhookCredentials ? { newWebhookCredentials: options.newWebhookCredentials } : {}
278
279
  };
279
280
  options.onDeployProgressEvent?.({
280
281
  phase: "complete",
@@ -500,7 +501,7 @@ async function registerDeployment(options) {
500
501
  tasks: deploymentTasks
501
502
  });
502
503
  } finally {
503
- releasePreparedTaskCallbackBundleCode(preparedTasks);
504
+ releasePreparedTaskPollBundleCode(preparedTasks);
504
505
  }
505
506
  const deployedWorkflowResults = deployResult.workflows;
506
507
  const deployedAgentResults = deployResult.agents;
@@ -529,14 +530,12 @@ async function registerDeployment(options) {
529
530
  return {
530
531
  workflows: deployedWorkflowResults.map(mapDeployResultStatus),
531
532
  agents: deployedAgentResults.map(mapAgentResultStatus),
532
- tasks: deployedTaskResults.map(mapTaskResultStatus)
533
+ tasks: deployedTaskResults.map(mapTaskResultStatus),
534
+ ...deployResult.newWebhookCredentials ? { newWebhookCredentials: deployResult.newWebhookCredentials } : {}
533
535
  };
534
536
  }
535
- function releasePreparedTaskCallbackBundleCode(preparedTasks) {
536
- for (const task of preparedTasks) for (const trigger of task.triggers) {
537
- if (trigger.callbackBundle) trigger.callbackBundle.code = "";
538
- if (trigger.transformCallbackBundle) trigger.transformCallbackBundle.code = "";
539
- }
537
+ function releasePreparedTaskPollBundleCode(preparedTasks) {
538
+ for (const task of preparedTasks) for (const trigger of task.triggers) if (trigger.pollBundle) trigger.pollBundle.code = "";
540
539
  }
541
540
  async function syncMetadata(options) {
542
541
  const { client, organizationId, projectId, fileMetadata, onDeployProgressEvent } = options;
@@ -571,7 +570,7 @@ async function hashFile(filePath) {
571
570
  }
572
571
  /** Top-level build output folder for task bundles; not workflow-shaped (see readTasksFromDisk). */
573
572
  const TASKS_OUTPUT_DIR_NAME = "tasks";
574
- async function readCallbackBundle(baseDir, relativePath) {
573
+ async function readPollBundle(baseDir, relativePath) {
575
574
  const bundlePath = path$1.join(baseDir, relativePath);
576
575
  const code = await fs.readFile(bundlePath, "utf-8");
577
576
  return {
@@ -596,25 +595,23 @@ async function readTriggersFromBuildOutput(buildDir, options) {
596
595
  try {
597
596
  const raw = await fs.readFile(manifestPath, "utf-8");
598
597
  const manifest = TriggerBuildManifestSchema.parse(JSON.parse(raw));
599
- const callbackExports = manifest.functions && Object.keys(manifest.functions).length > 0 ? Object.fromEntries(Object.entries(manifest.functions).map(([key, value]) => [key, value.export])) : void 0;
600
- const callbackBundlePath = manifest.functions ? Object.values(manifest.functions)[0]?.js : void 0;
601
- const transformCallbackExports = manifest.attachmentFunctions && Object.keys(manifest.attachmentFunctions).length > 0 ? Object.fromEntries(Object.entries(manifest.attachmentFunctions).map(([key, value]) => [key, value.export])) : void 0;
602
- const transformCallbackBundlePath = manifest.attachmentFunctions ? Object.values(manifest.attachmentFunctions)[0]?.js : void 0;
598
+ const pollExports = manifest.functions && Object.keys(manifest.functions).length > 0 ? Object.fromEntries(Object.entries(manifest.functions).map(([key, value]) => [key, value.export])) : void 0;
599
+ const pollBundlePath = manifest.functions ? Object.values(manifest.functions)[0]?.js : void 0;
603
600
  const trigger = TriggerUploadDataSchema.parse({
604
601
  id: manifest.id,
602
+ authoredTriggerId: manifest.authoredTriggerId,
605
603
  type: manifest.type,
606
604
  ...manifest.triggerSource ? { triggerSource: manifest.triggerSource } : {},
605
+ ...manifest.webhookAuthGroupKey ? { webhookAuthGroupKey: manifest.webhookAuthGroupKey } : {},
607
606
  enabled: manifest.enabled,
608
- ...manifest.path ? { path: manifest.path } : {},
609
- ...manifest.method ? { method: manifest.method } : {},
610
607
  ...manifest.schedule ? { schedule: manifest.schedule } : {},
611
608
  ...manifest.timezone ? { timezone: manifest.timezone } : {},
612
609
  ...manifest.config ? { config: manifest.config } : {},
613
610
  ...manifest.requiredCredentials ? { requiredCredentials: manifest.requiredCredentials } : {},
614
- ...callbackExports ? { callbackExports } : {},
615
- ...callbackBundlePath ? { callbackBundle: await readCallbackBundle(triggerDir, callbackBundlePath) } : {},
616
- ...transformCallbackExports ? { transformCallbackExports } : {},
617
- ...transformCallbackBundlePath ? { transformCallbackBundle: await readCallbackBundle(triggerDir, transformCallbackBundlePath) } : {}
611
+ ...manifest.filterSchema ? { filterSchema: manifest.filterSchema } : {},
612
+ ...manifest.idempotencyConfig ? { idempotencyConfig: manifest.idempotencyConfig } : {},
613
+ ...pollExports ? { pollExports } : {},
614
+ ...pollBundlePath ? { pollBundle: await readPollBundle(triggerDir, pollBundlePath) } : {}
618
615
  });
619
616
  triggers.push(trigger);
620
617
  } catch (error) {
@@ -693,19 +690,18 @@ async function readTasksFromDisk(outDir, options) {
693
690
  const builtTriggers = await readTriggersFromBuildOutput(path$1.join(taskDir, "build"), options);
694
691
  const triggers = builtTriggers.length > 0 ? builtTriggers : manifestData.triggers.map((trigger, index) => {
695
692
  const runtime = trigger.runtime ?? {};
696
- const triggerName = trigger.name ?? `trigger_${index}`;
697
- const triggerId = createHash("sha256").update(`${entryName}::${triggerName}`).digest("hex").slice(0, 16);
693
+ const authoredTriggerId = trigger.id ?? `trigger_${index}`;
694
+ const triggerId = createHash("sha256").update(`${entryName}::${authoredTriggerId}`).digest("hex").slice(0, 16);
698
695
  const webhookSource = runtime.source && typeof runtime.source === "object" ? runtime.source : null;
699
696
  const sourceType = webhookSource?.type === "app" || webhookSource?.type === "custom" ? webhookSource.type : void 0;
700
697
  return {
701
698
  id: triggerId,
699
+ authoredTriggerId,
702
700
  type: trigger.triggerType ?? trigger.type,
703
701
  ...sourceType ? { triggerSource: sourceType } : {},
704
702
  enabled: trigger.enabled ?? true,
705
703
  ...runtime.schedule ? { schedule: runtime.schedule } : {},
706
704
  ...runtime.timezone ? { timezone: runtime.timezone } : {},
707
- ...webhookSource?.path ? { path: webhookSource.path } : {},
708
- ...webhookSource?.method ? { method: webhookSource.method } : {},
709
705
  ...trigger.payload !== void 0 ? { config: { payload: trigger.payload } } : {}
710
706
  };
711
707
  });
@@ -1105,6 +1101,7 @@ async function executeDeploy(options) {
1105
1101
  workflows: registration.workflows,
1106
1102
  agents: registration.agents,
1107
1103
  tasks: registration.tasks,
1104
+ ...registration.newWebhookCredentials ? { newWebhookCredentials: registration.newWebhookCredentials } : {},
1108
1105
  startTime,
1109
1106
  onDeployProgressEvent
1110
1107
  });
@@ -140,7 +140,30 @@ var KeychainVault = class {
140
140
  return (await this.createEntry(this.service, account)).getPassword();
141
141
  }
142
142
  async set(account, secret) {
143
- (await this.createEntry(this.service, account)).setPassword(secret);
143
+ const entry = await this.createEntry(this.service, account);
144
+ try {
145
+ entry.setPassword(secret);
146
+ return;
147
+ } catch (error) {
148
+ try {
149
+ await this.verifyWritableKeychain(account);
150
+ entry.deleteCredential();
151
+ (await this.createEntry(this.service, account)).setPassword(secret);
152
+ } catch (replacementError) {
153
+ throw new AggregateError([error, replacementError], "Could not replace the existing keychain credential.");
154
+ }
155
+ }
156
+ }
157
+ async verifyWritableKeychain(account) {
158
+ const probeAccount = `${account}:replacement-probe:${process.pid}:${Date.now()}`;
159
+ const probeEntry = await this.createEntry(this.service, probeAccount);
160
+ try {
161
+ probeEntry.setPassword("probe");
162
+ } finally {
163
+ try {
164
+ probeEntry.deleteCredential();
165
+ } catch {}
166
+ }
144
167
  }
145
168
  async delete(account) {
146
169
  return (await this.createEntry(this.service, account)).deleteCredential();
@@ -699,11 +722,11 @@ var Credentials = class {
699
722
  secretStorage,
700
723
  orgs: [input.org]
701
724
  };
702
- await this.metadata.write(newMeta);
703
725
  await this.secrets.setApiKey({
704
726
  orgId: input.org.organizationId,
705
727
  serverUrl: input.serverUrl
706
728
  }, input.apiKey, secretStorage.kind);
729
+ await this.metadata.write(newMeta);
707
730
  if (existing) {
708
731
  const previousOrg = existing.orgs.find((org) => org.organizationId === input.org.organizationId);
709
732
  const serverUrlChanged = normalizeCredentialServerUrl(existing.serverUrl) !== normalizeCredentialServerUrl(input.serverUrl);
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
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";
4
+ import { i as projects } from "./dist-DuJjDZIf.mjs";
5
5
  import { i as writeJson } from "./output-BWcVRt-T.mjs";
6
- import { i as requireClient } from "./context-BydAGTiB.mjs";
7
- import { n as CredentialConnectionIdSchema, r as CredentialScopeSchema, t as ConnectionStatusSchema } from "./schema-BjH_e4Fo.mjs";
8
- import { a as readManifestsFromOutDir } from "./dist-Cx0RV8s7.mjs";
9
- import { t as requireWorkflowsDir } from "./resolve-project-CNQtOWE4.mjs";
10
- import { t as getIntegrationCatalog } from "./integration-catalog-CmvYPvI6.mjs";
11
- import { t as groupCredentialRequirements } from "./credentials-jRiXEr6P.mjs";
6
+ import { i as requireClient } from "./context-B2cQ-Nt3.mjs";
7
+ import { n as CredentialConnectionIdSchema, r as CredentialScopeSchema, t as ConnectionStatusSchema } from "./schema-DFJiNWyd.mjs";
8
+ import { a as readManifestsFromOutDir } from "./dist-Br4m3sFZ.mjs";
9
+ import { t as requireWorkflowsDir } from "./resolve-project-Cj3MFnU0.mjs";
10
+ import { t as getIntegrationCatalog } from "./integration-catalog-cYlTmOSb.mjs";
11
+ import { t as groupCredentialRequirements } from "./credentials-DQW8xxof.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
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { D as CliExitError, P as logger, a as ui, v as isNetworkError, y as toErrorMessage } from "./keystroke.mjs";
4
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";
5
+ import { n as renderCredentialSchemaMismatchText, r as writeCredentialSchemaMismatchJson, t as isCredentialSchemaMismatchErrorLike } from "./credential-schema-mismatch-kfGeiSB1.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-Cs0CTBQk.mjs";
3
+ import { a as SourceLocationSchema, r as CapturedVariableSchema } from "./source-analysis-z2RSZw6X.mjs";
4
4
  import { z } from "zod";
5
5
  z.enum([
6
6
  "pending",
@@ -47,12 +47,7 @@ z.enum([
47
47
  "PUT",
48
48
  "PATCH"
49
49
  ]);
50
- z.enum([
51
- "filter",
52
- "idempotencyKey",
53
- "verify",
54
- "callback"
55
- ]);
50
+ z.enum(["poll"]);
56
51
  //#endregion
57
52
  //#region ../../packages/shared-types/src/workflows/build-output/file-metadata.ts
58
53
  function isNormalizedRelativePath(value) {