@keystrokehq/cli 0.0.14 → 0.0.15

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 (61) hide show
  1. package/README.md +3 -3
  2. package/dist/{agents-BdzwXAI1.mjs → agents-CWGz8CR-.mjs} +5 -5
  3. package/dist/{api-Sf7A0I5T.mjs → api-jkf0TTgD.mjs} +1 -1
  4. package/dist/{build-metadata-qebrtraZ-BL-fo8HW.mjs → build-metadata-C8Ra_Gi--CTCBRjFA.mjs} +4 -4
  5. package/dist/{build-progress-BataNqG-.mjs → build-progress-BZivcVz4.mjs} +1 -1
  6. package/dist/{build-workflows-Dmzay1vP-CAhb0BSk.mjs → build-workflows-CV4tBo6S-B4SPp86e.mjs} +3 -3
  7. package/dist/{build.handler-DTKBdDzF.mjs → build.handler-DqnngAkl.mjs} +3 -3
  8. package/dist/{connect-BcTkRZ10.mjs → connect-CS6sqNfA.mjs} +1 -1
  9. package/dist/{connect.handler-DilOwhlW.mjs → connect.handler-DRO05ak3.mjs} +1 -1
  10. package/dist/{credentials-BsEHWMBh.mjs → credentials-1CPFwx-k.mjs} +5 -5
  11. package/dist/{current-deployment-workflow-Biw1zV7S.mjs → current-deployment-workflow-CUBHcdZl.mjs} +5 -5
  12. package/dist/{deploy-DVE7Mx_X.mjs → deploy-DwRwyVwR.mjs} +1 -1
  13. package/dist/{deploy-progress-7qj5ek8b.mjs → deploy-progress-DJHph1Fz.mjs} +1 -1
  14. package/dist/{deploy.handler-B3E7uX-x.mjs → deploy.handler-zMb-BHLo.mjs} +9 -9
  15. package/dist/{diff.handler-BMNZ_3J_.mjs → diff.handler-C-XqswH5.mjs} +1 -1
  16. package/dist/{dist-BVD3Ga_l.mjs → dist-FQYQ2FLm.mjs} +3 -3
  17. package/dist/{env.handler-BUBsjm1k.mjs → env.handler-DK3B7MLl.mjs} +3 -3
  18. package/dist/{import-module-DEI7R8Yh-L32hhSoh.mjs → import-module--8x5SLum-DaUNACER.mjs} +2 -2
  19. package/dist/{init-CxMQ2ysa.mjs → init-QhRFud0x.mjs} +1 -1
  20. package/dist/{init.handler-BPKxeGZS.mjs → init.handler-Beu-vpIu.mjs} +40 -9
  21. package/dist/{inspect.handler-CJ7e6iFB.mjs → inspect.handler-ULT2jiVU.mjs} +2 -2
  22. package/dist/{integrations-DUlJhGUS.mjs → integrations-6BiywCph.mjs} +1 -1
  23. package/dist/keystroke.mjs +13 -13
  24. package/dist/{list.handler-DhFni3rk.mjs → list.handler-D-YFoKLU.mjs} +2 -2
  25. package/dist/{list.handler-VGPaJzl-.mjs → list.handler-U9-KuVlh.mjs} +1 -1
  26. package/dist/{list.handler-K3x71Y4Z.mjs → list2.handler-L3BKR5ok.mjs} +4 -4
  27. package/dist/{listen-drcHFcKq.mjs → listen-Tx2SrMyo.mjs} +1 -1
  28. package/dist/{listen.handler-DjK6RlLf.mjs → listen.handler-C7AqsKLf.mjs} +1 -1
  29. package/dist/{logs.handler-PRYGI57p.mjs → logs.handler-BGJU1p3H.mjs} +1 -1
  30. package/dist/{metadata-layout-C6ed-9dl-DCTTsjiG.mjs → metadata-layout-Bv-B0nHj-CqlcZz_g.mjs} +1 -1
  31. package/dist/{project-config-CJGSh2RQ.mjs → project-config-CsBMT4TL.mjs} +1 -13
  32. package/dist/{projects-Pp5ENoyh.mjs → projects-B5MRnbHS.mjs} +2 -2
  33. package/dist/{requirements.handler-CZ53jJ_5.mjs → requirements.handler-D5dFi7XZ.mjs} +2 -2
  34. package/dist/{resolve-project-CI_PxRXi.mjs → resolve-project-CURYMjex.mjs} +1 -1
  35. package/dist/{run-polling-BPmB5N5A.mjs → run-polling-B4KvySvp.mjs} +1 -1
  36. package/dist/{run-polling-7YWCL6c-.mjs → run-polling-BwyyKDwg.mjs} +3 -3
  37. package/dist/{run.handler-BNrAIXDG.mjs → run.handler-TJNyF_p_.mjs} +4 -4
  38. package/dist/{schema-display-B0LmISCe.mjs → schema-display-CNqiYBIb.mjs} +4 -4
  39. package/dist/{source-analysis-DTnwNwKq-BqHdBGtw.mjs → source-analysis-BBg2E_6G-BQqm16RR.mjs} +3 -3
  40. package/dist/{spinner-progress-DpL68vYK.mjs → spinner-progress-DfkMzwGx.mjs} +1 -1
  41. package/dist/spinner-worker.d.mts +3 -0
  42. package/dist/spinner-worker.mjs +203 -0
  43. package/dist/{sync-BSL1s6PR.mjs → sync-BZj7Dkhq.mjs} +1 -1
  44. package/dist/{sync.handler-BN9oDWVx.mjs → sync.handler-Kk4R2lJ_.mjs} +5 -5
  45. package/dist/task-target-deploy-runner.mjs +1 -1
  46. package/dist/test-CJ8Vx_h5.mjs +74 -0
  47. package/dist/{try-deploy.handler-A16ahnCF.mjs → test.handler-BTn4NFmU.mjs} +13 -15
  48. package/dist/{test-BIz-oBxy.mjs → tool.handler-CuxoCstV.mjs} +8 -90
  49. package/dist/{upgrade-f97U8Rll.mjs → upgrade-CdA_Sw4F.mjs} +1 -1
  50. package/dist/{upload.handler-CUtfr3hY.mjs → upload.handler-CpKuAaQ_.mjs} +3 -3
  51. package/dist/{utils-LlH3l_yT.mjs → utils-VC0Vl_pm.mjs} +2 -2
  52. package/dist/{validate.handler-CUP3SjzC.mjs → validate.handler-COJ53qWJ.mjs} +3 -3
  53. package/dist/{workflow-build-C_qkq7jk.mjs → workflow-build-kNNcU-R8.mjs} +12 -12
  54. package/dist/{workflows-ixllXKLo.mjs → workflows-D04CqpO-.mjs} +55 -17
  55. package/dist/{writer-CtvttJdP-BEJHbiLs.mjs → writer-B-SpZ0G2-olEAgSLc.mjs} +5 -5
  56. package/package.json +8 -8
  57. package/dist/options-BsIkm0Bb.mjs +0 -43
  58. /package/dist/{layout-DaoP8bcD.mjs → layout-CXkZEsXI.mjs} +0 -0
  59. /package/dist/{paused.handler-ST9dCe8E.mjs → paused.handler-9ND-i2EN.mjs} +0 -0
  60. /package/dist/{schema-BjH_e4Fo.mjs → schema-O9xTWad_.mjs} +0 -0
  61. /package/dist/{upgrade.handler-CXEF4ue0.mjs → upgrade.handler-C2eZ_tg3.mjs} +0 -0
