@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
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { writeSync } from "node:fs";
|
|
4
|
+
import { parentPort } from "node:worker_threads";
|
|
5
|
+
//#region src/lib/spinner-worker.ts
|
|
6
|
+
/** Use stdout so cursor position matches `@clack/prompts` `log` (stdout). Mixing stderr here desyncs multi-line ANSI redraws. */
|
|
7
|
+
const OUTPUT_FD = 1;
|
|
8
|
+
const SPINNER_INTERVAL_MS = 79;
|
|
9
|
+
/** Reserve space for prefix, spinner glyph, padding, and elapsed time so lines do not wrap. */
|
|
10
|
+
const LINE_RESERVE_SPINNING = 28;
|
|
11
|
+
/** Completed lines only need room for checkmark + dim duration at end (label carries timing breakdown). */
|
|
12
|
+
const LINE_RESERVE_COMPLETED = 14;
|
|
13
|
+
const BOLD = "\x1B[1m";
|
|
14
|
+
const DIM = "\x1B[2m";
|
|
15
|
+
const CYAN = "\x1B[36m";
|
|
16
|
+
const GREEN = "\x1B[32m";
|
|
17
|
+
const RED = "\x1B[31m";
|
|
18
|
+
const RESET = "\x1B[0m";
|
|
19
|
+
const CURSOR_UP = "\x1B[A";
|
|
20
|
+
const CLEAR_LINE = "\r\x1B[2K";
|
|
21
|
+
let phases = [];
|
|
22
|
+
let linesRendered = 0;
|
|
23
|
+
let intervalId = null;
|
|
24
|
+
function formatDuration(ms) {
|
|
25
|
+
if (ms < 1e3) return `${Math.round(ms)}ms`;
|
|
26
|
+
return `${(ms / 1e3).toFixed(1)}s`;
|
|
27
|
+
}
|
|
28
|
+
function moveUp(n) {
|
|
29
|
+
if (n <= 0) return "";
|
|
30
|
+
return CURSOR_UP.repeat(n);
|
|
31
|
+
}
|
|
32
|
+
function terminalColumns() {
|
|
33
|
+
const c = process.stdout.columns;
|
|
34
|
+
return typeof c === "number" && c > 0 ? c : 80;
|
|
35
|
+
}
|
|
36
|
+
function truncatePlainLabel(label, maxLen) {
|
|
37
|
+
if (label.length <= maxLen) return label;
|
|
38
|
+
if (maxLen <= 3) return "...";
|
|
39
|
+
return `${label.slice(0, maxLen - 3)}...`;
|
|
40
|
+
}
|
|
41
|
+
function maxLabelLength() {
|
|
42
|
+
return Math.max(16, terminalColumns() - LINE_RESERVE_SPINNING);
|
|
43
|
+
}
|
|
44
|
+
function maxCompletedLabelLength() {
|
|
45
|
+
/** Detail lines are split; allow longer segments per line than old single-line budget. */
|
|
46
|
+
return Math.max(72, terminalColumns() - LINE_RESERVE_COMPLETED);
|
|
47
|
+
}
|
|
48
|
+
function clearRenderedArea() {
|
|
49
|
+
if (linesRendered <= 0) return;
|
|
50
|
+
let output = "";
|
|
51
|
+
if (linesRendered > 1) output += moveUp(linesRendered - 1);
|
|
52
|
+
for (let i = 0; i < linesRendered; i++) {
|
|
53
|
+
output += CLEAR_LINE;
|
|
54
|
+
if (i < linesRendered - 1) output += "\n";
|
|
55
|
+
}
|
|
56
|
+
if (linesRendered > 1) output += moveUp(linesRendered - 1);
|
|
57
|
+
writeSync(OUTPUT_FD, output);
|
|
58
|
+
linesRendered = 0;
|
|
59
|
+
}
|
|
60
|
+
function renderPhases() {
|
|
61
|
+
if (phases.length === 0) {
|
|
62
|
+
linesRendered = 0;
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const maxLabel = maxLabelLength();
|
|
66
|
+
let output = "";
|
|
67
|
+
for (const [i, phase] of phases.entries()) {
|
|
68
|
+
const label = truncatePlainLabel(phase.label, maxLabel);
|
|
69
|
+
if (phase.status === "spinning") {
|
|
70
|
+
const spinnerChar = `${BOLD}${CYAN}●${RESET}`;
|
|
71
|
+
if (phase.showElapsed) {
|
|
72
|
+
const timeStr = `${DIM}${formatDuration(Date.now() - phase.startTime)}${RESET}`;
|
|
73
|
+
output += `${CLEAR_LINE} ${spinnerChar} ${label} ${timeStr}`;
|
|
74
|
+
} else output += `${CLEAR_LINE} ${spinnerChar} ${label}`;
|
|
75
|
+
} else output += `${CLEAR_LINE} ${DIM}○ ${label}${RESET}`;
|
|
76
|
+
if (i < phases.length - 1) output += "\n";
|
|
77
|
+
}
|
|
78
|
+
writeSync(OUTPUT_FD, output);
|
|
79
|
+
linesRendered = phases.length;
|
|
80
|
+
}
|
|
81
|
+
function tick() {
|
|
82
|
+
if (phases.length === 0) return;
|
|
83
|
+
if (linesRendered > 0) writeSync(OUTPUT_FD, moveUp(linesRendered - 1));
|
|
84
|
+
renderPhases();
|
|
85
|
+
}
|
|
86
|
+
function ensureInterval() {
|
|
87
|
+
if (!intervalId && phases.some((phase) => phase.status === "spinning")) intervalId = setInterval(tick, SPINNER_INTERVAL_MS);
|
|
88
|
+
}
|
|
89
|
+
function stopIntervalIfIdle() {
|
|
90
|
+
if (intervalId && !phases.some((phase) => phase.status === "spinning")) {
|
|
91
|
+
clearInterval(intervalId);
|
|
92
|
+
intervalId = null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function writeCompletedLine(label, elapsed) {
|
|
96
|
+
const check = `${BOLD}${GREEN}✓${RESET}`;
|
|
97
|
+
const segments = label.split("\n").map((s) => s.trim()).filter((s) => s.length > 0);
|
|
98
|
+
if (segments.length === 0) {
|
|
99
|
+
if (elapsed) writeSync(OUTPUT_FD, `${CLEAR_LINE} ${check} ${`${DIM}${elapsed}${RESET}`}\n`);
|
|
100
|
+
else writeSync(OUTPUT_FD, `${CLEAR_LINE} ${check}\n`);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
const maxW = maxCompletedLabelLength();
|
|
104
|
+
const first = truncatePlainLabel(segments[0] ?? "", maxW);
|
|
105
|
+
if (elapsed) writeSync(OUTPUT_FD, `${CLEAR_LINE} ${check} ${first} ${`${DIM}${elapsed}${RESET}`}\n`);
|
|
106
|
+
else writeSync(OUTPUT_FD, `${CLEAR_LINE} ${check} ${first}\n`);
|
|
107
|
+
for (const segment of segments.slice(1)) writeSync(OUTPUT_FD, `${CLEAR_LINE} ${DIM}${truncatePlainLabel(segment, maxW)}${RESET}\n`);
|
|
108
|
+
}
|
|
109
|
+
function writeFailedLine(label, elapsed, error) {
|
|
110
|
+
const cross = `${BOLD}${RED}✗${RESET}`;
|
|
111
|
+
const truncated = truncatePlainLabel(error ? `${label}: ${error}` : label, maxCompletedLabelLength());
|
|
112
|
+
if (elapsed) writeSync(OUTPUT_FD, `${CLEAR_LINE} ${cross} ${truncated} ${`${DIM}${elapsed}${RESET}`}\n`);
|
|
113
|
+
else writeSync(OUTPUT_FD, `${CLEAR_LINE} ${cross} ${truncated}\n`);
|
|
114
|
+
}
|
|
115
|
+
function writeSkippedLine(label) {
|
|
116
|
+
writeSync(OUTPUT_FD, `${CLEAR_LINE} ${`${DIM}-${RESET}`} ${truncatePlainLabel(label, maxCompletedLabelLength())}\n`);
|
|
117
|
+
}
|
|
118
|
+
function finalizePhase(id, writeLine) {
|
|
119
|
+
clearRenderedArea();
|
|
120
|
+
writeLine();
|
|
121
|
+
phases = phases.filter((p) => p.id !== id);
|
|
122
|
+
if (phases.length > 0) renderPhases();
|
|
123
|
+
stopIntervalIfIdle();
|
|
124
|
+
}
|
|
125
|
+
parentPort?.on("message", (msg) => {
|
|
126
|
+
switch (msg.type) {
|
|
127
|
+
case "addPendingPhase": {
|
|
128
|
+
const phaseId = msg.id ?? "";
|
|
129
|
+
if (!phases.find((p) => p.id === phaseId)) phases.push({
|
|
130
|
+
id: phaseId,
|
|
131
|
+
label: msg.label ?? "",
|
|
132
|
+
startTime: 0,
|
|
133
|
+
status: "pending",
|
|
134
|
+
showElapsed: msg.showElapsed ?? true
|
|
135
|
+
});
|
|
136
|
+
if (linesRendered > 0) writeSync(OUTPUT_FD, moveUp(linesRendered - 1));
|
|
137
|
+
renderPhases();
|
|
138
|
+
ensureInterval();
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
case "addPhase": {
|
|
142
|
+
const phaseId = msg.id ?? "";
|
|
143
|
+
const existing = phases.find((p) => p.id === phaseId);
|
|
144
|
+
if (existing) {
|
|
145
|
+
existing.label = msg.label ?? "";
|
|
146
|
+
existing.startTime = Date.now();
|
|
147
|
+
existing.status = "spinning";
|
|
148
|
+
existing.showElapsed = msg.showElapsed ?? existing.showElapsed;
|
|
149
|
+
} else phases.push({
|
|
150
|
+
id: phaseId,
|
|
151
|
+
label: msg.label ?? "",
|
|
152
|
+
startTime: Date.now(),
|
|
153
|
+
status: "spinning",
|
|
154
|
+
showElapsed: msg.showElapsed ?? true
|
|
155
|
+
});
|
|
156
|
+
if (linesRendered > 0) writeSync(OUTPUT_FD, moveUp(linesRendered - 1));
|
|
157
|
+
renderPhases();
|
|
158
|
+
ensureInterval();
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
case "updateLabel": {
|
|
162
|
+
const phase = phases.find((p) => p.id === msg.id);
|
|
163
|
+
if (phase) {
|
|
164
|
+
phase.label = msg.label ?? "";
|
|
165
|
+
if (linesRendered > 0) writeSync(OUTPUT_FD, moveUp(linesRendered - 1));
|
|
166
|
+
renderPhases();
|
|
167
|
+
}
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
case "completePhase":
|
|
171
|
+
finalizePhase(msg.id ?? "", () => {
|
|
172
|
+
writeCompletedLine(msg.label ?? "", msg.showElapsed ? msg.elapsed ?? "" : void 0);
|
|
173
|
+
});
|
|
174
|
+
break;
|
|
175
|
+
case "failPhase":
|
|
176
|
+
finalizePhase(msg.id ?? "", () => {
|
|
177
|
+
writeFailedLine(msg.label ?? "", msg.showElapsed ? msg.elapsed ?? "" : void 0, msg.error);
|
|
178
|
+
});
|
|
179
|
+
break;
|
|
180
|
+
case "skipPhase":
|
|
181
|
+
finalizePhase(msg.id ?? "", () => {
|
|
182
|
+
writeSkippedLine(msg.label ?? "");
|
|
183
|
+
});
|
|
184
|
+
break;
|
|
185
|
+
case "stopAll":
|
|
186
|
+
clearRenderedArea();
|
|
187
|
+
phases = [];
|
|
188
|
+
if (intervalId) {
|
|
189
|
+
clearInterval(intervalId);
|
|
190
|
+
intervalId = null;
|
|
191
|
+
}
|
|
192
|
+
break;
|
|
193
|
+
case "exit":
|
|
194
|
+
if (intervalId) {
|
|
195
|
+
clearInterval(intervalId);
|
|
196
|
+
intervalId = null;
|
|
197
|
+
}
|
|
198
|
+
process.exit(0);
|
|
199
|
+
break;
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
//#endregion
|
|
203
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import { t as createTypedCommand } from "./commander-
|
|
3
|
+
import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region src/commands/sync/sync.command.ts
|
|
6
6
|
/**
|
|
@@ -32,7 +32,7 @@ function createSyncCommand() {
|
|
|
32
32
|
description: "Sync local workflows with Keystroke",
|
|
33
33
|
schema: SyncOptionsSchema,
|
|
34
34
|
optionsConfig: SYNC_OPTIONS_CONFIG,
|
|
35
|
-
loadHandler: async () => (await import("./sync.handler-
|
|
35
|
+
loadHandler: async () => (await import("./sync.handler-Be0U3x-n.mjs")).handleSync
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
//#endregion
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import { N as throwReportedCliExit, n as ui, o as isLocalMode, u as logger, x as toErrorMessage } from "./keystroke.mjs";
|
|
4
4
|
import { d as trackProject } from "./dist-BF6r1hfv.mjs";
|
|
5
5
|
import { a as validateApiKey, i as requireClient } from "./context-B1L8pZsH.mjs";
|
|
6
|
-
import { n as deployFromDir } from "./dist-
|
|
7
|
-
import { t as requireWorkflowsDir } from "./resolve-project-
|
|
8
|
-
import { a as runWorkflowBuild, n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-
|
|
9
|
-
import { t as createBuildProgress } from "./build-progress-
|
|
10
|
-
import { t as createDeployProgress } from "./deploy-progress-
|
|
6
|
+
import { n as deployFromDir } from "./dist-FQYQ2FLm.mjs";
|
|
7
|
+
import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
|
|
8
|
+
import { a as runWorkflowBuild, n as renderBuildFailure, r as renderBuildHeader } from "./workflow-build-C9rQQ4qU.mjs";
|
|
9
|
+
import { t as createBuildProgress } from "./build-progress-BZivcVz4.mjs";
|
|
10
|
+
import { t as createDeployProgress } from "./deploy-progress-DJHph1Fz.mjs";
|
|
11
11
|
//#region src/commands/sync/sync.handler.ts
|
|
12
12
|
async function handleSync(options, ctx) {
|
|
13
13
|
try {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import { t as readCredentialKeysFromSchemaObject } from "./read-credential-keys-77a91T8M-
|
|
3
|
+
import { t as readCredentialKeysFromSchemaObject } from "./read-credential-keys-77a91T8M-DMmY6oDW.mjs";
|
|
4
4
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { pathToFileURL } from "node:url";
|
|
@@ -109,7 +109,7 @@ async function buildTaskTargetFile(options) {
|
|
|
109
109
|
return builtTasks;
|
|
110
110
|
}
|
|
111
111
|
async function bundleTaskTargetModule(options) {
|
|
112
|
-
const [{ rolldown }, { createEnvAccessPlugin, formatEnvAccessError }] = await Promise.all([import("rolldown"), import("./detect-env-access-CwkOYeYM-
|
|
112
|
+
const [{ rolldown }, { createEnvAccessPlugin, formatEnvAccessError }] = await Promise.all([import("rolldown"), import("./detect-env-access-CwkOYeYM-CZIixHeR.mjs").then((n) => n.n).then((n) => n.n)]);
|
|
113
113
|
const entryId = "\0virtual:task-target-entry";
|
|
114
114
|
const trackedDependencies = /* @__PURE__ */ new Set();
|
|
115
115
|
const envViolations = [];
|
|
@@ -216,7 +216,7 @@ async function attachTaskTargetTriggers(options) {
|
|
|
216
216
|
options.artifact.triggers.push(...buildTaskTriggerArtifactsWithoutBundles(options.entry.taskMetadata.triggers, options.artifact.task.taskId, options.artifact.task.taskName));
|
|
217
217
|
return [];
|
|
218
218
|
}
|
|
219
|
-
const { buildTriggerArtifacts } = await import("./trigger-artifacts-RizI57RC-
|
|
219
|
+
const { buildTriggerArtifacts } = await import("./trigger-artifacts-RizI57RC-CxHwCkQ_.mjs").then((n) => n.n);
|
|
220
220
|
const triggerResult = await buildTriggerArtifacts(options.entry.taskMetadata.triggers, options.artifact.task.taskId, options.artifact.task.taskName, options.projectRoot, {
|
|
221
221
|
workflowExportName: options.entry.source.localExportName,
|
|
222
222
|
workflowFilePath: options.entry.runtimeBundlePath
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import "./default-urls-BS4twrsS.mjs";
|
|
4
4
|
import { l as resolveAuthOptions } from "./dist-BF6r1hfv.mjs";
|
|
5
|
-
import { n as findProjectRoot, t as assertWorkflowProjectRoot } from "./project-config-
|
|
5
|
+
import { n as findProjectRoot, t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
|
|
6
6
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import { spawnSync } from "node:child_process";
|
|
@@ -116,7 +116,7 @@ function restartStage(options, projectRoot, stage) {
|
|
|
116
116
|
}
|
|
117
117
|
async function runBuildPhase(options, projectRoot) {
|
|
118
118
|
const projectConfig = await assertWorkflowProjectRoot(projectRoot);
|
|
119
|
-
const { buildTaskTargetEntries } = await import("./task-target-build-
|
|
119
|
+
const { buildTaskTargetEntries } = await import("./task-target-build-BG6cC3bz.mjs");
|
|
120
120
|
await writeBuildDescriptor(projectRoot, {
|
|
121
121
|
projectRoot,
|
|
122
122
|
projectConfig,
|
|
@@ -129,7 +129,7 @@ async function runBuildPhase(options, projectRoot) {
|
|
|
129
129
|
}
|
|
130
130
|
async function runPreparePhase(projectRoot) {
|
|
131
131
|
const buildDescriptor = await readBuildDescriptor(projectRoot);
|
|
132
|
-
const { prepareTaskTargetBuiltTasks } = await import("./task-target-build-
|
|
132
|
+
const { prepareTaskTargetBuiltTasks } = await import("./task-target-build-BG6cC3bz.mjs");
|
|
133
133
|
const prepareResult = await prepareTaskTargetBuiltTasks({
|
|
134
134
|
builtTasks: buildDescriptor.builtTasks,
|
|
135
135
|
projectRoot
|
|
@@ -158,11 +158,11 @@ async function resolveDeployAuthOptions(options) {
|
|
|
158
158
|
}
|
|
159
159
|
async function runDeployPhase(options, projectRoot) {
|
|
160
160
|
const descriptor = await readDescriptor(projectRoot);
|
|
161
|
-
const { createDeployClient } = await import("./deploy-
|
|
161
|
+
const { createDeployClient } = await import("./deploy-CJbVB7e2.mjs");
|
|
162
162
|
const client = createDeployClient(await resolveDeployAuthOptions(options));
|
|
163
163
|
const auth = await client.public.auth.validate();
|
|
164
164
|
if (auth.organizationId !== descriptor.projectConfig.organizationId) throw new Error(`Project organization mismatch: config=${descriptor.projectConfig.organizationId} auth=${auth.organizationId}`);
|
|
165
|
-
const { deployTaskTargets } = await import("./task-target-deploy-
|
|
165
|
+
const { deployTaskTargets } = await import("./task-target-deploy-gMQC8kXU.mjs");
|
|
166
166
|
const result = await deployTaskTargets({
|
|
167
167
|
preparedTasks: descriptor.preparedTasks,
|
|
168
168
|
client,
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { n as ui } from "./keystroke.mjs";
|
|
4
|
+
import { n as JsonOptionSchema, t as JSON_OPTION_CONFIG } from "./output-CGdYhH0p.mjs";
|
|
5
|
+
import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
//#region src/commands/test/test.command.ts
|
|
8
|
+
const TestOptionsSchema = JsonOptionSchema;
|
|
9
|
+
const TestToolOptionsSchema = JsonOptionSchema.extend({
|
|
10
|
+
toolName: z.string().min(1),
|
|
11
|
+
agent: z.string().min(1).optional(),
|
|
12
|
+
input: z.string().optional(),
|
|
13
|
+
inputFile: z.string().optional(),
|
|
14
|
+
path: z.string().optional(),
|
|
15
|
+
timeout: z.coerce.number().int().min(1).default(120),
|
|
16
|
+
verbose: z.boolean().default(false)
|
|
17
|
+
});
|
|
18
|
+
const TEST_OPTIONS_CONFIG = { ...JSON_OPTION_CONFIG };
|
|
19
|
+
const TEST_TOOL_OPTIONS_CONFIG = {
|
|
20
|
+
...JSON_OPTION_CONFIG,
|
|
21
|
+
agent: {
|
|
22
|
+
flag: "--agent <agentId>",
|
|
23
|
+
description: "Authored agent id, agent id, or agent name containing the tool"
|
|
24
|
+
},
|
|
25
|
+
input: {
|
|
26
|
+
flag: "--input <json>",
|
|
27
|
+
description: "Tool input as inline JSON string"
|
|
28
|
+
},
|
|
29
|
+
inputFile: {
|
|
30
|
+
flag: "--input-file <path>",
|
|
31
|
+
description: "Path to a JSON file containing tool input"
|
|
32
|
+
},
|
|
33
|
+
path: {
|
|
34
|
+
flag: "--path <dir>",
|
|
35
|
+
description: "Path to project root (directory containing keystroke.config.ts); auto-discovered from CWD if omitted"
|
|
36
|
+
},
|
|
37
|
+
timeout: {
|
|
38
|
+
flag: "--timeout <seconds>",
|
|
39
|
+
description: "Max seconds to wait for workflow completion (default: 120)"
|
|
40
|
+
},
|
|
41
|
+
verbose: {
|
|
42
|
+
flag: "--verbose",
|
|
43
|
+
description: "Show detailed execution logs while polling workflow tools"
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
function handleTestHelp() {
|
|
47
|
+
ui.hint("Use `keystroke test tool <toolName> --input='{...}'`. To test workflows, use `keystroke workflows test <workflow>`.");
|
|
48
|
+
}
|
|
49
|
+
function createTestCommand() {
|
|
50
|
+
const cmd = createTypedCommand({
|
|
51
|
+
name: "test",
|
|
52
|
+
description: "Test agent-callable tools",
|
|
53
|
+
schema: TestOptionsSchema,
|
|
54
|
+
optionsConfig: TEST_OPTIONS_CONFIG,
|
|
55
|
+
handler: handleTestHelp,
|
|
56
|
+
subcommands: [createTypedCommand({
|
|
57
|
+
name: "tool",
|
|
58
|
+
description: "Test an agent-callable tool from a built agent manifest",
|
|
59
|
+
schema: TestToolOptionsSchema,
|
|
60
|
+
optionsConfig: TEST_TOOL_OPTIONS_CONFIG,
|
|
61
|
+
argument: {
|
|
62
|
+
name: "toolName",
|
|
63
|
+
description: "Agent tool name from the built manifest",
|
|
64
|
+
key: "toolName"
|
|
65
|
+
},
|
|
66
|
+
loadHandler: async () => (await import("./tool.handler-Bu130Vcz.mjs")).handleTestTool
|
|
67
|
+
})]
|
|
68
|
+
});
|
|
69
|
+
cmd.enablePositionalOptions();
|
|
70
|
+
cmd.passThroughOptions();
|
|
71
|
+
return cmd;
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
export { createTestCommand };
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import { n as __exportAll } from "./chunk-CH6r78ws.mjs";
|
|
4
3
|
import { k as CliExitError, n as ui, o as isLocalMode, x as toErrorMessage } from "./keystroke.mjs";
|
|
5
4
|
import { d as trackProject } from "./dist-BF6r1hfv.mjs";
|
|
6
|
-
import { t as assertWorkflowProjectRoot } from "./project-config-
|
|
5
|
+
import { t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
|
|
7
6
|
import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B1L8pZsH.mjs";
|
|
8
|
-
import { o as readWorkflowsFromDisk, s as uploadTestBundle } from "./dist-
|
|
9
|
-
import { t as requireWorkflowsDir } from "./resolve-project-
|
|
10
|
-
import { a as runWorkflowBuild, t as WorkflowNotFoundError } from "./workflow-build-
|
|
11
|
-
import { r as isUnknownSchema } from "./schema-display-
|
|
12
|
-
import { t as createBuildProgress } from "./build-progress-
|
|
7
|
+
import { o as readWorkflowsFromDisk, s as uploadTestBundle } from "./dist-FQYQ2FLm.mjs";
|
|
8
|
+
import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
|
|
9
|
+
import { a as runWorkflowBuild, t as WorkflowNotFoundError } from "./workflow-build-C9rQQ4qU.mjs";
|
|
10
|
+
import { r as isUnknownSchema } from "./schema-display-CNqiYBIb.mjs";
|
|
11
|
+
import { t as createBuildProgress } from "./build-progress-BZivcVz4.mjs";
|
|
13
12
|
import { t as withErrorBoundary } from "./error-boundary-CyLcinp1.mjs";
|
|
14
|
-
import { a as tryReadExistingInputSchema, n as resolveInput, o as validateInputOrExit, t as pollForCompletion } from "./run-polling-
|
|
13
|
+
import { a as tryReadExistingInputSchema, n as resolveInput, o as validateInputOrExit, t as pollForCompletion } from "./run-polling-BWcLQvm0.mjs";
|
|
15
14
|
//#region src/lib/format.ts
|
|
16
15
|
function formatBytes(bytes) {
|
|
17
16
|
if (bytes < 1024) return `${bytes} B`;
|
|
@@ -83,10 +82,9 @@ function renderRunCompletionSuccessMessage(builds, elapsedSeconds) {
|
|
|
83
82
|
else ui.success(`Workflow completed in ${elapsedSeconds}s`);
|
|
84
83
|
}
|
|
85
84
|
//#endregion
|
|
86
|
-
//#region src/commands/workflows/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
return withErrorBoundary("Try-deploy", async () => {
|
|
85
|
+
//#region src/commands/workflows/test.handler.ts
|
|
86
|
+
async function handleWorkflowsTest(options, ctx) {
|
|
87
|
+
return withErrorBoundary("Workflow test", async () => {
|
|
90
88
|
const client = requireClient(ctx);
|
|
91
89
|
const startTime = Date.now();
|
|
92
90
|
const local = isLocalMode();
|
|
@@ -103,7 +101,7 @@ async function handleWorkflowsTryDeploy(options, ctx) {
|
|
|
103
101
|
const projectConfig = await assertWorkflowProjectRoot(workflowsDir);
|
|
104
102
|
await assertProjectConfigMatchesAuthenticatedOrg(client, projectConfig);
|
|
105
103
|
for (const [i, build] of builds.entries()) {
|
|
106
|
-
if (builds.length > 1) ui.header(`
|
|
104
|
+
if (builds.length > 1) ui.header(`Testing "${build.name}" (${i + 1}/${builds.length})...`);
|
|
107
105
|
let storagePath;
|
|
108
106
|
if (local) {
|
|
109
107
|
storagePath = build.bundlePath;
|
|
@@ -114,7 +112,7 @@ async function handleWorkflowsTryDeploy(options, ctx) {
|
|
|
114
112
|
storagePaths.push(storagePath);
|
|
115
113
|
ui.success("Upload complete");
|
|
116
114
|
}
|
|
117
|
-
ui.header("
|
|
115
|
+
ui.header("Testing workflow...");
|
|
118
116
|
const { runId } = await client.workflows.testById({
|
|
119
117
|
workflowName: build.name,
|
|
120
118
|
storagePath,
|
|
@@ -166,4 +164,4 @@ async function handleWorkflowsTryDeploy(options, ctx) {
|
|
|
166
164
|
}, { json: ctx.jsonMode });
|
|
167
165
|
}
|
|
168
166
|
//#endregion
|
|
169
|
-
export {
|
|
167
|
+
export { handleWorkflowsTest };
|
|
@@ -2,22 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import { N as throwReportedCliExit, a as getProcessEnv, k as CliExitError, n as ui, x as toErrorMessage } from "./keystroke.mjs";
|
|
4
4
|
import { l as resolveAuthOptions } from "./dist-BF6r1hfv.mjs";
|
|
5
|
-
import { t as assertWorkflowProjectRoot } from "./project-config-
|
|
6
|
-
import { i as writeJson
|
|
7
|
-
import { t as createTypedCommand } from "./commander-i-7LgOyc.mjs";
|
|
5
|
+
import { t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
|
|
6
|
+
import { i as writeJson } from "./output-CGdYhH0p.mjs";
|
|
8
7
|
import { i as requireClient, t as assertProjectConfigMatchesAuthenticatedOrg } from "./context-B1L8pZsH.mjs";
|
|
9
|
-
import { a as readManifestsFromOutDir } from "./dist-
|
|
10
|
-
import { t as requireWorkflowsDir } from "./resolve-project-
|
|
11
|
-
import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-
|
|
12
|
-
import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-
|
|
13
|
-
import { n as
|
|
14
|
-
import { t as handleWorkflowsTryDeploy } from "./try-deploy.handler-A16ahnCF.mjs";
|
|
15
|
-
import { n as resolveInput, o as validateInputOrExit, t as pollForCompletion } from "./run-polling-7YWCL6c-.mjs";
|
|
8
|
+
import { a as readManifestsFromOutDir } from "./dist-FQYQ2FLm.mjs";
|
|
9
|
+
import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
|
|
10
|
+
import { a as runWorkflowBuild, n as renderBuildFailure } from "./workflow-build-C9rQQ4qU.mjs";
|
|
11
|
+
import { t as lookupCurrentDeploymentWorkflow } from "./current-deployment-workflow-BRUEdPrN.mjs";
|
|
12
|
+
import { n as resolveInput, o as validateInputOrExit, t as pollForCompletion } from "./run-polling-BWcLQvm0.mjs";
|
|
16
13
|
import { mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
17
14
|
import { tmpdir } from "node:os";
|
|
18
15
|
import path from "node:path";
|
|
19
16
|
import { pathToFileURL } from "node:url";
|
|
20
|
-
import { z } from "zod";
|
|
21
17
|
//#region ../../packages/testing/src/test-runtime/credentials/env-resolver.ts
|
|
22
18
|
/**
|
|
23
19
|
* Computes the env var name for a credential key.
|
|
@@ -559,82 +555,4 @@ function redactString(value, knownSecretValues) {
|
|
|
559
555
|
};
|
|
560
556
|
}
|
|
561
557
|
//#endregion
|
|
562
|
-
|
|
563
|
-
const TestOptionsSchema = JsonOptionSchema;
|
|
564
|
-
const TestToolOptionsSchema = JsonOptionSchema.extend({
|
|
565
|
-
toolName: z.string().min(1),
|
|
566
|
-
agent: z.string().min(1).optional(),
|
|
567
|
-
input: z.string().optional(),
|
|
568
|
-
inputFile: z.string().optional(),
|
|
569
|
-
path: z.string().optional(),
|
|
570
|
-
timeout: z.coerce.number().int().min(1).default(120),
|
|
571
|
-
verbose: z.boolean().default(false)
|
|
572
|
-
});
|
|
573
|
-
const TEST_OPTIONS_CONFIG = { ...JSON_OPTION_CONFIG };
|
|
574
|
-
const TEST_TOOL_OPTIONS_CONFIG = {
|
|
575
|
-
...JSON_OPTION_CONFIG,
|
|
576
|
-
agent: {
|
|
577
|
-
flag: "--agent <agentId>",
|
|
578
|
-
description: "Authored agent id, agent id, or agent name containing the tool"
|
|
579
|
-
},
|
|
580
|
-
input: {
|
|
581
|
-
flag: "--input <json>",
|
|
582
|
-
description: "Tool input as inline JSON string"
|
|
583
|
-
},
|
|
584
|
-
inputFile: {
|
|
585
|
-
flag: "--input-file <path>",
|
|
586
|
-
description: "Path to a JSON file containing tool input"
|
|
587
|
-
},
|
|
588
|
-
path: {
|
|
589
|
-
flag: "--path <dir>",
|
|
590
|
-
description: "Path to project root (directory containing keystroke.config.ts); auto-discovered from CWD if omitted"
|
|
591
|
-
},
|
|
592
|
-
timeout: {
|
|
593
|
-
flag: "--timeout <seconds>",
|
|
594
|
-
description: "Max seconds to wait for workflow completion (default: 120)"
|
|
595
|
-
},
|
|
596
|
-
verbose: {
|
|
597
|
-
flag: "--verbose",
|
|
598
|
-
description: "Show detailed execution logs while polling workflow tools"
|
|
599
|
-
}
|
|
600
|
-
};
|
|
601
|
-
function handleTestHelp() {
|
|
602
|
-
ui.hint("Use `keystroke test tool <toolName> --input='{...}'` or `keystroke test workflow <workflow>`.");
|
|
603
|
-
}
|
|
604
|
-
function createTestCommand() {
|
|
605
|
-
const cmd = createTypedCommand({
|
|
606
|
-
name: "test",
|
|
607
|
-
description: "Test workflows and agent-callable tools",
|
|
608
|
-
schema: TestOptionsSchema,
|
|
609
|
-
optionsConfig: TEST_OPTIONS_CONFIG,
|
|
610
|
-
handler: handleTestHelp,
|
|
611
|
-
subcommands: [createTypedCommand({
|
|
612
|
-
name: "tool",
|
|
613
|
-
description: "Test an agent-callable tool from a built agent manifest",
|
|
614
|
-
schema: TestToolOptionsSchema,
|
|
615
|
-
optionsConfig: TEST_TOOL_OPTIONS_CONFIG,
|
|
616
|
-
argument: {
|
|
617
|
-
name: "toolName",
|
|
618
|
-
description: "Agent tool name from the built manifest",
|
|
619
|
-
key: "toolName"
|
|
620
|
-
},
|
|
621
|
-
handler: handleTestTool
|
|
622
|
-
}), createTypedCommand({
|
|
623
|
-
name: "workflow",
|
|
624
|
-
description: "Build, upload, and run a workflow on the server",
|
|
625
|
-
schema: WorkflowsRunOptionsSchema,
|
|
626
|
-
optionsConfig: RUN_OPTIONS_CONFIG,
|
|
627
|
-
argument: {
|
|
628
|
-
name: "workflow",
|
|
629
|
-
description: "Authored workflow id (preferred) or workflow name. Multiple workflows with the same name run sequentially.",
|
|
630
|
-
key: "workflow"
|
|
631
|
-
},
|
|
632
|
-
handler: handleWorkflowsTryDeploy
|
|
633
|
-
})]
|
|
634
|
-
});
|
|
635
|
-
cmd.enablePositionalOptions();
|
|
636
|
-
cmd.passThroughOptions();
|
|
637
|
-
return cmd;
|
|
638
|
-
}
|
|
639
|
-
//#endregion
|
|
640
|
-
export { createTestCommand };
|
|
558
|
+
export { handleTestTool };
|
package/dist/{trigger-artifacts-RizI57RC-abdkW8-z.mjs → trigger-artifacts-RizI57RC-CxHwCkQ_.mjs}
RENAMED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { n as readOptionalJsonSchemaKeys } from "./declared-credential-requirements-B6h4WRv4.mjs";
|
|
4
4
|
import { t as __exportAll } from "./rolldown-runtime-twds-ZHy-CO5ir_za.mjs";
|
|
5
|
-
import { t as readCredentialKeysFromSchemaObject } from "./read-credential-keys-77a91T8M-
|
|
6
|
-
import { r as formatEnvAccessError, t as createEnvAccessPlugin } from "./detect-env-access-CwkOYeYM-
|
|
5
|
+
import { t as readCredentialKeysFromSchemaObject } from "./read-credential-keys-77a91T8M-DMmY6oDW.mjs";
|
|
6
|
+
import { r as formatEnvAccessError, t as createEnvAccessPlugin } from "./detect-env-access-CwkOYeYM-CZIixHeR.mjs";
|
|
7
7
|
import { createHash } from "node:crypto";
|
|
8
8
|
import { rolldown } from "rolldown";
|
|
9
9
|
//#region ../../packages/workflow-builder/dist/trigger-artifacts-RizI57RC.mjs
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import { t as createTypedCommand } from "./commander-
|
|
3
|
+
import { t as createTypedCommand } from "./commander-D15UZVjp.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
//#region src/commands/upgrade/upgrade.command.ts
|
|
6
6
|
const PackageManagerSchema = z.enum([
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { N as throwReportedCliExit, a as getProcessEnv, n as ui, x as toErrorMessage } from "./keystroke.mjs";
|
|
4
|
-
import { t as assertWorkflowProjectRoot } from "./project-config-
|
|
4
|
+
import { t as assertWorkflowProjectRoot } from "./project-config-CsBMT4TL.mjs";
|
|
5
5
|
import { a as writeJsonError, i as writeJson } from "./output-CGdYhH0p.mjs";
|
|
6
6
|
import { i as requireClient } from "./context-B1L8pZsH.mjs";
|
|
7
|
-
import { a as readManifestsFromOutDir, t as collectCredentialFingerprintMapFromProjectDist } from "./dist-
|
|
8
|
-
import { t as requireWorkflowsDir } from "./resolve-project-
|
|
7
|
+
import { a as readManifestsFromOutDir, t as collectCredentialFingerprintMapFromProjectDist } from "./dist-FQYQ2FLm.mjs";
|
|
8
|
+
import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
|
|
9
9
|
import { t as getIntegrationCatalog } from "./integration-catalog-BgT4mLzW.mjs";
|
|
10
10
|
import { t as readCredentialEnvMap } from "./credential-env-map-B2nVJXPn.mjs";
|
|
11
11
|
import { a as verifyCredentialResolvable, i as validateManualCredentialWithHook, n as resolveCredentialValuesFromEnv, r as uploadCredential, t as groupCredentialRequirements } from "./credentials-CiOwDS5y.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import { i as readProjectConfig } from "./project-config-
|
|
4
|
-
import { h as resolveBuildOutputDir } from "./layout-
|
|
3
|
+
import { i as readProjectConfig } from "./project-config-CsBMT4TL.mjs";
|
|
4
|
+
import { h as resolveBuildOutputDir } from "./layout-CXkZEsXI.mjs";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
//#region ../../packages/project-config/src/utils.ts
|
|
7
7
|
function resolveConfiguredBuildOutputDir(projectRoot, buildConfig) {
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
import { N as throwReportedCliExit, n as ui, x as toErrorMessage } 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-
|
|
7
|
-
import { s as build, t as WorkflowNotFoundError } from "./workflow-build-
|
|
8
|
-
import { t as createBuildProgress } from "./build-progress-
|
|
6
|
+
import { t as requireWorkflowsDir } from "./resolve-project-CURYMjex.mjs";
|
|
7
|
+
import { s as build, t as WorkflowNotFoundError } from "./workflow-build-C9rQQ4qU.mjs";
|
|
8
|
+
import { t as createBuildProgress } from "./build-progress-BZivcVz4.mjs";
|
|
9
9
|
import { mkdtemp, rm } from "node:fs/promises";
|
|
10
10
|
import * as os from "node:os";
|
|
11
11
|
import * as path$1 from "node:path";
|