@keystrokehq/cli 0.0.14 → 0.0.16

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 (101) hide show
  1. package/README.md +14 -4
  2. package/dist/{admin-CXQezpQA.mjs → admin-Bb9Hx-gO.mjs} +1 -1
  3. package/dist/{agents-BdzwXAI1.mjs → agents-CbmvvOAx.mjs} +6 -6
  4. package/dist/{api-Sf7A0I5T.mjs → api-jkf0TTgD.mjs} +1 -1
  5. package/dist/{api-keys-BZmUiIEr.mjs → api-keys-DJlyIf10.mjs} +1 -1
  6. package/dist/{auth-CGBgi6PG.mjs → auth-DpDEkJz7.mjs} +1 -1
  7. package/dist/{build-agents-DseUtzd4-DBQ82ErJ.mjs → build-agents-DseUtzd4-VYWtIZy9.mjs} +2 -2
  8. package/dist/{build-metadata-qebrtraZ-BL-fo8HW.mjs → build-metadata-C8Ra_Gi--BdoyLQMl.mjs} +4 -4
  9. package/dist/{build-progress-BataNqG-.mjs → build-progress-BZivcVz4.mjs} +1 -1
  10. package/dist/{build-tasks-GVuMLS0h-CWrrj8SF.mjs → build-tasks-GVuMLS0h-p08mMOyK.mjs} +2 -2
  11. package/dist/{build-workflows-Dmzay1vP-CAhb0BSk.mjs → build-workflows-CV4tBo6S-knCnBKTc.mjs} +5 -5
  12. package/dist/{build.handler-DTKBdDzF.mjs → build.handler-BNSC_zhQ.mjs} +3 -3
  13. package/dist/{commander-i-7LgOyc.mjs → commander-D15UZVjp.mjs} +1 -1
  14. package/dist/{connect-BcTkRZ10.mjs → connect-DzSNDSmI.mjs} +2 -2
  15. package/dist/{connect.handler-DilOwhlW.mjs → connect.handler-DRO05ak3.mjs} +1 -1
  16. package/dist/{credentials-BsEHWMBh.mjs → credentials-VidBoOd7.mjs} +6 -6
  17. package/dist/{current-deployment-workflow-Biw1zV7S.mjs → current-deployment-workflow-BRUEdPrN.mjs} +5 -5
  18. package/dist/{deploy-DVE7Mx_X.mjs → deploy-eshEEiP-.mjs} +2 -2
  19. package/dist/{deploy-progress-7qj5ek8b.mjs → deploy-progress-DJHph1Fz.mjs} +1 -1
  20. package/dist/{deploy.handler-B3E7uX-x.mjs → deploy.handler-BxxWI7nV.mjs} +12 -12
  21. package/dist/{diff.handler-BMNZ_3J_.mjs → diff.handler-CzrKCj7N.mjs} +1 -1
  22. package/dist/{dist-BVD3Ga_l.mjs → dist-FQYQ2FLm.mjs} +3 -3
  23. package/dist/{env.handler-BUBsjm1k.mjs → env.handler-B3YDQIVE.mjs} +3 -3
  24. package/dist/{import-module-DEI7R8Yh-L32hhSoh.mjs → import-module--8x5SLum-DaUNACER.mjs} +2 -2
  25. package/dist/{init-CxMQ2ysa.mjs → init-PTwX63_P.mjs} +15 -3
  26. package/dist/{init.handler-BPKxeGZS.mjs → init.handler-CdytFiFt.mjs} +61 -67
  27. package/dist/{inspect.handler-CJ7e6iFB.mjs → inspect.handler-umc7of-r.mjs} +2 -2
  28. package/dist/{integrations-DUlJhGUS.mjs → integrations-B0Gv-L0s.mjs} +5 -5
  29. package/dist/{invites-BlB-hKUE.mjs → invites-Cqi7iyIN.mjs} +4 -4
  30. package/dist/keystroke.mjs +21 -21
  31. package/dist/{list.handler-DhFni3rk.mjs → list.handler-D-YFoKLU.mjs} +2 -2
  32. package/dist/{list.handler-VGPaJzl-.mjs → list.handler-c-8RpgB9.mjs} +1 -1
  33. package/dist/{list.handler-K3x71Y4Z.mjs → list2.handler-T5v4EK20.mjs} +4 -4
  34. package/dist/{listen-drcHFcKq.mjs → listen-rHLiCWbn.mjs} +2 -2
  35. package/dist/{listen.handler-DjK6RlLf.mjs → listen.handler-B9T58yAj.mjs} +1 -1
  36. package/dist/{logs-NI-DyeFY.mjs → logs-DUwdYZB-.mjs} +3 -3
  37. package/dist/{logs.handler-PRYGI57p.mjs → logs.handler-DGcGN2qb.mjs} +1 -1
  38. package/dist/{metadata-layout-C6ed-9dl-DCTTsjiG.mjs → metadata-layout-Bv-B0nHj-CqlcZz_g.mjs} +1 -1
  39. package/dist/{org-8bkIZAJ4.mjs → org-DUCts2MV.mjs} +15 -15
  40. package/dist/{project-config-CJGSh2RQ.mjs → project-config-CsBMT4TL.mjs} +1 -13
  41. package/dist/{projects-Pp5ENoyh.mjs → projects-CbquwUlm.mjs} +4 -4
  42. package/dist/{requirements.handler-CZ53jJ_5.mjs → requirements.handler-D5dFi7XZ.mjs} +2 -2
  43. package/dist/{resolve-project-CI_PxRXi.mjs → resolve-project-CURYMjex.mjs} +1 -1
  44. package/dist/{run-polling-7YWCL6c-.mjs → run-polling-BWcLQvm0.mjs} +3 -3
  45. package/dist/{run-polling-BPmB5N5A.mjs → run-polling-CwlzB5-9.mjs} +1 -1
  46. package/dist/{run.handler-BNrAIXDG.mjs → run.handler-BiBDLoeH.mjs} +4 -4
  47. package/dist/{runs-Bs8VzL8P.mjs → runs-Bc3zjk7V.mjs} +1 -1
  48. package/dist/{schema-display-B0LmISCe.mjs → schema-display-CNqiYBIb.mjs} +4 -4
  49. package/dist/skill-installer-DkRJ6oLi.mjs +506 -0
  50. package/dist/{skills-sync.handler-DXF6IgEX.mjs → skills-sync.handler-C4ztv1Vu.mjs} +20 -7
  51. package/dist/skills.command-DuL4kLUi.mjs +49 -0
  52. package/dist/{skills.handler-CPKCf9ZK.mjs → skills.handler-R5KAbioE.mjs} +1 -1
  53. package/dist/{source-analysis-DTnwNwKq-BqHdBGtw.mjs → source-analysis-BBg2E_6G-BQqm16RR.mjs} +3 -3
  54. package/dist/{spinner-progress-DpL68vYK.mjs → spinner-progress-DfkMzwGx.mjs} +1 -1
  55. package/dist/spinner-worker.d.mts +3 -0
  56. package/dist/spinner-worker.mjs +203 -0
  57. package/dist/{sync-BSL1s6PR.mjs → sync-Pssitj6K.mjs} +2 -2
  58. package/dist/{sync.handler-BN9oDWVx.mjs → sync.handler-Be0U3x-n.mjs} +5 -5
  59. package/dist/{task-target-build-Du0ObGbb.mjs → task-target-build-BG6cC3bz.mjs} +3 -3
  60. package/dist/task-target-deploy-runner.mjs +5 -5
  61. package/dist/test-BISghlKg.mjs +74 -0
  62. package/dist/{try-deploy.handler-A16ahnCF.mjs → test.handler-DkizZhVu.mjs} +13 -15
  63. package/dist/{test-BIz-oBxy.mjs → tool.handler-Bu130Vcz.mjs} +8 -90
  64. package/dist/{trigger-artifacts-RizI57RC-abdkW8-z.mjs → trigger-artifacts-RizI57RC-CxHwCkQ_.mjs} +2 -2
  65. package/dist/types-D04ah3uY.mjs +6 -0
  66. package/dist/{upgrade-f97U8Rll.mjs → upgrade-cH9I_pZq.mjs} +1 -1
  67. package/dist/{upload.handler-CUtfr3hY.mjs → upload.handler-CpKuAaQ_.mjs} +3 -3
  68. package/dist/{utils-LlH3l_yT.mjs → utils-VC0Vl_pm.mjs} +2 -2
  69. package/dist/{validate.handler-CUP3SjzC.mjs → validate.handler-I8LY-UkG.mjs} +3 -3
  70. package/dist/{workflow-build-C_qkq7jk.mjs → workflow-build-C9rQQ4qU.mjs} +14 -14
  71. package/dist/{workflow-bundler-BzHk73PM-CRcJvu9a.mjs → workflow-bundler-BzHk73PM-AIB4-u4Y.mjs} +1 -1
  72. package/dist/{workflows-ixllXKLo.mjs → workflows-CL1jYSLR.mjs} +55 -17
  73. package/dist/{writer-CtvttJdP-BEJHbiLs.mjs → writer-B-SpZ0G2-olEAgSLc.mjs} +5 -5
  74. package/package.json +7 -7
  75. package/dist/options-BsIkm0Bb.mjs +0 -43
  76. package/dist/skills.command-B8yExFCn.mjs +0 -35
  77. package/dist/sync-keystroke-agent-skills-ChUj1LnK.mjs +0 -66
  78. /package/dist/{accept.handler-BsZQqmzU.mjs → accept.handler-BPwp_UAE.mjs} +0 -0
  79. /package/dist/{clear-cache.handler-Bkt6GKnF.mjs → clear-cache.handler-gr5VmEYB.mjs} +0 -0
  80. /package/dist/{clear.handler-BieI9Oix.mjs → clear.handler-CtOZ4aRn.mjs} +0 -0
  81. /package/dist/{current.handler-C48q2mBd.mjs → current.handler-QZQ-l84v.mjs} +0 -0
  82. /package/dist/{deploy-D4ILrWpx.mjs → deploy-CJbVB7e2.mjs} +0 -0
  83. /package/dist/{detect-env-access-CwkOYeYM-BLtKepjx.mjs → detect-env-access-CwkOYeYM-CZIixHeR.mjs} +0 -0
  84. /package/dist/{invites.list.handler-DmeMcezN.mjs → invites.list.handler-CErgY35S.mjs} +0 -0
  85. /package/dist/{invites.resend.handler-pJTPtKHE.mjs → invites.resend.handler-DRCRIA4F.mjs} +0 -0
  86. /package/dist/{invites.revoke.handler-4NgnnfiU.mjs → invites.revoke.handler-C0FZdAR0.mjs} +0 -0
  87. /package/dist/{layout-DaoP8bcD.mjs → layout-CXkZEsXI.mjs} +0 -0
  88. /package/dist/{list.handler-C7AChEPW.mjs → list.handler-BjutlIkE.mjs} +0 -0
  89. /package/dist/{list.handler-BuX-bb2y.mjs → list.handler-Cr_DFAae.mjs} +0 -0
  90. /package/dist/{list.handler-BSyrxCma.mjs → list.handler-FlchXrKz.mjs} +0 -0
  91. /package/dist/{logs.handler-BqmZ4eLx.mjs → logs.handler-dcRq-zoc.mjs} +0 -0
  92. /package/dist/{members.add.handler-B4H8Hn6x.mjs → members.add.handler-DmYI43rZ.mjs} +0 -0
  93. /package/dist/{members.invite.handler-D8ONlt4Y.mjs → members.invite.handler-B_KVxv5m.mjs} +0 -0
  94. /package/dist/{members.list.handler-BHJTMMiA.mjs → members.list.handler-BtuuIgQS.mjs} +0 -0
  95. /package/dist/{members.remove.handler-_hKd_sFd.mjs → members.remove.handler-Lvg-CqVv.mjs} +0 -0
  96. /package/dist/{members.update.handler-CC7J0k8n.mjs → members.update.handler-D-8izeso.mjs} +0 -0
  97. /package/dist/{read-credential-keys-77a91T8M-COvwpok_.mjs → read-credential-keys-77a91T8M-DMmY6oDW.mjs} +0 -0
  98. /package/dist/{register.handler-CttgzybN.mjs → register.handler-BAx0IC-u.mjs} +0 -0
  99. /package/dist/{schema-BjH_e4Fo.mjs → schema-O9xTWad_.mjs} +0 -0
  100. /package/dist/{switch.handler-BFBM8rSi.mjs → switch.handler-CTwhIcaQ.mjs} +0 -0
  101. /package/dist/{task-target-deploy-OyxLvh3a.mjs → task-target-deploy-gMQC8kXU.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. |
@@ -87,7 +87,7 @@ keystroke --api-key sk_... --server-url https://api.example.com workflows list
87
87
  | `keystroke projects` | List or clear locally tracked projects. |
88
88
  | `keystroke runs inspect` | Inspect workflow and agent runs. |
89
89
  | `keystroke logs` | View or clear local CLI logs. |
90
- | `keystroke skills sync` | Sync installed Keystroke agent skills into editor skill folders. |
90
+ | `keystroke skills sync` | Sync bundled Keystroke agent skills into selected agent skill folders. |
91
91
  | `keystroke upgrade` | Upgrade the installed Keystroke CLI package. |
92
92
 
93
93
  Run `keystroke <command> --help` for exact arguments and flags.
@@ -106,8 +106,18 @@ Create a new project:
106
106
 
107
107
  ```bash
108
108
  keystroke init --path ./my-automation --name my-automation
109
+ keystroke init --path ./my-automation --name my-automation --agent claude-code --agent cursor --method symlink
109
110
  ```
110
111
 
112
+ `keystroke init` always installs the bundled Keystroke skills into `.agents/skills` and writes Keystroke project guidance to `AGENTS.md`. Use repeatable `--agent <agent>` flags to provision additional agent-specific skill directories and guidance files, such as `.claude/skills` plus `CLAUDE.md` for Claude Code. Use `--agent '*'` to target all supported project agents.
113
+
114
+ Skill install methods:
115
+
116
+ - `--method symlink` links selected agent skill folders back to the canonical `.agents/skills` copy.
117
+ - `--method copy` writes independent copies for selected agent folders.
118
+
119
+ Run `keystroke skills sync` with the same `--agent` and `--method` flags to refresh skills in an existing project.
120
+
111
121
  Build locally:
112
122
 
113
123
  ```bash
@@ -133,7 +143,7 @@ keystroke deploy --diff --path ./my-automation
133
143
  Test a workflow or agent tool:
134
144
 
135
145
  ```bash
136
- keystroke test workflow <workflow-id-or-name> --input '{"example":true}'
146
+ keystroke workflows test <workflow-id-or-name> --input '{"example":true}'
137
147
  keystroke test tool <tool-name> --agent <agent-id-or-name> --input-file ./input.json
138
148
  ```
139
149
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
4
- import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
4
+ import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
5
5
  import { t as OrgRoleSchema } from "./schema-_FQrHcIS.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/commands/admin/orgs.command.ts
@@ -3,12 +3,12 @@
3
3
  import { N as throwReportedCliExit, f as ANSI, n as ui, p as style, x as toErrorMessage } from "./keystroke.mjs";
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
- 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";
6
+ import { t as createTypedCommand } from "./commander-D15UZVjp.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-C9rQQ4qU.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
  /**
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
4
- import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
4
+ import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/api-keys/api-keys.command.ts
7
7
  const ApiKeysCreateOptionsSchema = JsonOptionSchema.extend({ name: z.string().optional() });
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { n as DEFAULT_CLI_WEB_URL } from "./default-urls-BS4twrsS.mjs";
4
4
  import { S as AUTH_TIMEOUT_SECONDS } from "./keystroke.mjs";
5
- import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
5
+ import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
6
6
  import { z } from "zod";
7
7
  //#region src/commands/auth/auth.command.ts
8
8
  const AuthOptionsSchema = z.object({
@@ -3,8 +3,8 @@
3
3
  import { n as readOptionalJsonSchemaKeys, t as manifestToDeclaredCredentialRequirement } from "./declared-credential-requirements-B6h4WRv4.mjs";
4
4
  import { t as AgentVersionManifestSchema } from "./agent-manifest-CZdlCTFs.mjs";
5
5
  import { i as createAgentSandboxPackage, n as AGENT_VM_PI_SKILLS_ROOT, r as AGENT_VM_TOOLS_RUNTIME_RELATIVE_PATH, t as AGENT_VM_HOST_CALL_RELATIVE_PATH } from "./agent-bundle-package-DWV6B_5q-rRTPU13L.mjs";
6
- import { t as readCredentialKeysFromSchemaObject } from "./read-credential-keys-77a91T8M-COvwpok_.mjs";
7
- import { t as bundleSandboxAgentTarget } from "./workflow-bundler-BzHk73PM-CRcJvu9a.mjs";
6
+ import { t as readCredentialKeysFromSchemaObject } from "./read-credential-keys-77a91T8M-DMmY6oDW.mjs";
7
+ import { t as bundleSandboxAgentTarget } from "./workflow-bundler-BzHk73PM-AIB4-u4Y.mjs";
8
8
  import { builtinModules } from "node:module";
9
9
  import { lstat, readFile, readdir, realpath } from "node:fs/promises";
10
10
  import path from "node:path";
@@ -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",
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as TaskBuildManifestSchema } from "./task-BNXDZU71.mjs";
4
- import { n as bundleWorkflowTarget } from "./workflow-bundler-BzHk73PM-CRcJvu9a.mjs";
5
- import { t as buildTriggerArtifacts } from "./trigger-artifacts-RizI57RC-abdkW8-z.mjs";
4
+ import { n as bundleWorkflowTarget } from "./workflow-bundler-BzHk73PM-AIB4-u4Y.mjs";
5
+ import { t as buildTriggerArtifacts } from "./trigger-artifacts-RizI57RC-CxHwCkQ_.mjs";
6
6
  import { performance } from "node:perf_hooks";
7
7
  //#region ../../packages/workflow-builder/dist/build-tasks-GVuMLS0h.mjs
8
8
  async function buildTaskArtifact(options) {
@@ -2,18 +2,18 @@
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
- import { n as bundleWorkflowTarget } from "./workflow-bundler-BzHk73PM-CRcJvu9a.mjs";
10
- import { t as buildTriggerArtifacts } from "./trigger-artifacts-RizI57RC-abdkW8-z.mjs";
9
+ import { n as bundleWorkflowTarget } from "./workflow-bundler-BzHk73PM-AIB4-u4Y.mjs";
10
+ import { t as buildTriggerArtifacts } from "./trigger-artifacts-RizI57RC-CxHwCkQ_.mjs";
11
11
  import { realpathSync } from "node:fs";
12
12
  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-C9rQQ4qU.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) {
@@ -20,7 +20,7 @@ function applyTypedOptionsToCommand(command, schema, optionsConfig, skipKeys) {
20
20
  const config = optionsConfig[key];
21
21
  if (!config) throw new Error(`Missing option configuration for key: ${String(key)}`);
22
22
  if (config.collect) {
23
- command.option(config.flag, config.description, (value, previous) => [...previous ?? [], value], []);
23
+ command.option(config.flag, config.description, (value, previous) => [...previous ?? [], value]);
24
24
  continue;
25
25
  }
26
26
  command.option(config.flag, config.description);
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
4
- import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
4
+ import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
5
5
  import { z } from "zod";
6
6
  //#region src/commands/connect/connect.command.ts
7
7
  const ConnectOptionsSchema = JsonOptionSchema.extend({
@@ -37,7 +37,7 @@ function createConnectCommand() {
37
37
  description: "Connect an official integration via OAuth (e.g., keystroke connect slack)",
38
38
  schema: ConnectOptionsSchema,
39
39
  optionsConfig: CONNECT_OPTIONS_CONFIG,
40
- loadHandler: async () => (await import("./connect.handler-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) {
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
4
- import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
5
- import { i as CredentialScopeValues, r as CredentialScopeSchema } from "./schema-BjH_e4Fo.mjs";
4
+ import { t as createTypedCommand } from "./commander-D15UZVjp.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-C9rQQ4qU.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,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
3
+ import { t as createTypedCommand } from "./commander-D15UZVjp.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-B3E7uX-x.mjs")).handleDeploy
67
+ loadHandler: async () => (await import("./deploy.handler-BxxWI7nV.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-C9rQQ4qU.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-BRUEdPrN.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-C9rQQ4qU.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,
@@ -260,7 +260,7 @@ async function handleDeploy(options, ctx) {
260
260
  }
261
261
  async function handleTaskTargetDeploy(options) {
262
262
  renderBuildHeader(void 0);
263
- const buildResult = await (deployHandlerDependencies.buildTaskTargets ?? (await import("./task-target-build-Du0ObGbb.mjs")).buildTaskTargets)({
263
+ const buildResult = await (deployHandlerDependencies.buildTaskTargets ?? (await import("./task-target-build-BG6cC3bz.mjs")).buildTaskTargets)({
264
264
  projectRoot: options.workflowsDir,
265
265
  targetFiles: options.targetFiles,
266
266
  disableSourcemaps: options.options.disableSourcemaps
@@ -278,7 +278,7 @@ async function handleTaskTargetDeploy(options) {
278
278
  const progress = createDeployProgress();
279
279
  let result;
280
280
  try {
281
- result = await (deployHandlerDependencies.deployTaskTargets ?? (await import("./task-target-deploy-OyxLvh3a.mjs")).deployTaskTargets)({
281
+ result = await (deployHandlerDependencies.deployTaskTargets ?? (await import("./task-target-deploy-gMQC8kXU.mjs")).deployTaskTargets)({
282
282
  preparedTasks: buildResult.preparedTasks,
283
283
  client,
284
284
  organizationId: options.projectConfig.organizationId,
@@ -315,7 +315,7 @@ async function createFullDeployClient(ctx) {
315
315
  }
316
316
  async function createTaskDeployClient(ctx) {
317
317
  const authOptions = requireAuthOptions(ctx);
318
- return (deployHandlerDependencies.createDeployClient ?? (await import("./deploy-D4ILrWpx.mjs")).createDeployClient)(authOptions);
318
+ return (deployHandlerDependencies.createDeployClient ?? (await import("./deploy-CJbVB7e2.mjs")).createDeployClient)(authOptions);
319
319
  }
320
320
  function renderSuccessSummary(result) {
321
321
  const tasks = result.tasks || [];
@@ -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-BRUEdPrN.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;
@@ -1,13 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
3
+ import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
4
+ import { t as SKILL_INSTALL_METHODS } from "./types-D04ah3uY.mjs";
4
5
  import { z } from "zod";
5
6
  //#region src/commands/init/init.command.ts
6
7
  const InitOptionsSchema = z.object({
7
8
  path: z.string().optional().describe("Directory to initialize (default: current directory)"),
8
9
  name: z.string().optional().describe("Project name (skips prompt; default: directory basename)"),
9
10
  description: z.string().optional().describe("Project description for the API (skips prompt when creating a new project)"),
10
- scaffold: z.boolean().default(true).describe("Scaffold project files (package.json, vitest.config.ts, etc.)")
11
+ scaffold: z.boolean().default(true).describe("Scaffold project files (package.json, vitest.config.ts, etc.)"),
12
+ agent: z.array(z.string()).optional().describe("Agent target to install Keystroke skills for. Repeat for multiple agents; '*' selects all."),
13
+ method: z.enum(SKILL_INSTALL_METHODS).optional().describe("Skill install method for agent-specific targets")
11
14
  });
12
15
  const INIT_OPTIONS_CONFIG = {
13
16
  path: {
@@ -25,6 +28,15 @@ const INIT_OPTIONS_CONFIG = {
25
28
  scaffold: {
26
29
  flag: "--no-scaffold",
27
30
  description: "Skip scaffolding project files (package.json, vitest.config.ts, etc.)"
31
+ },
32
+ agent: {
33
+ flag: "--agent <agent>",
34
+ description: "Install Keystroke skills for an agent target. Repeat for multiple agents; '*' selects all.",
35
+ collect: true
36
+ },
37
+ method: {
38
+ flag: "--method <symlink|copy>",
39
+ description: "Skill install method for agent-specific targets"
28
40
  }
29
41
  };
30
42
  function createInitCommand() {
@@ -33,7 +45,7 @@ function createInitCommand() {
33
45
  description: "Initialize a Keystroke project (creates keystroke.config.ts)",
34
46
  schema: InitOptionsSchema,
35
47
  optionsConfig: INIT_OPTIONS_CONFIG,
36
- loadHandler: async () => (await import("./init.handler-BPKxeGZS.mjs")).handleInit
48
+ loadHandler: async () => (await import("./init.handler-CdytFiFt.mjs")).handleInit
37
49
  });
38
50
  }
39
51
  //#endregion