package/README.md CHANGED
@@ -76,9 +76,9 @@ keystroke --api-key sk_... --server-url https://api.example.com workflows list
76
76
  | `keystroke auth` | Sign in, inspect, test, or clear local CLI credentials. |
77
77
  | `keystroke init` | Create a Keystroke project and scaffold starter files. |
78
78
  | `keystroke deploy` | Build and deploy the current project snapshot. |
79
- | `keystroke workflows` | List, build, inspect, validate, diff, test, and read workflow logs. |
79
+ | `keystroke workflows` | List, build, inspect, validate, diff, test, run, and read workflow logs. |
80
80
  | `keystroke agents inspect` | Inspect built agent manifests and workflow-tool metadata. |
81
- | `keystroke test` | Test workflows and agent-callable tools. |
81
+ | `keystroke test` | Test agent-callable tools. |
82
82
  | `keystroke connect` | Connect official integrations through OAuth. |
83
83
  | `keystroke listen` | Create a temporary URL and print the first captured request body. |
84
84
  | `keystroke integrations` | List available integrations and registration metadata. |
@@ -133,7 +133,7 @@ keystroke deploy --diff --path ./my-automation
133
133
  Test a workflow or agent tool:
134
134
 
135
135
  ```bash
136
- keystroke test workflow <workflow-id-or-name> --input '{"example":true}'
136
+ keystroke workflows test <workflow-id-or-name> --input '{"example":true}'
137
137
  keystroke test tool <tool-name> --agent <agent-id-or-name> --input-file ./input.json
138
138
  ```
139
139
 
