@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.
- package/README.md +14 -4
- package/dist/{admin-CXQezpQA.mjs → admin-Bb9Hx-gO.mjs} +1 -1
- package/dist/{agents-BdzwXAI1.mjs → agents-CbmvvOAx.mjs} +6 -6
- package/dist/{api-Sf7A0I5T.mjs → api-jkf0TTgD.mjs} +1 -1
- package/dist/{api-keys-BZmUiIEr.mjs → api-keys-DJlyIf10.mjs} +1 -1
- package/dist/{auth-CGBgi6PG.mjs → auth-DpDEkJz7.mjs} +1 -1
- package/dist/{build-agents-DseUtzd4-DBQ82ErJ.mjs → build-agents-DseUtzd4-VYWtIZy9.mjs} +2 -2
- package/dist/{build-metadata-qebrtraZ-BL-fo8HW.mjs → build-metadata-C8Ra_Gi--BdoyLQMl.mjs} +4 -4
- package/dist/{build-progress-BataNqG-.mjs → build-progress-BZivcVz4.mjs} +1 -1
- package/dist/{build-tasks-GVuMLS0h-CWrrj8SF.mjs → build-tasks-GVuMLS0h-p08mMOyK.mjs} +2 -2
- package/dist/{build-workflows-Dmzay1vP-CAhb0BSk.mjs → build-workflows-CV4tBo6S-knCnBKTc.mjs} +5 -5
- package/dist/{build.handler-DTKBdDzF.mjs → build.handler-BNSC_zhQ.mjs} +3 -3
- package/dist/{commander-i-7LgOyc.mjs → commander-D15UZVjp.mjs} +1 -1
- package/dist/{connect-BcTkRZ10.mjs → connect-DzSNDSmI.mjs} +2 -2
- package/dist/{connect.handler-DilOwhlW.mjs → connect.handler-DRO05ak3.mjs} +1 -1
- package/dist/{credentials-BsEHWMBh.mjs → credentials-VidBoOd7.mjs} +6 -6
- package/dist/{current-deployment-workflow-Biw1zV7S.mjs → current-deployment-workflow-BRUEdPrN.mjs} +5 -5
- package/dist/{deploy-DVE7Mx_X.mjs → deploy-eshEEiP-.mjs} +2 -2
- package/dist/{deploy-progress-7qj5ek8b.mjs → deploy-progress-DJHph1Fz.mjs} +1 -1
- package/dist/{deploy.handler-B3E7uX-x.mjs → deploy.handler-BxxWI7nV.mjs} +12 -12
- package/dist/{diff.handler-BMNZ_3J_.mjs → diff.handler-CzrKCj7N.mjs} +1 -1
- package/dist/{dist-BVD3Ga_l.mjs → dist-FQYQ2FLm.mjs} +3 -3
- package/dist/{env.handler-BUBsjm1k.mjs → env.handler-B3YDQIVE.mjs} +3 -3
- package/dist/{import-module-DEI7R8Yh-L32hhSoh.mjs → import-module--8x5SLum-DaUNACER.mjs} +2 -2
- package/dist/{init-CxMQ2ysa.mjs → init-PTwX63_P.mjs} +15 -3
- package/dist/{init.handler-BPKxeGZS.mjs → init.handler-CdytFiFt.mjs} +61 -67
- package/dist/{inspect.handler-CJ7e6iFB.mjs → inspect.handler-umc7of-r.mjs} +2 -2
- package/dist/{integrations-DUlJhGUS.mjs → integrations-B0Gv-L0s.mjs} +5 -5
- package/dist/{invites-BlB-hKUE.mjs → invites-Cqi7iyIN.mjs} +4 -4
- package/dist/keystroke.mjs +21 -21
- package/dist/{list.handler-DhFni3rk.mjs → list.handler-D-YFoKLU.mjs} +2 -2
- package/dist/{list.handler-VGPaJzl-.mjs → list.handler-c-8RpgB9.mjs} +1 -1
- package/dist/{list.handler-K3x71Y4Z.mjs → list2.handler-T5v4EK20.mjs} +4 -4
- package/dist/{listen-drcHFcKq.mjs → listen-rHLiCWbn.mjs} +2 -2
- package/dist/{listen.handler-DjK6RlLf.mjs → listen.handler-B9T58yAj.mjs} +1 -1
- package/dist/{logs-NI-DyeFY.mjs → logs-DUwdYZB-.mjs} +3 -3
- package/dist/{logs.handler-PRYGI57p.mjs → logs.handler-DGcGN2qb.mjs} +1 -1
- package/dist/{metadata-layout-C6ed-9dl-DCTTsjiG.mjs → metadata-layout-Bv-B0nHj-CqlcZz_g.mjs} +1 -1
- package/dist/{org-8bkIZAJ4.mjs → org-DUCts2MV.mjs} +15 -15
- package/dist/{project-config-CJGSh2RQ.mjs → project-config-CsBMT4TL.mjs} +1 -13
- package/dist/{projects-Pp5ENoyh.mjs → projects-CbquwUlm.mjs} +4 -4
- package/dist/{requirements.handler-CZ53jJ_5.mjs → requirements.handler-D5dFi7XZ.mjs} +2 -2
- package/dist/{resolve-project-CI_PxRXi.mjs → resolve-project-CURYMjex.mjs} +1 -1
- package/dist/{run-polling-7YWCL6c-.mjs → run-polling-BWcLQvm0.mjs} +3 -3
- package/dist/{run-polling-BPmB5N5A.mjs → run-polling-CwlzB5-9.mjs} +1 -1
- package/dist/{run.handler-BNrAIXDG.mjs → run.handler-BiBDLoeH.mjs} +4 -4
- package/dist/{runs-Bs8VzL8P.mjs → runs-Bc3zjk7V.mjs} +1 -1
- package/dist/{schema-display-B0LmISCe.mjs → schema-display-CNqiYBIb.mjs} +4 -4
- package/dist/skill-installer-DkRJ6oLi.mjs +506 -0
- package/dist/{skills-sync.handler-DXF6IgEX.mjs → skills-sync.handler-C4ztv1Vu.mjs} +20 -7
- package/dist/skills.command-DuL4kLUi.mjs +49 -0
- package/dist/{skills.handler-CPKCf9ZK.mjs → skills.handler-R5KAbioE.mjs} +1 -1
- package/dist/{source-analysis-DTnwNwKq-BqHdBGtw.mjs → source-analysis-BBg2E_6G-BQqm16RR.mjs} +3 -3
- package/dist/{spinner-progress-DpL68vYK.mjs → spinner-progress-DfkMzwGx.mjs} +1 -1
- package/dist/spinner-worker.d.mts +3 -0
- package/dist/spinner-worker.mjs +203 -0
- package/dist/{sync-BSL1s6PR.mjs → sync-Pssitj6K.mjs} +2 -2
- package/dist/{sync.handler-BN9oDWVx.mjs → sync.handler-Be0U3x-n.mjs} +5 -5
- package/dist/{task-target-build-Du0ObGbb.mjs → task-target-build-BG6cC3bz.mjs} +3 -3
- package/dist/task-target-deploy-runner.mjs +5 -5
- package/dist/test-BISghlKg.mjs +74 -0
- package/dist/{try-deploy.handler-A16ahnCF.mjs → test.handler-DkizZhVu.mjs} +13 -15
- package/dist/{test-BIz-oBxy.mjs → tool.handler-Bu130Vcz.mjs} +8 -90
- package/dist/{trigger-artifacts-RizI57RC-abdkW8-z.mjs → trigger-artifacts-RizI57RC-CxHwCkQ_.mjs} +2 -2
- package/dist/types-D04ah3uY.mjs +6 -0
- package/dist/{upgrade-f97U8Rll.mjs → upgrade-cH9I_pZq.mjs} +1 -1
- package/dist/{upload.handler-CUtfr3hY.mjs → upload.handler-CpKuAaQ_.mjs} +3 -3
- package/dist/{utils-LlH3l_yT.mjs → utils-VC0Vl_pm.mjs} +2 -2
- package/dist/{validate.handler-CUP3SjzC.mjs → validate.handler-I8LY-UkG.mjs} +3 -3
- package/dist/{workflow-build-C_qkq7jk.mjs → workflow-build-C9rQQ4qU.mjs} +14 -14
- package/dist/{workflow-bundler-BzHk73PM-CRcJvu9a.mjs → workflow-bundler-BzHk73PM-AIB4-u4Y.mjs} +1 -1
- package/dist/{workflows-ixllXKLo.mjs → workflows-CL1jYSLR.mjs} +55 -17
- package/dist/{writer-CtvttJdP-BEJHbiLs.mjs → writer-B-SpZ0G2-olEAgSLc.mjs} +5 -5
- package/package.json +7 -7
- package/dist/options-BsIkm0Bb.mjs +0 -43
- package/dist/skills.command-B8yExFCn.mjs +0 -35
- package/dist/sync-keystroke-agent-skills-ChUj1LnK.mjs +0 -66
- /package/dist/{accept.handler-BsZQqmzU.mjs → accept.handler-BPwp_UAE.mjs} +0 -0
- /package/dist/{clear-cache.handler-Bkt6GKnF.mjs → clear-cache.handler-gr5VmEYB.mjs} +0 -0
- /package/dist/{clear.handler-BieI9Oix.mjs → clear.handler-CtOZ4aRn.mjs} +0 -0
- /package/dist/{current.handler-C48q2mBd.mjs → current.handler-QZQ-l84v.mjs} +0 -0
- /package/dist/{deploy-D4ILrWpx.mjs → deploy-CJbVB7e2.mjs} +0 -0
- /package/dist/{detect-env-access-CwkOYeYM-BLtKepjx.mjs → detect-env-access-CwkOYeYM-CZIixHeR.mjs} +0 -0
- /package/dist/{invites.list.handler-DmeMcezN.mjs → invites.list.handler-CErgY35S.mjs} +0 -0
- /package/dist/{invites.resend.handler-pJTPtKHE.mjs → invites.resend.handler-DRCRIA4F.mjs} +0 -0
- /package/dist/{invites.revoke.handler-4NgnnfiU.mjs → invites.revoke.handler-C0FZdAR0.mjs} +0 -0
- /package/dist/{layout-DaoP8bcD.mjs → layout-CXkZEsXI.mjs} +0 -0
- /package/dist/{list.handler-C7AChEPW.mjs → list.handler-BjutlIkE.mjs} +0 -0
- /package/dist/{list.handler-BuX-bb2y.mjs → list.handler-Cr_DFAae.mjs} +0 -0
- /package/dist/{list.handler-BSyrxCma.mjs → list.handler-FlchXrKz.mjs} +0 -0
- /package/dist/{logs.handler-BqmZ4eLx.mjs → logs.handler-dcRq-zoc.mjs} +0 -0
- /package/dist/{members.add.handler-B4H8Hn6x.mjs → members.add.handler-DmYI43rZ.mjs} +0 -0
- /package/dist/{members.invite.handler-D8ONlt4Y.mjs → members.invite.handler-B_KVxv5m.mjs} +0 -0
- /package/dist/{members.list.handler-BHJTMMiA.mjs → members.list.handler-BtuuIgQS.mjs} +0 -0
- /package/dist/{members.remove.handler-_hKd_sFd.mjs → members.remove.handler-Lvg-CqVv.mjs} +0 -0
- /package/dist/{members.update.handler-CC7J0k8n.mjs → members.update.handler-D-8izeso.mjs} +0 -0
- /package/dist/{read-credential-keys-77a91T8M-COvwpok_.mjs → read-credential-keys-77a91T8M-DMmY6oDW.mjs} +0 -0
- /package/dist/{register.handler-CttgzybN.mjs → register.handler-BAx0IC-u.mjs} +0 -0
- /package/dist/{schema-BjH_e4Fo.mjs → schema-O9xTWad_.mjs} +0 -0
- /package/dist/{switch.handler-BFBM8rSi.mjs → switch.handler-CTwhIcaQ.mjs} +0 -0
- /package/dist/{task-target-deploy-OyxLvh3a.mjs → task-target-deploy-gMQC8kXU.mjs} +0 -0
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
import { i as __toESM, n as __exportAll } from "./chunk-CH6r78ws.mjs";
|
|
4
4
|
import { d as originalConsole, f as ANSI, n as ui, p as style, u as logger, x as toErrorMessage } from "./keystroke.mjs";
|
|
5
5
|
import { a as getKeystrokeTmpDir } from "./dist-BF6r1hfv.mjs";
|
|
6
|
-
import { t as assertWorkflowProjectRoot } from "./project-config-
|
|
6
|
+
import { t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
|
|
7
7
|
import { a as FlowGraphSchema, r as WorkflowBuildManifestSchema } from "./workflow-build-manifest-OPFqFD6f.mjs";
|
|
8
8
|
import { t as AgentVersionManifestSchema } from "./agent-manifest-CZdlCTFs.mjs";
|
|
9
9
|
import { r as RelativeFilePathSchema } from "./file-metadata-DaPPpiTh.mjs";
|
|
10
|
-
import { c as createArtifactOutputFiles, l as createMetadataOutputFile, o as METADATA_ROOT_DIR_NAME, p as getWorkflowArtifactPaths, t as BUILD_DIR_NAME } from "./layout-
|
|
11
|
-
import { t as resolveConfiguredBuildOutputDir } from "./utils-
|
|
10
|
+
import { c as createArtifactOutputFiles, l as createMetadataOutputFile, o as METADATA_ROOT_DIR_NAME, p as getWorkflowArtifactPaths, t as BUILD_DIR_NAME } from "./layout-CXkZEsXI.mjs";
|
|
11
|
+
import { t as resolveConfiguredBuildOutputDir } from "./utils-VC0Vl_pm.mjs";
|
|
12
12
|
import { a as readAgentSandboxPackage, r as AGENT_VM_TOOLS_RUNTIME_RELATIVE_PATH } from "./agent-bundle-package-DWV6B_5q-rRTPU13L.mjs";
|
|
13
|
-
import { a as prewarmFileContentCache, c as typedEntries, i as createFileContentCache, l as require_out, n as computeBuilderFingerprint, o as resetFileContentCache, r as computeWorkflowFingerprint, s as sha256String } from "./metadata-layout-
|
|
14
|
-
import { a as getAgentArtifactPaths, c as hashWorkflowManifestForDisk, d as resolveOutputDir, i as createAgentOutputFiles, l as removeAgentArtifacts, n as BUILD_CACHE_FILE_NAME, o as hashAgentManifestForDisk, r as allOutputFilesExist, s as hashWorkflowFlowForDisk, t as AGENT_ARTIFACT_DIR_PREFIX, u as removeWorkflowArtifacts } from "./writer-
|
|
15
|
-
import { a as createDiscoveryFailure, c as createNamespaceStarExportDiscoveryError, d as isWorkflowLoadResult, f as loadWorkflowMetadataBatch, i as createAmbiguousExportDiscoveryError, l as isAgentLoadResult, o as createDuplicateWorkflowIdFailure, t as DuplicateWorkflowIdError, u as isTaskLoadResult } from "./import-module-
|
|
13
|
+
import { a as prewarmFileContentCache, c as typedEntries, i as createFileContentCache, l as require_out, n as computeBuilderFingerprint, o as resetFileContentCache, r as computeWorkflowFingerprint, s as sha256String } from "./metadata-layout-Bv-B0nHj-CqlcZz_g.mjs";
|
|
14
|
+
import { a as getAgentArtifactPaths, c as hashWorkflowManifestForDisk, d as resolveOutputDir, i as createAgentOutputFiles, l as removeAgentArtifacts, n as BUILD_CACHE_FILE_NAME, o as hashAgentManifestForDisk, r as allOutputFilesExist, s as hashWorkflowFlowForDisk, t as AGENT_ARTIFACT_DIR_PREFIX, u as removeWorkflowArtifacts } from "./writer-B-SpZ0G2-olEAgSLc.mjs";
|
|
15
|
+
import { a as createDiscoveryFailure, c as createNamespaceStarExportDiscoveryError, d as isWorkflowLoadResult, f as loadWorkflowMetadataBatch, i as createAmbiguousExportDiscoveryError, l as isAgentLoadResult, o as createDuplicateWorkflowIdFailure, t as DuplicateWorkflowIdError, u as isTaskLoadResult } from "./import-module--8x5SLum-DaUNACER.mjs";
|
|
16
16
|
import { a as literalString, n as identifierName, o as parseSourceFile, r as isNode } from "./oxc-B3KI3rf_-DdiZWqe2.mjs";
|
|
17
|
-
import { a as getLocalModuleSpecifier, c as removeAllMetadataArtifacts, d as resolveDefaultExportAssignment, f as resolveLocalModulePath, i as collectWorkflowImportNames, n as DISCOVERY_IGNORE, o as getVariableDeclarators, r as collectLocalWorkflowBindings, s as isExportedVariableStatement, t as DISCOVERY_GLOB, u as removeMetadataArtifacts } from "./source-analysis-
|
|
17
|
+
import { a as getLocalModuleSpecifier, c as removeAllMetadataArtifacts, d as resolveDefaultExportAssignment, f as resolveLocalModulePath, i as collectWorkflowImportNames, n as DISCOVERY_IGNORE, o as getVariableDeclarators, r as collectLocalWorkflowBindings, s as isExportedVariableStatement, t as DISCOVERY_GLOB, u as removeMetadataArtifacts } from "./source-analysis-BBg2E_6G-BQqm16RR.mjs";
|
|
18
18
|
import { n as parseRelativeFilePath } from "./normalize-path-CojS-CgQ-DFTvyA27.mjs";
|
|
19
19
|
import * as fs from "node:fs/promises";
|
|
20
20
|
import { mkdir, readFile, stat, writeFile } from "node:fs/promises";
|
|
@@ -70,7 +70,7 @@ function toCycleNode(node) {
|
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
//#endregion
|
|
73
|
-
//#region ../../packages/workflow-builder/dist/build-
|
|
73
|
+
//#region ../../packages/workflow-builder/dist/build-hHErF9f5.mjs
|
|
74
74
|
var import_out = /* @__PURE__ */ __toESM(require_out(), 1);
|
|
75
75
|
const DiscoveredWorkflowSchema = z.object({
|
|
76
76
|
exportFilePath: z.string(),
|
|
@@ -978,7 +978,7 @@ async function buildDiscoveredWorkflows(options) {
|
|
|
978
978
|
const failures = [...buildPlan.failures];
|
|
979
979
|
const warnings = [];
|
|
980
980
|
if (buildPlan.workflows.length > 0) {
|
|
981
|
-
const { buildWorkflowArtifacts } = await import("./build-workflows-
|
|
981
|
+
const { buildWorkflowArtifacts } = await import("./build-workflows-CV4tBo6S-knCnBKTc.mjs");
|
|
982
982
|
const result = await buildWorkflowArtifacts({
|
|
983
983
|
entries: buildPlan.workflows,
|
|
984
984
|
workflowsByKey,
|
|
@@ -993,7 +993,7 @@ async function buildDiscoveredWorkflows(options) {
|
|
|
993
993
|
warnings.push(...result.warnings);
|
|
994
994
|
}
|
|
995
995
|
if (buildPlan.agents.length > 0) {
|
|
996
|
-
const { buildAgentArtifacts } = await import("./build-agents-DseUtzd4-
|
|
996
|
+
const { buildAgentArtifacts } = await import("./build-agents-DseUtzd4-VYWtIZy9.mjs");
|
|
997
997
|
const result = await buildAgentArtifacts({
|
|
998
998
|
entries: buildPlan.agents,
|
|
999
999
|
projectRoot: options.projectRoot
|
|
@@ -1002,7 +1002,7 @@ async function buildDiscoveredWorkflows(options) {
|
|
|
1002
1002
|
failures.push(...result.failures);
|
|
1003
1003
|
}
|
|
1004
1004
|
if (buildPlan.tasks.length > 0) {
|
|
1005
|
-
const { buildTaskArtifacts } = await import("./build-tasks-GVuMLS0h-
|
|
1005
|
+
const { buildTaskArtifacts } = await import("./build-tasks-GVuMLS0h-p08mMOyK.mjs");
|
|
1006
1006
|
const result = await buildTaskArtifacts({
|
|
1007
1007
|
entries: buildPlan.tasks,
|
|
1008
1008
|
projectRoot: options.projectRoot,
|
|
@@ -1110,7 +1110,7 @@ async function createBuildPlan(options) {
|
|
|
1110
1110
|
const currentWorkflowIndex = workflowProgressIndex;
|
|
1111
1111
|
workflowProgressIndex += 1;
|
|
1112
1112
|
if (!loadResult?.ok) {
|
|
1113
|
-
const { createWorkflowMetadataFailure } = await import("./build-workflows-
|
|
1113
|
+
const { createWorkflowMetadataFailure } = await import("./build-workflows-CV4tBo6S-knCnBKTc.mjs");
|
|
1114
1114
|
plan.failures.push(createWorkflowMetadataFailure(discoveredWorkflow, loadResult?.error));
|
|
1115
1115
|
continue;
|
|
1116
1116
|
}
|
|
@@ -1308,7 +1308,7 @@ async function runBuild(config, initialTargetBindingKeys, metadataRebuildDecisio
|
|
|
1308
1308
|
cacheResolvedBindingKeys,
|
|
1309
1309
|
releaseBundleMemory: config.releaseBundleMemory
|
|
1310
1310
|
};
|
|
1311
|
-
const { writeBuildOutput, writeTargetedBuildOutput } = await import("./writer-
|
|
1311
|
+
const { writeBuildOutput, writeTargetedBuildOutput } = await import("./writer-B-SpZ0G2-olEAgSLc.mjs").then((n) => n.f).then((n) => n.t);
|
|
1312
1312
|
const writeResult = targetBindingKeys ? await writeTargetedBuildOutput({
|
|
1313
1313
|
artifacts: finalizedScopedArtifacts,
|
|
1314
1314
|
agentArtifacts,
|
|
@@ -1333,7 +1333,7 @@ async function runBuild(config, initialTargetBindingKeys, metadataRebuildDecisio
|
|
|
1333
1333
|
elapsedMs: performance.now() - writeStartedAt,
|
|
1334
1334
|
...writeResult.skippedWriteCount !== void 0 && writeResult.skippedWriteCount > 0 ? { skippedWriteCount: writeResult.skippedWriteCount } : {}
|
|
1335
1335
|
});
|
|
1336
|
-
const { buildMetadataArtifacts } = await import("./build-metadata-
|
|
1336
|
+
const { buildMetadataArtifacts } = await import("./build-metadata-C8Ra_Gi--BdoyLQMl.mjs");
|
|
1337
1337
|
const metadata = await buildMetadataArtifacts({
|
|
1338
1338
|
projectRoot: config.projectRoot,
|
|
1339
1339
|
outputDir,
|
package/dist/{workflow-bundler-BzHk73PM-CRcJvu9a.mjs → workflow-bundler-BzHk73PM-AIB4-u4Y.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { n as identifierName, o as parseSourceFile, r as isNode } from "./oxc-B3KI3rf_-DdiZWqe2.mjs";
|
|
4
|
-
import { r as formatEnvAccessError, t as createEnvAccessPlugin } from "./detect-env-access-CwkOYeYM-
|
|
4
|
+
import { r as formatEnvAccessError, t as createEnvAccessPlugin } from "./detect-env-access-CwkOYeYM-CZIixHeR.mjs";
|
|
5
5
|
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
6
6
|
import * as path$1 from "node:path";
|
|
7
7
|
import { createHash } from "node:crypto";
|
|
@@ -1,11 +1,10 @@
|
|
|
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-
|
|
4
|
+
import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
|
|
5
5
|
import { n as SHA256HashSchema, t as JsonSchemaSchema } from "./common-BaGFkj3n.mjs";
|
|
6
6
|
import { c as TriggerUploadDataSchema } from "./credential-requirements-FtBk5JVB.mjs";
|
|
7
7
|
import { a as FlowGraphSchema, r as WorkflowBuildManifestSchema } from "./workflow-build-manifest-OPFqFD6f.mjs";
|
|
8
|
-
import { n as WorkflowsRunOptionsSchema, t as RUN_OPTIONS_CONFIG } from "./options-BsIkm0Bb.mjs";
|
|
9
8
|
import { z } from "zod";
|
|
10
9
|
const GitProviderSchema = z.enum(["codestorage", "github"]);
|
|
11
10
|
const GitTreeEntryTypeSchema = z.enum(["file", "directory"]);
|
|
@@ -321,7 +320,7 @@ function createWorkflowsBuildCommand() {
|
|
|
321
320
|
description: "Build workflows locally",
|
|
322
321
|
schema: WorkflowsBuildOptionsSchema,
|
|
323
322
|
optionsConfig: BUILD_OPTIONS_CONFIG,
|
|
324
|
-
loadHandler: async () => (await import("./build.handler-
|
|
323
|
+
loadHandler: async () => (await import("./build.handler-BNSC_zhQ.mjs")).handleWorkflowsBuild
|
|
325
324
|
});
|
|
326
325
|
}
|
|
327
326
|
//#endregion
|
|
@@ -348,7 +347,7 @@ function createWorkflowsDiffCommand() {
|
|
|
348
347
|
description: "Authored workflow id (preferred) or workflow name",
|
|
349
348
|
key: "workflow"
|
|
350
349
|
},
|
|
351
|
-
loadHandler: async () => (await import("./diff.handler-
|
|
350
|
+
loadHandler: async () => (await import("./diff.handler-CzrKCj7N.mjs")).handleWorkflowsDiff
|
|
352
351
|
});
|
|
353
352
|
}
|
|
354
353
|
//#endregion
|
|
@@ -381,7 +380,7 @@ function createWorkflowsEnvCommand() {
|
|
|
381
380
|
key: "workflow",
|
|
382
381
|
required: false
|
|
383
382
|
},
|
|
384
|
-
loadHandler: async () => (await import("./env.handler-
|
|
383
|
+
loadHandler: async () => (await import("./env.handler-B3YDQIVE.mjs")).handleWorkflowsEnv
|
|
385
384
|
});
|
|
386
385
|
}
|
|
387
386
|
//#endregion
|
|
@@ -413,7 +412,7 @@ function createWorkflowsInspectCommand() {
|
|
|
413
412
|
description: "Authored workflow id (preferred) or workflow name",
|
|
414
413
|
key: "workflow"
|
|
415
414
|
},
|
|
416
|
-
loadHandler: async () => (await import("./inspect.handler-
|
|
415
|
+
loadHandler: async () => (await import("./inspect.handler-umc7of-r.mjs")).handleWorkflowsInspect
|
|
417
416
|
});
|
|
418
417
|
}
|
|
419
418
|
//#endregion
|
|
@@ -509,7 +508,7 @@ function createWorkflowsLogsCommand() {
|
|
|
509
508
|
key: "workflow",
|
|
510
509
|
required: false
|
|
511
510
|
},
|
|
512
|
-
loadHandler: async () => (await import("./logs.handler-
|
|
511
|
+
loadHandler: async () => (await import("./logs.handler-DGcGN2qb.mjs")).handleWorkflowsLogs
|
|
513
512
|
});
|
|
514
513
|
}
|
|
515
514
|
//#endregion
|
|
@@ -793,15 +792,54 @@ function createWorkflowsRunCommand() {
|
|
|
793
792
|
key: "payload",
|
|
794
793
|
required: false
|
|
795
794
|
}],
|
|
796
|
-
loadHandler: async () => (await import("./run.handler-
|
|
795
|
+
loadHandler: async () => (await import("./run.handler-BiBDLoeH.mjs")).handleWorkflowsRun
|
|
797
796
|
});
|
|
798
797
|
}
|
|
799
798
|
//#endregion
|
|
800
|
-
//#region src/commands/workflows/
|
|
801
|
-
|
|
799
|
+
//#region src/commands/workflows/_shared/options.ts
|
|
800
|
+
/**
|
|
801
|
+
* Options schema for `workflows test` (build, upload, and run on server).
|
|
802
|
+
*
|
|
803
|
+
* Resolution order for workflow ref: authored workflow id (preferred) then name. If multiple workflows share a
|
|
804
|
+
* name, all are run sequentially. Use workflow id for exact targeting.
|
|
805
|
+
*/
|
|
806
|
+
const WorkflowsRunOptionsSchema = z.object({
|
|
807
|
+
/** Authored workflow id (preferred) or workflow name. */
|
|
808
|
+
workflow: z.string(),
|
|
809
|
+
input: z.string().optional(),
|
|
810
|
+
inputFile: z.string().optional(),
|
|
811
|
+
path: z.string().optional(),
|
|
812
|
+
verbose: z.boolean().default(false),
|
|
813
|
+
timeout: z.coerce.number().int().default(120)
|
|
814
|
+
});
|
|
815
|
+
const RUN_OPTIONS_CONFIG = {
|
|
816
|
+
input: {
|
|
817
|
+
flag: "--input <json>",
|
|
818
|
+
description: "Workflow input as inline JSON string"
|
|
819
|
+
},
|
|
820
|
+
inputFile: {
|
|
821
|
+
flag: "--input-file <path>",
|
|
822
|
+
description: "Path to a JSON file containing workflow input"
|
|
823
|
+
},
|
|
824
|
+
path: {
|
|
825
|
+
flag: "--path <dir>",
|
|
826
|
+
description: "Path to project root (directory containing keystroke.config.ts); auto-discovered from CWD if omitted"
|
|
827
|
+
},
|
|
828
|
+
verbose: {
|
|
829
|
+
flag: "--verbose",
|
|
830
|
+
description: "Show detailed build and execution logs"
|
|
831
|
+
},
|
|
832
|
+
timeout: {
|
|
833
|
+
flag: "--timeout <seconds>",
|
|
834
|
+
description: "Max seconds to wait for workflow completion (default: 120)"
|
|
835
|
+
}
|
|
836
|
+
};
|
|
837
|
+
//#endregion
|
|
838
|
+
//#region src/commands/workflows/test.command.ts
|
|
839
|
+
function createWorkflowsTestCommand() {
|
|
802
840
|
return createTypedCommand({
|
|
803
|
-
name: "
|
|
804
|
-
description: "Build, upload, and
|
|
841
|
+
name: "test",
|
|
842
|
+
description: "Build, upload, and test a workflow on the server",
|
|
805
843
|
schema: WorkflowsRunOptionsSchema,
|
|
806
844
|
optionsConfig: RUN_OPTIONS_CONFIG,
|
|
807
845
|
argument: {
|
|
@@ -809,7 +847,7 @@ function createWorkflowsTryDeployCommand() {
|
|
|
809
847
|
description: "Authored workflow id (preferred) or workflow name. Multiple workflows with the same name run sequentially.",
|
|
810
848
|
key: "workflow"
|
|
811
849
|
},
|
|
812
|
-
loadHandler: async () => (await import("./
|
|
850
|
+
loadHandler: async () => (await import("./test.handler-DkizZhVu.mjs")).handleWorkflowsTest
|
|
813
851
|
});
|
|
814
852
|
}
|
|
815
853
|
//#endregion
|
|
@@ -847,7 +885,7 @@ function createWorkflowsValidateCommand() {
|
|
|
847
885
|
key: "workflow",
|
|
848
886
|
required: false
|
|
849
887
|
},
|
|
850
|
-
loadHandler: async () => (await import("./validate.handler-
|
|
888
|
+
loadHandler: async () => (await import("./validate.handler-I8LY-UkG.mjs")).handleWorkflowsValidate
|
|
851
889
|
});
|
|
852
890
|
}
|
|
853
891
|
//#endregion
|
|
@@ -866,18 +904,18 @@ function createWorkflowsCommand() {
|
|
|
866
904
|
description: "Manage, run, inspect, and debug workflows",
|
|
867
905
|
schema: WorkflowsOptionsSchema,
|
|
868
906
|
optionsConfig: WORKFLOWS_OPTIONS_CONFIG,
|
|
869
|
-
loadHandler: async () => (await import("./
|
|
907
|
+
loadHandler: async () => (await import("./list2.handler-T5v4EK20.mjs")).handleWorkflowsList,
|
|
870
908
|
subcommands: [
|
|
871
909
|
createTypedCommand({
|
|
872
910
|
name: "list",
|
|
873
911
|
description: "List all workflows in the project",
|
|
874
912
|
schema: WorkflowsOptionsSchema,
|
|
875
913
|
optionsConfig: WORKFLOWS_OPTIONS_CONFIG,
|
|
876
|
-
loadHandler: async () => (await import("./
|
|
914
|
+
loadHandler: async () => (await import("./list2.handler-T5v4EK20.mjs")).handleWorkflowsList
|
|
877
915
|
}),
|
|
878
916
|
createWorkflowsBuildCommand(),
|
|
917
|
+
createWorkflowsTestCommand(),
|
|
879
918
|
createWorkflowsRunCommand(),
|
|
880
|
-
createWorkflowsTryDeployCommand(),
|
|
881
919
|
createWorkflowsInspectCommand(),
|
|
882
920
|
createWorkflowsValidateCommand(),
|
|
883
921
|
createWorkflowsDiffCommand(),
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { n as __exportAll } from "./chunk-CH6r78ws.mjs";
|
|
4
|
-
import { f as getTriggersDir, n as BUILD_OUTPUT_DIR_NAME, p as getWorkflowArtifactPaths, t as BUILD_DIR_NAME } from "./layout-
|
|
4
|
+
import { f as getTriggersDir, n as BUILD_OUTPUT_DIR_NAME, p as getWorkflowArtifactPaths, t as BUILD_DIR_NAME } from "./layout-CXkZEsXI.mjs";
|
|
5
5
|
import { t as TriggerBuildManifestSchema } from "./trigger-manifest-PTjVYL1r.mjs";
|
|
6
6
|
import { t as __exportAll$1 } from "./rolldown-runtime-twds-ZHy-CO5ir_za.mjs";
|
|
7
|
-
import { s as sha256String } from "./metadata-layout-
|
|
7
|
+
import { s as sha256String } from "./metadata-layout-Bv-B0nHj-CqlcZz_g.mjs";
|
|
8
8
|
import { t as runWithConcurrency } from "./concurrency-gXn9Rw8x-BI6HQNfC.mjs";
|
|
9
9
|
import { access, mkdir, readdir, rm, stat, writeFile } from "node:fs/promises";
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
import { createHash } from "node:crypto";
|
|
12
|
-
//#region ../../packages/workflow-builder/dist/writer-
|
|
13
|
-
var
|
|
12
|
+
//#region ../../packages/workflow-builder/dist/writer-B-SpZ0G2.mjs
|
|
13
|
+
var writer_B_SpZ0G2_exports = /* @__PURE__ */ __exportAll({
|
|
14
14
|
a: () => getAgentArtifactPaths,
|
|
15
15
|
d: () => allOutputFilesExist,
|
|
16
16
|
f: () => hashAgentManifestForDisk,
|
|
@@ -423,4 +423,4 @@ var writer_exports = /* @__PURE__ */ __exportAll$1({
|
|
|
423
423
|
writeTargetedBuildOutput: () => writeTargetedBuildOutput
|
|
424
424
|
});
|
|
425
425
|
//#endregion
|
|
426
|
-
export { getAgentArtifactPaths as a, hashWorkflowManifestForDisk as c, resolveOutputDir as d,
|
|
426
|
+
export { getAgentArtifactPaths as a, hashWorkflowManifestForDisk as c, resolveOutputDir as d, writer_B_SpZ0G2_exports as f, createAgentOutputFiles as i, removeAgentArtifacts as l, BUILD_CACHE_FILE_NAME as n, hashAgentManifestForDisk as o, allOutputFilesExist as r, hashWorkflowFlowForDisk as s, AGENT_ARTIFACT_DIR_PREFIX as t, removeWorkflowArtifacts as u };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keystrokehq/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.16",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Command-line interface for creating, managing, and deploying Keystroke automations.",
|
|
6
6
|
"type": "module",
|
|
@@ -41,17 +41,17 @@
|
|
|
41
41
|
"vitest": "^4.1.5",
|
|
42
42
|
"@keystroke/env-utils": "0.0.0",
|
|
43
43
|
"@keystroke/local-memory": "0.0.0",
|
|
44
|
-
"@
|
|
45
|
-
"@keystroke/shared-types": "0.0.3",
|
|
46
|
-
"@keystroke/test-utils": "0.0.2",
|
|
44
|
+
"@keystrokehq/config": "0.0.2",
|
|
47
45
|
"@keystroke/typescript-config": "0.0.0",
|
|
46
|
+
"@keystroke/shared-types": "0.0.3",
|
|
48
47
|
"@keystroke/utils": "0.0.0",
|
|
49
|
-
"@keystroke/workflow-builder": "0.0.
|
|
48
|
+
"@keystroke/workflow-builder": "0.0.5",
|
|
50
49
|
"@keystrokehq/core": "0.0.6",
|
|
51
50
|
"@keystrokehq/testing": "0.0.2",
|
|
51
|
+
"@keystroke/workflow-deploy": "0.0.4",
|
|
52
52
|
"@keystrokehq/workflow-build-contracts": "0.0.2",
|
|
53
|
-
"@keystroke/workflow-
|
|
54
|
-
"@keystroke/
|
|
53
|
+
"@keystroke/workflow-sdk": "0.0.2",
|
|
54
|
+
"@keystroke/test-utils": "0.0.2"
|
|
55
55
|
},
|
|
56
56
|
"keywords": [
|
|
57
57
|
"automation",
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
//#region src/commands/workflows/_shared/options.ts
|
|
5
|
-
/**
|
|
6
|
-
* Options schema for `workflows try-deploy` (build, upload, and run on server).
|
|
7
|
-
*
|
|
8
|
-
* Resolution order for workflow ref: authored workflow id (preferred) then name. If multiple workflows share a
|
|
9
|
-
* name, all are run sequentially. Use workflow id for exact targeting.
|
|
10
|
-
*/
|
|
11
|
-
const WorkflowsRunOptionsSchema = z.object({
|
|
12
|
-
/** Authored workflow id (preferred) or workflow name. */
|
|
13
|
-
workflow: z.string(),
|
|
14
|
-
input: z.string().optional(),
|
|
15
|
-
inputFile: z.string().optional(),
|
|
16
|
-
path: z.string().optional(),
|
|
17
|
-
verbose: z.boolean().default(false),
|
|
18
|
-
timeout: z.coerce.number().int().default(120)
|
|
19
|
-
});
|
|
20
|
-
const RUN_OPTIONS_CONFIG = {
|
|
21
|
-
input: {
|
|
22
|
-
flag: "--input <json>",
|
|
23
|
-
description: "Workflow input as inline JSON string"
|
|
24
|
-
},
|
|
25
|
-
inputFile: {
|
|
26
|
-
flag: "--input-file <path>",
|
|
27
|
-
description: "Path to a JSON file containing workflow input"
|
|
28
|
-
},
|
|
29
|
-
path: {
|
|
30
|
-
flag: "--path <dir>",
|
|
31
|
-
description: "Path to project root (directory containing keystroke.config.ts); auto-discovered from CWD if omitted"
|
|
32
|
-
},
|
|
33
|
-
verbose: {
|
|
34
|
-
flag: "--verbose",
|
|
35
|
-
description: "Show detailed build and execution logs"
|
|
36
|
-
},
|
|
37
|
-
timeout: {
|
|
38
|
-
flag: "--timeout <seconds>",
|
|
39
|
-
description: "Max seconds to wait for workflow completion (default: 120)"
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
//#endregion
|
|
43
|
-
export { WorkflowsRunOptionsSchema as n, RUN_OPTIONS_CONFIG as t };
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
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 { z } from "zod";
|
|
6
|
-
//#region src/commands/skills/skills.command.ts
|
|
7
|
-
const SkillsCommandOptionsSchema = JsonOptionSchema.extend({ path: z.string().optional().describe("Project root (default: current directory)") });
|
|
8
|
-
const SKILLS_OPTIONS_CONFIG = {
|
|
9
|
-
...JSON_OPTION_CONFIG,
|
|
10
|
-
path: {
|
|
11
|
-
flag: "--path <dir>",
|
|
12
|
-
description: "Project root (directory containing package.json; default: cwd)"
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
function createSkillsCommand() {
|
|
16
|
-
const cmd = createTypedCommand({
|
|
17
|
-
name: "skills",
|
|
18
|
-
description: "Sync Keystroke agent skills (SKILL.md) from @keystrokehq/skills",
|
|
19
|
-
schema: SkillsCommandOptionsSchema,
|
|
20
|
-
optionsConfig: SKILLS_OPTIONS_CONFIG,
|
|
21
|
-
loadHandler: async () => (await import("./skills.handler-CPKCf9ZK.mjs")).handleSkillsParent,
|
|
22
|
-
subcommands: [createTypedCommand({
|
|
23
|
-
name: "sync",
|
|
24
|
-
description: "Copy installed @keystrokehq/skills into .cursor/skills and .claude/skills",
|
|
25
|
-
schema: SkillsCommandOptionsSchema,
|
|
26
|
-
optionsConfig: SKILLS_OPTIONS_CONFIG,
|
|
27
|
-
loadHandler: async () => (await import("./skills-sync.handler-DXF6IgEX.mjs")).handleSkillsSync
|
|
28
|
-
})]
|
|
29
|
-
});
|
|
30
|
-
cmd.enablePositionalOptions();
|
|
31
|
-
cmd.passThroughOptions();
|
|
32
|
-
return cmd;
|
|
33
|
-
}
|
|
34
|
-
//#endregion
|
|
35
|
-
export { createSkillsCommand };
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { createRequire } from "node:module";
|
|
4
|
-
import { access, cp, mkdir, readdir } from "node:fs/promises";
|
|
5
|
-
import path from "node:path";
|
|
6
|
-
//#region src/lib/sync-keystroke-agent-skills.ts
|
|
7
|
-
/**
|
|
8
|
-
* Resolve the `@keystrokehq/skills` package root from the CLI's own node_modules.
|
|
9
|
-
* Skills are distributed with the CLI release, so no npm install is needed.
|
|
10
|
-
*/
|
|
11
|
-
async function resolveKeystrokeSkillsPackageRoot() {
|
|
12
|
-
try {
|
|
13
|
-
const require = createRequire(import.meta.url);
|
|
14
|
-
return path.dirname(require.resolve("@keystrokehq/skills/package.json"));
|
|
15
|
-
} catch {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
async function listKeystrokeSkillDirectoryNames(skillsPackageRoot) {
|
|
20
|
-
const entries = await readdir(skillsPackageRoot, { withFileTypes: true });
|
|
21
|
-
const names = [];
|
|
22
|
-
for (const e of entries) {
|
|
23
|
-
if (!e.isDirectory()) continue;
|
|
24
|
-
if (e.name.startsWith(".")) continue;
|
|
25
|
-
try {
|
|
26
|
-
await access(path.join(skillsPackageRoot, e.name, "SKILL.md"));
|
|
27
|
-
names.push(e.name);
|
|
28
|
-
} catch {}
|
|
29
|
-
}
|
|
30
|
-
return names.sort();
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Copy each skill directory from the resolved `@keystrokehq/skills` package into
|
|
34
|
-
* `.cursor/skills` and `.claude/skills` under `projectDir`.
|
|
35
|
-
*/
|
|
36
|
-
async function syncKeystrokeAgentSkills(projectDir) {
|
|
37
|
-
const packageRoot = await resolveKeystrokeSkillsPackageRoot();
|
|
38
|
-
if (!packageRoot) return {
|
|
39
|
-
ok: false,
|
|
40
|
-
reason: "not_installed"
|
|
41
|
-
};
|
|
42
|
-
const names = await listKeystrokeSkillDirectoryNames(packageRoot);
|
|
43
|
-
if (names.length === 0) return {
|
|
44
|
-
ok: false,
|
|
45
|
-
reason: "no_skills_found",
|
|
46
|
-
packageRoot
|
|
47
|
-
};
|
|
48
|
-
const root = path.resolve(projectDir);
|
|
49
|
-
for (const name of names) {
|
|
50
|
-
const src = path.join(packageRoot, name);
|
|
51
|
-
for (const rel of [".cursor/skills", ".claude/skills"]) {
|
|
52
|
-
const dest = path.join(root, rel, name);
|
|
53
|
-
await mkdir(path.dirname(dest), { recursive: true });
|
|
54
|
-
await cp(src, dest, {
|
|
55
|
-
recursive: true,
|
|
56
|
-
force: true
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return {
|
|
61
|
-
ok: true,
|
|
62
|
-
copied: names
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
//#endregion
|
|
66
|
-
export { syncKeystrokeAgentSkills as t };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/{detect-env-access-CwkOYeYM-BLtKepjx.mjs → detect-env-access-CwkOYeYM-CZIixHeR.mjs}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|