@@ -4,11 +4,11 @@ import { N as throwReportedCliExit, f as ANSI, n as ui, p as style, x as toError
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
5
  import { i as writeJson, n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
6
6
  import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
7
- import { i as readAgentManifestsFromOutDir } from "./dist-BVD3Ga_l.mjs";
8
- import { t as requireWorkflowsDir } from "./resolve-project-CI_PxRXi.mjs";
9
- import { t as createSpinnerProgress } from "./spinner-progress-DpL68vYK.mjs";
10
- import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-C_qkq7jk.mjs";
11
- import { i as resolveTypeHint } from "./schema-display-B0LmISCe.mjs";
7
+ import { i as readAgentManifestsFromOutDir } from "./dist-FQYQ2FLm.mjs";
8
+ import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
9
+ import { t as createSpinnerProgress } from "./spinner-progress-DfkMzwGx.mjs";
10
+ import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-kNNcU-R8.mjs";
11
+ import { i as resolveTypeHint } from "./schema-display-CNqiYBIb.mjs";
12
12
  import { z } from "zod";
13
13
  //#region src/commands/agents/inspect-display.ts
14
14
  function renderAgentManifestInspect(manifest, options = {}) {
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as CredentialConnectionIdSchema, r as CredentialScopeSchema, t as ConnectionStatusSchema } from "./schema-BjH_e4Fo.mjs";
3
+ import { n as CredentialConnectionIdSchema, r as CredentialScopeSchema, t as ConnectionStatusSchema } from "./schema-O9xTWad_.mjs";
4
4
  import { z } from "zod";
5
5
  //#region ../../packages/shared-types/src/connections/api.ts
6
6
  /**
@@ -2,15 +2,15 @@
2
2
 
3
3
  import { i as __toESM } from "./chunk-CH6r78ws.mjs";
4
4
  import { n as FileMetadataSchema, t as FILE_METADATA_SCHEMA_VERSION } from "./file-metadata-DaPPpiTh.mjs";
5
- import { d as getMetadataRoot, l as createMetadataOutputFile, n as BUILD_OUTPUT_DIR_NAME, u as getFileMetadataPath } from "./layout-DaoP8bcD.mjs";
6
- import { l as require_out, s as sha256String, t as BASE_IGNORE_PATTERNS } from "./metadata-layout-C6ed-9dl-DCTTsjiG.mjs";
5
+ import { d as getMetadataRoot, l as createMetadataOutputFile, n as BUILD_OUTPUT_DIR_NAME, u as getFileMetadataPath } from "./layout-CXkZEsXI.mjs";
6
+ import { l as require_out, s as sha256String, t as BASE_IGNORE_PATTERNS } from "./metadata-layout-Bv-B0nHj-CqlcZz_g.mjs";
7
7
  import { a as literalString, c as readStringProperty, i as literalNumber, l as unwrapExpression, n as identifierName, o as parseSourceFile, r as isNode, s as readPropertyValue, t as getFirstObjectArgument, u as visitNode } from "./oxc-B3KI3rf_-DdiZWqe2.mjs";
8
- import { a as getLocalModuleSpecifier, f as resolveLocalModulePath, l as removeEmptyMetadataDirectories, o as getVariableDeclarators, s as isExportedVariableStatement } from "./source-analysis-DTnwNwKq-BqHdBGtw.mjs";
8
+ import { a as getLocalModuleSpecifier, f as resolveLocalModulePath, l as removeEmptyMetadataDirectories, o as getVariableDeclarators, s as isExportedVariableStatement } from "./source-analysis-BBg2E_6G-BQqm16RR.mjs";
9
9
  import { n as parseRelativeFilePath, r as toRelativeFilePath, t as normalizeRelativeFilePath } from "./normalize-path-CojS-CgQ-DFTvyA27.mjs";
10
10
  import { mkdir, readFile, rm, stat, writeFile } from "node:fs/promises";
11
11
  import path from "node:path";
12
12
  import { performance } from "node:perf_hooks";
13
- //#region ../../packages/workflow-builder/dist/build-metadata-qebrtraZ.mjs
13
+ //#region ../../packages/workflow-builder/dist/build-metadata-C8Ra_Gi-.mjs
14
14
  var import_out = /* @__PURE__ */ __toESM(require_out(), 1);
15
15
  const IGNORED_IDENTIFIERS = new Set([
16
16
  "undefined",
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { u as logger } from "./keystroke.mjs";
4
- import { n as formatProgressDuration, t as createSpinnerProgress } from "./spinner-progress-DpL68vYK.mjs";
4
+ import { n as formatProgressDuration, t as createSpinnerProgress } from "./spinner-progress-DfkMzwGx.mjs";
5
5
  //#region src/lib/build-progress.ts
6
6
  const NEW_STAGE_LABELS = {
7
7
  start: "Starting build",
@@ -2,9 +2,9 @@
2
2
 
3
3
  import { f as deduplicateCredentialRequirementEntries } from "./credential-requirements-FtBk5JVB.mjs";
4
4
  import { r as WorkflowBuildManifestSchema, t as WORKFLOW_MANIFEST_GENERATOR } from "./workflow-build-manifest-OPFqFD6f.mjs";
5
- import { a as MANIFEST_FILE_NAME, i as FLOW_FILE_NAME, r as BUNDLE_FILE_NAME, s as SOURCE_MAP_FILE_NAME, t as BUILD_DIR_NAME } from "./layout-DaoP8bcD.mjs";
5
+ import { a as MANIFEST_FILE_NAME, i as FLOW_FILE_NAME, r as BUNDLE_FILE_NAME, s as SOURCE_MAP_FILE_NAME, t as BUILD_DIR_NAME } from "./layout-CXkZEsXI.mjs";
6
6
  import { t as runWithConcurrency } from "./concurrency-gXn9Rw8x-BI6HQNfC.mjs";
7
- import { n as WorkflowLoaderProtocolError, r as WorkflowMetadataLoadError, s as createLoaderProtocolFailure } from "./import-module-DEI7R8Yh-L32hhSoh.mjs";
7
+ import { n as WorkflowLoaderProtocolError, r as WorkflowMetadataLoadError, s as createLoaderProtocolFailure } from "./import-module--8x5SLum-DaUNACER.mjs";
8
8
  import { r as toRelativeFilePath } from "./normalize-path-CojS-CgQ-DFTvyA27.mjs";
9
9
  import { n as bundleWorkflowTarget } from "./workflow-bundler-BzHk73PM-CRcJvu9a.mjs";
10
10
  import { t as buildTriggerArtifacts } from "./trigger-artifacts-RizI57RC-abdkW8-z.mjs";
@@ -13,7 +13,7 @@ import { readFile } from "node:fs/promises";
13
13
  import * as path$1 from "node:path";
14
14
  import { createHash } from "node:crypto";
15
15
  import { performance } from "node:perf_hooks";
16
- //#region ../../packages/workflow-builder/dist/build-workflows-Dmzay1vP.mjs
16
+ //#region ../../packages/workflow-builder/dist/build-workflows-CV4tBo6S.mjs
17
17
  /**
18
18
  * Resolves and categorizes all dependencies for a workflow manifest.
19
19
  * - Local files: relative paths with SHA256 content hashes
@@ -2,9 +2,9 @@
2
2
 
3
3
  import { k as CliExitError } from "./keystroke.mjs";
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { t as requireWorkflowsDir } from "./resolve-project-CI_PxRXi.mjs";
6
- import { a as runWorkflowBuild, i as renderBuildSummary, n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-C_qkq7jk.mjs";
7
- import { t as createBuildProgress } from "./build-progress-BataNqG-.mjs";
5
+ import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
6
+ import { a as runWorkflowBuild, i as renderBuildSummary, n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-kNNcU-R8.mjs";
7
+ import { t as createBuildProgress } from "./build-progress-BZivcVz4.mjs";
8
8
  import { t as withErrorBoundary } from "./error-boundary-CyLcinp1.mjs";
9
9
  //#region src/commands/workflows/build.handler.ts
10
10
  async function handleWorkflowsBuild(options, _ctx) {
@@ -37,7 +37,7 @@ function createConnectCommand() {
37
37
  description: "Connect an official integration via OAuth (e.g., keystroke connect slack)",
38
38
  schema: ConnectOptionsSchema,
39
39
  optionsConfig: CONNECT_OPTIONS_CONFIG,
40
- loadHandler: async () => (await import("./connect.handler-DilOwhlW.mjs")).handleConnect,
40
+ loadHandler: async () => (await import("./connect.handler-DRO05ak3.mjs")).handleConnect,
41
41
  argument: {
42
42
  name: "integrationId",
43
43
  description: "Integration to connect (e.g., slack, linear)",
@@ -3,7 +3,7 @@
3
3
  import { N as throwReportedCliExit, b as isNetworkError, h as AUTH_HINT, n as ui, x as toErrorMessage } from "./keystroke.mjs";
4
4
  import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
5
  import { t as openBrowser } from "./browser-3cUiPlk2.mjs";
6
- import { i as InitiateConnectionResponseSchema, n as ConnectionStatusResponseSchema, r as InitiateConnectionRequestSchema } from "./api-Sf7A0I5T.mjs";
6
+ import { i as InitiateConnectionResponseSchema, n as ConnectionStatusResponseSchema, r as InitiateConnectionRequestSchema } from "./api-jkf0TTgD.mjs";
7
7
  import { t as getIntegrationCatalog } from "./integration-catalog-BgT4mLzW.mjs";
8
8
  //#region src/commands/connect/connect.handler.ts
9
9
  function formatIntegrationLabel(catalog, integrationId) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
4
4
  import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
5
- import { i as CredentialScopeValues, r as CredentialScopeSchema } from "./schema-BjH_e4Fo.mjs";
5
+ import { i as CredentialScopeValues, r as CredentialScopeSchema } from "./schema-O9xTWad_.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/commands/credentials/list/list.command.ts
8
8
  const ListOptionsSchema = JsonOptionSchema.extend({
@@ -46,7 +46,7 @@ function createCredentialsListCommand() {
46
46
  description: "List credential sets on the server",
47
47
  schema: ListOptionsSchema,
48
48
  optionsConfig: LIST_OPTIONS_CONFIG,
49
- loadHandler: async () => (await import("./list.handler-DhFni3rk.mjs")).handleCredentialsList
49
+ loadHandler: async () => (await import("./list.handler-D-YFoKLU.mjs")).handleCredentialsList
50
50
  });
51
51
  }
52
52
  //#endregion
@@ -65,7 +65,7 @@ function createCredentialsRequirementsCommand() {
65
65
  description: "Show what credentials built workflows need (keys, KEYSTROKE_* env names, workflows) — from dist manifests, no API call",
66
66
  schema: RequirementsOptionsSchema,
67
67
  optionsConfig: REQUIREMENTS_OPTIONS_CONFIG,
68
- loadHandler: async () => (await import("./requirements.handler-CZ53jJ_5.mjs")).handleCredentialsRequirements
68
+ loadHandler: async () => (await import("./requirements.handler-D5dFi7XZ.mjs")).handleCredentialsRequirements
69
69
  });
70
70
  }
71
71
  //#endregion
@@ -126,7 +126,7 @@ function createCredentialsUploadCommand() {
126
126
  description: "Upload credentials from env vars to the server. Default: reads requirements from built workflow manifests. Use --integration for an official integration or --credential-set + --keys for a custom explicit upload.",
127
127
  schema: UploadOptionsSchema,
128
128
  optionsConfig: UPLOAD_OPTIONS_CONFIG,
129
- loadHandler: async () => (await import("./upload.handler-CUtfr3hY.mjs")).handleCredentialsUpload
129
+ loadHandler: async () => (await import("./upload.handler-CpKuAaQ_.mjs")).handleCredentialsUpload
130
130
  });
131
131
  }
132
132
  //#endregion
@@ -157,7 +157,7 @@ function createCredentialsCommand() {
157
157
  }
158
158
  },
159
159
  handler: async (opts, ctx) => {
160
- const { handleCredentialsList } = await import("./list.handler-DhFni3rk.mjs");
160
+ const { handleCredentialsList } = await import("./list.handler-D-YFoKLU.mjs");
161
161
  await handleCredentialsList({
162
162
  ...opts,
163
163
  scope: void 0,
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { M as WorkflowResolutionError, _ as getApiErrorCode, n as ui, v as getHttpStatus } from "./keystroke.mjs";
4
- import { t as assertWorkflowProjectRoot } from "./project-config-CJGSh2RQ.mjs";
5
- import { a as readManifestsFromOutDir } from "./dist-BVD3Ga_l.mjs";
6
- import { t as requireWorkflowsDir } from "./resolve-project-CI_PxRXi.mjs";
7
- import { t as createSpinnerProgress } from "./spinner-progress-DpL68vYK.mjs";
8
- import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-C_qkq7jk.mjs";
4
+ import { t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
5
+ import { a as readManifestsFromOutDir } from "./dist-FQYQ2FLm.mjs";
6
+ import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
7
+ import { t as createSpinnerProgress } from "./spinner-progress-DfkMzwGx.mjs";
8
+ import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-kNNcU-R8.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
@@ -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-B3E7uX-x.mjs")).handleDeploy
67
+ loadHandler: async () => (await import("./deploy.handler-zMb-BHLo.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 { n as ui } from "./keystroke.mjs";
4
- import { t as createSpinnerProgress } from "./spinner-progress-DpL68vYK.mjs";
4
+ import { t as createSpinnerProgress } from "./spinner-progress-DfkMzwGx.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);
@@ -2,15 +2,15 @@
2
2
 
3
3
  import { f as ANSI, k as CliExitError, n as ui, o as isLocalMode, p as style, u as logger } from "./keystroke.mjs";
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { t as assertWorkflowProjectRoot } from "./project-config-CJGSh2RQ.mjs";
5
+ import { t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
6
6
  import { r as requireAuthOptions, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B1L8pZsH.mjs";
7
- import { i as readAgentManifestsFromOutDir, o as readWorkflowsFromDisk } from "./dist-BVD3Ga_l.mjs";
8
- import { t as requireWorkflowsDir } from "./resolve-project-CI_PxRXi.mjs";
9
- import { n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-C_qkq7jk.mjs";
10
- import { t as createBuildProgress } from "./build-progress-BataNqG-.mjs";
11
- import { t as createDeployProgress } from "./deploy-progress-7qj5ek8b.mjs";
7
+ import { i as readAgentManifestsFromOutDir, o as readWorkflowsFromDisk } from "./dist-FQYQ2FLm.mjs";
8
+ import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
9
+ import { n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-kNNcU-R8.mjs";
10
+ import { t as createBuildProgress } from "./build-progress-BZivcVz4.mjs";
11
+ import { t as createDeployProgress } from "./deploy-progress-DJHph1Fz.mjs";
12
12
  import { t as withErrorBoundary } from "./error-boundary-CyLcinp1.mjs";
13
- import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-Biw1zV7S.mjs";
13
+ import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-CUBHcdZl.mjs";
14
14
  import { t as computeWorkflowDiff } from "./diff-utils-4OQTpP5s.mjs";
15
15
  import { access } from "node:fs/promises";
16
16
  import path from "node:path";
@@ -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-C_qkq7jk.mjs").then((n) => n.o);
201
+ const { runWorkflowBuild } = await import("./workflow-build-kNNcU-R8.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-BVD3Ga_l.mjs").then((n) => n.r)).deployFromDir)({
236
+ result = await (deployHandlerDependencies.deployFromDir ?? (await import("./dist-FQYQ2FLm.mjs").then((n) => n.r)).deployFromDir)({
237
237
  outDir,
238
238
  workflowsDir,
239
239
  client,
@@ -4,7 +4,7 @@ import { N as throwReportedCliExit, k as CliExitError, n as ui, x as toErrorMess
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
5
  import { i as writeJson } from "./output-CGdYhH0p.mjs";
6
6
  import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B1L8pZsH.mjs";
7
- import { n as resolveLocalWorkflowManifest, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-Biw1zV7S.mjs";
7
+ import { n as resolveLocalWorkflowManifest, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-CUBHcdZl.mjs";
8
8
  import { n as renderDiff, t as computeWorkflowDiff } from "./diff-utils-4OQTpP5s.mjs";
9
9
  //#region src/commands/workflows/diff/diff.handler.ts
10
10
  async function handleWorkflowsDiff(options, ctx) {
@@ -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 assertWorkflowProjectRoot } from "./project-config-CJGSh2RQ.mjs";
4
+ import { t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
5
5
  import { n as SHA256HashSchema } from "./common-BaGFkj3n.mjs";
6
6
  import { c as TriggerUploadDataSchema, d as collectCredentialRequirementEntries } from "./credential-requirements-FtBk5JVB.mjs";
7
7
  import { a as FlowGraphSchema, r as WorkflowBuildManifestSchema } from "./workflow-build-manifest-OPFqFD6f.mjs";
@@ -9,8 +9,8 @@ import { t as AgentVersionManifestSchema } from "./agent-manifest-CZdlCTFs.mjs";
9
9
  import { n as TaskBuildManifestSchema } from "./task-BNXDZU71.mjs";
10
10
  import { n as FileMetadataSchema } from "./file-metadata-DaPPpiTh.mjs";
11
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-DaoP8bcD.mjs";
13
- import { n as resolveProjectBuildOutputDir } from "./utils-LlH3l_yT.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
14
  import { t as TriggerBuildManifestSchema } from "./trigger-manifest-PTjVYL1r.mjs";
15
15
  import { t as batchUpload } from "./upload-wwSPAC5_.mjs";
16
16
  import { createReadStream } from "node:fs";
@@ -4,9 +4,9 @@ import { N as throwReportedCliExit, b as isNetworkError, f as ANSI, g as REAUTH_
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
5
  import { i as writeJson } from "./output-CGdYhH0p.mjs";
6
6
  import { i as requireClient } from "./context-B1L8pZsH.mjs";
7
- import { n as CredentialConnectionIdSchema, r as CredentialScopeSchema, t as ConnectionStatusSchema } from "./schema-BjH_e4Fo.mjs";
8
- import { a as readManifestsFromOutDir } from "./dist-BVD3Ga_l.mjs";
9
- import { t as requireWorkflowsDir } from "./resolve-project-CI_PxRXi.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
10
  import { t as getIntegrationCatalog } from "./integration-catalog-BgT4mLzW.mjs";
11
11
  import { t as groupCredentialRequirements } from "./credentials-CiOwDS5y.mjs";
12
12
  import { z } from "zod";
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as findProjectRoot } from "./project-config-CJGSh2RQ.mjs";
3
+ import { n as findProjectRoot } from "./project-config-CsBMT4TL.mjs";
4
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
5
  import { n as DeclaredCredentialRequirementSchema } from "./credential-requirements-FtBk5JVB.mjs";
6
6
  import { a as FlowGraphSchema, i as WorkflowCoreManifestSchema, n as WORKFLOW_MANIFEST_SCHEMA_VERSION } from "./workflow-build-manifest-OPFqFD6f.mjs";
@@ -1037,7 +1037,7 @@ const webhookTriggerManifestSchema = z.object({
1037
1037
  });
1038
1038
  z.unknown();
1039
1039
  //#endregion
1040
- //#region ../../packages/workflow-builder/dist/import-module-DEI7R8Yh.mjs
1040
+ //#region ../../packages/workflow-builder/dist/import-module--8x5SLum.mjs
1041
1041
  var DiscoveryError = class extends Error {
1042
1042
  code;
1043
1043
  filePath;
@@ -33,7 +33,7 @@ function createInitCommand() {
33
33
  description: "Initialize a Keystroke project (creates keystroke.config.ts)",
34
34
  schema: InitOptionsSchema,
35
35
  optionsConfig: INIT_OPTIONS_CONFIG,
36
- loadHandler: async () => (await import("./init.handler-BPKxeGZS.mjs")).handleInit
36
+ loadHandler: async () => (await import("./init.handler-Beu-vpIu.mjs")).handleInit
37
37
  });
38
38
  }
39
39
  //#endregion
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { k as CliExitError, n as ui, t as fetchLatestNpmPackageVersion } from "./keystroke.mjs";
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
- import { a as writeProjectConfig, i as readProjectConfig, r as getProjectConfigPath } from "./project-config-CJGSh2RQ.mjs";
5
+ import { a as writeProjectConfig, i as readProjectConfig, r as getProjectConfigPath } from "./project-config-CsBMT4TL.mjs";
6
6
  import { i as requireClient } from "./context-B1L8pZsH.mjs";
7
7
  import { t as syncKeystrokeAgentSkills } from "./sync-keystroke-agent-skills-ChUj1LnK.mjs";
8
8
  import { createRequire } from "node:module";
@@ -14,6 +14,7 @@ import { fileURLToPath } from "node:url";
14
14
  import { cancel, isCancel, text } from "@clack/prompts";
15
15
  //#region src/lib/keystroke-scaffold-version-ranges.ts
16
16
  const WORKFLOW_CORE_PACKAGE_NAME = "@keystrokehq/core";
17
+ const CONFIG_PACKAGE_NAME = "@keystrokehq/config";
17
18
  const FALLBACK_WORKFLOW_CORE_VERSION_RANGE = "latest";
18
19
  const DEFAULT_TIMEOUT_MS = 750;
19
20
  /**
@@ -21,12 +22,26 @@ const DEFAULT_TIMEOUT_MS = 750;
21
22
  * `@keystrokehq/core` version so new projects start with current primitives.
22
23
  */
23
24
  async function workflowCoreScaffoldVersionRange(options = {}) {
24
- const latestVersion = await fetchLatestNpmPackageVersion({
25
+ return packageScaffoldVersionRange({
25
26
  packageName: WORKFLOW_CORE_PACKAGE_NAME,
27
+ timeoutMs: options.timeoutMs,
28
+ readLocalVersion: options.readLocalCoreVersion ?? readLocalWorkflowCoreVersion
29
+ });
30
+ }
31
+ async function configScaffoldVersionRange(options = {}) {
32
+ return packageScaffoldVersionRange({
33
+ packageName: CONFIG_PACKAGE_NAME,
34
+ timeoutMs: options.timeoutMs,
35
+ readLocalVersion: options.readLocalConfigVersion ?? readLocalConfigVersion
36
+ });
37
+ }
38
+ async function packageScaffoldVersionRange(options) {
39
+ const latestVersion = await fetchLatestNpmPackageVersion({
40
+ packageName: options.packageName,
26
41
  timeoutMs: options.timeoutMs ?? DEFAULT_TIMEOUT_MS
27
42
  });
28
43
  if (latestVersion) return `^${latestVersion}`;
29
- const localVersion = (options.readLocalCoreVersion ?? readLocalWorkflowCoreVersion)();
44
+ const localVersion = options.readLocalVersion();
30
45
  if (localVersion) return `^${localVersion}`;
31
46
  return FALLBACK_WORKFLOW_CORE_VERSION_RANGE;
32
47
  }
@@ -38,6 +53,14 @@ function readLocalWorkflowCoreVersion() {
38
53
  } catch {}
39
54
  return null;
40
55
  }
56
+ function readLocalConfigVersion() {
57
+ try {
58
+ const raw = readFileSync(createRequire(import.meta.url).resolve(`${CONFIG_PACKAGE_NAME}/package.json`), "utf-8");
59
+ const version = JSON.parse(raw).version?.trim();
60
+ if (version) return version;
61
+ } catch {}
62
+ return null;
63
+ }
41
64
  //#endregion
42
65
  //#region src/commands/init/agents-md.ts
43
66
  const AGENTS_FILENAME = "AGENTS.md";
@@ -231,6 +254,7 @@ function createPackageJsonContent(projectName, options) {
231
254
  lint: "biome check ."
232
255
  },
233
256
  dependencies: {
257
+ "@keystrokehq/config": options.configVersionRange,
234
258
  "@keystrokehq/core": options.workflowCoreVersionRange,
235
259
  zod: "^4.3.6"
236
260
  },
@@ -337,12 +361,13 @@ async function promptProjectDescription(options) {
337
361
  const t = typeof answer === "string" ? answer.trim() : "";
338
362
  return t.length > 0 ? t : void 0;
339
363
  }
340
- async function ensureScaffoldPackageJson(targetDir, projectName, workflowCoreRange) {
364
+ async function ensureScaffoldPackageJson(targetDir, projectName, workflowCoreRange, configRange) {
341
365
  const pkgPath = path.join(targetDir, "package.json");
342
366
  try {
343
367
  const raw = await readFile(pkgPath, "utf-8");
344
368
  const pkg = JSON.parse(raw);
345
369
  pkg.dependencies = pkg.dependencies ?? {};
370
+ pkg.dependencies["@keystrokehq/config"] = configRange;
346
371
  pkg.dependencies["@keystrokehq/core"] = workflowCoreRange;
347
372
  pkg.dependencies.zod = pkg.dependencies.zod ?? "^4.3.6";
348
373
  pkg.devDependencies = pkg.devDependencies ?? {};
@@ -352,7 +377,10 @@ async function ensureScaffoldPackageJson(targetDir, projectName, workflowCoreRan
352
377
  await writeFile(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`, "utf-8");
353
378
  return "updated";
354
379
  } catch {
355
- await writeFile(pkgPath, `${createPackageJsonContent(projectName, { workflowCoreVersionRange: workflowCoreRange })}\n`, "utf-8");
380
+ await writeFile(pkgPath, `${createPackageJsonContent(projectName, {
381
+ configVersionRange: configRange,
382
+ workflowCoreVersionRange: workflowCoreRange
383
+ })}\n`, "utf-8");
356
384
  return "created";
357
385
  }
358
386
  }
@@ -407,7 +435,10 @@ async function handleInit(options, ctx) {
407
435
  const agentsAction = await ensureAgentsMarkdown(targetDir, await loadKeystrokeAgentsBlurb());
408
436
  if (agentsAction === "created") ui.success("Created AGENTS.md with Keystroke project guidance.");
409
437
  else if (agentsAction === "updated") ui.success("Updated AGENTS.md with Keystroke project guidance.");
410
- if (options.scaffold) await scaffoldProject(targetDir, projectName, await workflowCoreScaffoldVersionRange());
438
+ if (options.scaffold) {
439
+ const [workflowCoreVersionRange, configVersionRange] = await Promise.all([workflowCoreScaffoldVersionRange(), configScaffoldVersionRange()]);
440
+ await scaffoldProject(targetDir, projectName, workflowCoreVersionRange, configVersionRange);
441
+ }
411
442
  }
412
443
  /** Write a file only if it does not already exist. Returns true if written. */
413
444
  async function writeIfMissing(filePath, content) {
@@ -425,9 +456,9 @@ async function trySyncAgentSkillsAfterScaffold(targetDir) {
425
456
  else if (syncResult.reason === "not_installed") ui.hint("After install completes, run `keystroke skills sync` to copy @keystrokehq/skills for Cursor / Claude Code.");
426
457
  else ui.warn(`@keystrokehq/skills is installed at ${syncResult.packageRoot} but no skill directories with SKILL.md were found.`);
427
458
  }
428
- async function scaffoldProject(targetDir, projectName, workflowCoreVersionRange) {
429
- const pkgAction = await ensureScaffoldPackageJson(targetDir, projectName, workflowCoreVersionRange);
430
- ui.success(pkgAction === "created" ? `Created package.json (@keystrokehq/core ${workflowCoreVersionRange})` : `Updated package.json (Keystroke deps -> core ${workflowCoreVersionRange})`);
459
+ async function scaffoldProject(targetDir, projectName, workflowCoreVersionRange, configVersionRange) {
460
+ const pkgAction = await ensureScaffoldPackageJson(targetDir, projectName, workflowCoreVersionRange, configVersionRange);
461
+ ui.success(pkgAction === "created" ? `Created package.json (@keystrokehq/core ${workflowCoreVersionRange}, @keystrokehq/config ${configVersionRange})` : `Updated package.json (Keystroke deps -> core ${workflowCoreVersionRange}, config ${configVersionRange})`);
431
462
  const files = [
432
463
  {
433
464
  rel: "vitest.config.ts",
@@ -4,8 +4,8 @@ import { N as throwReportedCliExit, f as ANSI, n as ui, p as style, x as toError
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
5
  import { i as writeJson } from "./output-CGdYhH0p.mjs";
6
6
  import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B1L8pZsH.mjs";
7
- import { i as resolveTypeHint } from "./schema-display-B0LmISCe.mjs";
8
- import { n as resolveLocalWorkflowManifest, r as resolveProjectContext, t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-Biw1zV7S.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-CUBHcdZl.mjs";
9
9
  import dayjs from "dayjs";
10
10
  //#region src/commands/workflows/inspect/inspect-display.ts
11
11
  function formatBuildTimestamp(iso) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
4
4
  import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
5
- import { t as ConnectionKindValues } from "./api-Sf7A0I5T.mjs";
5
+ import { t as ConnectionKindValues } from "./api-jkf0TTgD.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/commands/integrations/integrations.command.ts
8
8
  const IntegrationsListOptionsSchema = JsonOptionSchema.extend({
@@ -13,7 +13,7 @@ import { config } from "dotenv";
13
13
  import { z } from "zod";
14
14
  import { log } from "@clack/prompts";
15
15
  //#region package.json
16
- var version = "0.0.14";
16
+ var version = "0.0.15";
17
17
  //#endregion
18
18
  //#region src/command-registry.ts
19
19
  const ROOT_OPTIONS_WITH_VALUES$1 = new Set([
@@ -25,7 +25,7 @@ const ROOT_VERSION_FLAGS = new Set(["-V", "--version"]);
25
25
  const lazyCommandDefinitions = [
26
26
  {
27
27
  name: "agents",
28
- loadCommand: async () => (await import("./agents-BdzwXAI1.mjs")).createAgentsCommand()
28
+ loadCommand: async () => (await import("./agents-CWGz8CR-.mjs")).createAgentsCommand()
29
29
  },
30
30
  {
31
31
  name: "admin",
@@ -41,11 +41,11 @@ const lazyCommandDefinitions = [
41
41
  },
42
42
  {
43
43
  name: "connect",
44
- loadCommand: async () => (await import("./connect-BcTkRZ10.mjs")).createConnectCommand()
44
+ loadCommand: async () => (await import("./connect-CS6sqNfA.mjs")).createConnectCommand()
45
45
  },
46
46
  {
47
47
  name: "credentials",
48
- loadCommand: async () => (await import("./credentials-BsEHWMBh.mjs")).createCredentialsCommand(),
48
+ loadCommand: async () => (await import("./credentials-1CPFwx-k.mjs")).createCredentialsCommand(),
49
49
  copyInheritedSettings: true
50
50
  },
51
51
  {
@@ -54,15 +54,15 @@ const lazyCommandDefinitions = [
54
54
  },
55
55
  {
56
56
  name: "deploy",
57
- loadCommand: async () => (await import("./deploy-DVE7Mx_X.mjs")).createDeployCommand()
57
+ loadCommand: async () => (await import("./deploy-DwRwyVwR.mjs")).createDeployCommand()
58
58
  },
59
59
  {
60
60
  name: "init",
61
- loadCommand: async () => (await import("./init-CxMQ2ysa.mjs")).createInitCommand()
61
+ loadCommand: async () => (await import("./init-QhRFud0x.mjs")).createInitCommand()
62
62
  },
63
63
  {
64
64
  name: "integrations",
65
- loadCommand: async () => (await import("./integrations-DUlJhGUS.mjs")).createIntegrationsCommand()
65
+ loadCommand: async () => (await import("./integrations-6BiywCph.mjs")).createIntegrationsCommand()
66
66
  },
67
67
  {
68
68
  name: "invites",
@@ -74,11 +74,11 @@ const lazyCommandDefinitions = [
74
74
  },
75
75
  {
76
76
  name: "listen",
77
- loadCommand: async () => (await import("./listen-drcHFcKq.mjs")).createListenCommand()
77
+ loadCommand: async () => (await import("./listen-Tx2SrMyo.mjs")).createListenCommand()
78
78
  },
79
79
  {
80
80
  name: "projects",
81
- loadCommand: async () => (await import("./projects-Pp5ENoyh.mjs")).createProjectsCommand()
81
+ loadCommand: async () => (await import("./projects-B5MRnbHS.mjs")).createProjectsCommand()
82
82
  },
83
83
  {
84
84
  name: "runs",
@@ -90,19 +90,19 @@ const lazyCommandDefinitions = [
90
90
  },
91
91
  {
92
92
  name: "sync",
93
- loadCommand: async () => (await import("./sync-BSL1s6PR.mjs")).createSyncCommand()
93
+ loadCommand: async () => (await import("./sync-BZj7Dkhq.mjs")).createSyncCommand()
94
94
  },
95
95
  {
96
96
  name: "test",
97
- loadCommand: async () => (await import("./test-BIz-oBxy.mjs")).createTestCommand()
97
+ loadCommand: async () => (await import("./test-CJ8Vx_h5.mjs")).createTestCommand()
98
98
  },
99
99
  {
100
100
  name: "upgrade",
101
- loadCommand: async () => (await import("./upgrade-f97U8Rll.mjs")).createUpgradeCommand()
101
+ loadCommand: async () => (await import("./upgrade-CdA_Sw4F.mjs")).createUpgradeCommand()
102
102
  },
103
103
  {
104
104
  name: "workflows",
105
- loadCommand: async () => (await import("./workflows-ixllXKLo.mjs")).createWorkflowsCommand()
105
+ loadCommand: async () => (await import("./workflows-D04CqpO-.mjs")).createWorkflowsCommand()
106
106
  }
107
107
  ];
108
108
  function selectCommandRegistration(argv, commandNames = new Set(lazyCommandDefinitions.map((definition) => definition.name))) {
@@ -3,8 +3,8 @@
3
3
  import { N as throwReportedCliExit, a as getProcessEnv, n as ui } from "./keystroke.mjs";
4
4
  import { i as writeJson } from "./output-CGdYhH0p.mjs";
5
5
  import { i as requireClient } from "./context-B1L8pZsH.mjs";
6
- import { a as readManifestsFromOutDir } from "./dist-BVD3Ga_l.mjs";
7
- import { n as resolveWorkflowsDir } from "./resolve-project-CI_PxRXi.mjs";
6
+ import { a as readManifestsFromOutDir } from "./dist-FQYQ2FLm.mjs";
7
+ import { n as resolveWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
8
8
  import { t as readCredentialEnvMap } from "./credential-env-map-B2nVJXPn.mjs";
9
9
  import { a as loadProjectDotenvFile, i as enrichServerCredentialRow, l as renderCredentialListBlocks, n as buildSyntheticNotOnServerRows, r as collectMergedManifestGroups, t as buildCredentialWorkflowConsumersByGroup } from "./list-enrichment-C6u5eI0j.mjs";
10
10
  import dayjs from "dayjs";
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { f as ANSI, n as ui, p as style } from "./keystroke.mjs";
4
4
  import { s as readStoredProjects } from "./dist-BF6r1hfv.mjs";
5
- import { i as readProjectConfig } from "./project-config-CJGSh2RQ.mjs";
5
+ import { i as readProjectConfig } from "./project-config-CsBMT4TL.mjs";
6
6
  import { i as writeJson } from "./output-CGdYhH0p.mjs";
7
7
  import { access } from "node:fs/promises";
8
8
  import Table from "cli-table3";
@@ -3,16 +3,16 @@
3
3
  import { N as throwReportedCliExit, f as ANSI, n as ui, p as style } from "./keystroke.mjs";
4
4
  import { d as trackProject } from "./dist-BF6r1hfv.mjs";
5
5
  import { i as writeJson } from "./output-CGdYhH0p.mjs";
6
- import { t as requireWorkflowsDir } from "./resolve-project-CI_PxRXi.mjs";
7
- import { t as createSpinnerProgress } from "./spinner-progress-DpL68vYK.mjs";
8
- import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-C_qkq7jk.mjs";
6
+ import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
7
+ import { t as createSpinnerProgress } from "./spinner-progress-DfkMzwGx.mjs";
8
+ import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-kNNcU-R8.mjs";
9
9
  //#region src/commands/workflows/list.handler.ts
10
10
  function formatWorkflow(artifact) {
11
11
  const name = style(artifact.manifest.name, `${ANSI.bold}${ANSI.cyan}`);
12
12
  const filePath = style(artifact.workflow.resolvedFilePath, ANSI.dim);
13
13
  const lines = [` ${name}`, ` ${filePath}`];
14
14
  if (artifact.manifest.description) lines.push(` ${artifact.manifest.description}`);
15
- lines.push(` ${style(`$ keystroke workflows try-deploy "${artifact.manifest.name}"`, ANSI.dim)}`);
15
+ lines.push(` ${style(`$ keystroke workflows test "${artifact.manifest.name}"`, ANSI.dim)}`);
16
16
  return lines.join("\n");
17
17
  }
18
18
  async function handleWorkflowsList(options, ctx) {
@@ -18,7 +18,7 @@ function createListenCommand() {
18
18
  description: "Listen for one incoming request and print its body",
19
19
  schema: ListenOptionsSchema,
20
20
  optionsConfig: LISTEN_OPTIONS_CONFIG,
21
- loadHandler: async () => (await import("./listen.handler-DjK6RlLf.mjs")).handleListen
21
+ loadHandler: async () => (await import("./listen.handler-C7AqsKLf.mjs")).handleListen
22
22
  });
23
23
  }
24
24
  //#endregion