task-pipeliner 0.2.2 → 0.2.3
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.ko.md +17 -1
- package/README.md +17 -1
- package/dist/index.cjs +18 -16
- package/dist/index.js +18 -16
- package/dist/task-pipeliner-rs.node +0 -0
- package/package.json +10 -1
- package/dist/cli/index.d.ts +0 -19
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -305
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/prompts.d.ts +0 -48
- package/dist/cli/prompts.d.ts.map +0 -1
- package/dist/cli/prompts.js +0 -75
- package/dist/cli/prompts.js.map +0 -1
- package/dist/cli/ui.d.ts +0 -39
- package/dist/cli/ui.d.ts.map +0 -1
- package/dist/cli/ui.js +0 -84
- package/dist/cli/ui.js.map +0 -1
- package/dist/core/__tests__/actual-execution.test.d.ts +0 -2
- package/dist/core/__tests__/actual-execution.test.d.ts.map +0 -1
- package/dist/core/__tests__/actual-execution.test.js +0 -147
- package/dist/core/__tests__/actual-execution.test.js.map +0 -1
- package/dist/core/__tests__/base-dir.test.d.ts +0 -2
- package/dist/core/__tests__/base-dir.test.d.ts.map +0 -1
- package/dist/core/__tests__/base-dir.test.js +0 -146
- package/dist/core/__tests__/base-dir.test.js.map +0 -1
- package/dist/core/__tests__/built-code-execution.test.d.ts +0 -2
- package/dist/core/__tests__/built-code-execution.test.d.ts.map +0 -1
- package/dist/core/__tests__/built-code-execution.test.js +0 -48
- package/dist/core/__tests__/built-code-execution.test.js.map +0 -1
- package/dist/core/__tests__/choose-as-var-condition.test.d.ts +0 -2
- package/dist/core/__tests__/choose-as-var-condition.test.d.ts.map +0 -1
- package/dist/core/__tests__/choose-as-var-condition.test.js +0 -308
- package/dist/core/__tests__/choose-as-var-condition.test.js.map +0 -1
- package/dist/core/__tests__/cli-integration.test.d.ts +0 -2
- package/dist/core/__tests__/cli-integration.test.d.ts.map +0 -1
- package/dist/core/__tests__/cli-integration.test.js +0 -83
- package/dist/core/__tests__/cli-integration.test.js.map +0 -1
- package/dist/core/__tests__/comprehensive-basic-yaml.test.d.ts +0 -2
- package/dist/core/__tests__/comprehensive-basic-yaml.test.d.ts.map +0 -1
- package/dist/core/__tests__/comprehensive-basic-yaml.test.js +0 -114
- package/dist/core/__tests__/comprehensive-basic-yaml.test.js.map +0 -1
- package/dist/core/__tests__/condition-evaluator.test.d.ts +0 -2
- package/dist/core/__tests__/condition-evaluator.test.d.ts.map +0 -1
- package/dist/core/__tests__/condition-evaluator.test.js +0 -164
- package/dist/core/__tests__/condition-evaluator.test.js.map +0 -1
- package/dist/core/__tests__/debug-basic-yaml.test.d.ts +0 -2
- package/dist/core/__tests__/debug-basic-yaml.test.d.ts.map +0 -1
- package/dist/core/__tests__/debug-basic-yaml.test.js +0 -126
- package/dist/core/__tests__/debug-basic-yaml.test.js.map +0 -1
- package/dist/core/__tests__/example-files.test.d.ts +0 -2
- package/dist/core/__tests__/example-files.test.d.ts.map +0 -1
- package/dist/core/__tests__/example-files.test.js +0 -199
- package/dist/core/__tests__/example-files.test.js.map +0 -1
- package/dist/core/__tests__/executor-choice-integration.test.d.ts +0 -2
- package/dist/core/__tests__/executor-choice-integration.test.d.ts.map +0 -1
- package/dist/core/__tests__/executor-choice-integration.test.js +0 -169
- package/dist/core/__tests__/executor-choice-integration.test.js.map +0 -1
- package/dist/core/__tests__/executor-choice.test.d.ts +0 -2
- package/dist/core/__tests__/executor-choice.test.d.ts.map +0 -1
- package/dist/core/__tests__/executor-choice.test.js +0 -170
- package/dist/core/__tests__/executor-choice.test.js.map +0 -1
- package/dist/core/__tests__/executor-parallel.test.d.ts +0 -2
- package/dist/core/__tests__/executor-parallel.test.d.ts.map +0 -1
- package/dist/core/__tests__/executor-parallel.test.js +0 -129
- package/dist/core/__tests__/executor-parallel.test.js.map +0 -1
- package/dist/core/__tests__/executor-prompt.test.d.ts +0 -2
- package/dist/core/__tests__/executor-prompt.test.d.ts.map +0 -1
- package/dist/core/__tests__/executor-prompt.test.js +0 -147
- package/dist/core/__tests__/executor-prompt.test.js.map +0 -1
- package/dist/core/__tests__/executor-real-scenario.test.d.ts +0 -2
- package/dist/core/__tests__/executor-real-scenario.test.d.ts.map +0 -1
- package/dist/core/__tests__/executor-real-scenario.test.js +0 -169
- package/dist/core/__tests__/executor-real-scenario.test.js.map +0 -1
- package/dist/core/__tests__/file-condition.test.d.ts +0 -2
- package/dist/core/__tests__/file-condition.test.d.ts.map +0 -1
- package/dist/core/__tests__/file-condition.test.js +0 -172
- package/dist/core/__tests__/file-condition.test.js.map +0 -1
- package/dist/core/__tests__/final-verification.test.d.ts +0 -2
- package/dist/core/__tests__/final-verification.test.d.ts.map +0 -1
- package/dist/core/__tests__/final-verification.test.js +0 -56
- package/dist/core/__tests__/final-verification.test.js.map +0 -1
- package/dist/core/__tests__/parallel-when-condition.test.d.ts +0 -2
- package/dist/core/__tests__/parallel-when-condition.test.d.ts.map +0 -1
- package/dist/core/__tests__/parallel-when-condition.test.js +0 -155
- package/dist/core/__tests__/parallel-when-condition.test.js.map +0 -1
- package/dist/core/__tests__/parser.test.d.ts +0 -2
- package/dist/core/__tests__/parser.test.d.ts.map +0 -1
- package/dist/core/__tests__/parser.test.js +0 -91
- package/dist/core/__tests__/parser.test.js.map +0 -1
- package/dist/core/__tests__/real-inquirer-test.test.d.ts +0 -2
- package/dist/core/__tests__/real-inquirer-test.test.d.ts.map +0 -1
- package/dist/core/__tests__/real-inquirer-test.test.js +0 -20
- package/dist/core/__tests__/real-inquirer-test.test.js.map +0 -1
- package/dist/core/__tests__/reproduce-bug.test.d.ts +0 -2
- package/dist/core/__tests__/reproduce-bug.test.d.ts.map +0 -1
- package/dist/core/__tests__/reproduce-bug.test.js +0 -85
- package/dist/core/__tests__/reproduce-bug.test.js.map +0 -1
- package/dist/core/__tests__/timeout-retry.test.d.ts +0 -2
- package/dist/core/__tests__/timeout-retry.test.d.ts.map +0 -1
- package/dist/core/__tests__/timeout-retry.test.js +0 -184
- package/dist/core/__tests__/timeout-retry.test.js.map +0 -1
- package/dist/core/__tests__/workflow-validation.test.d.ts +0 -2
- package/dist/core/__tests__/workflow-validation.test.d.ts.map +0 -1
- package/dist/core/__tests__/workflow-validation.test.js +0 -116
- package/dist/core/__tests__/workflow-validation.test.js.map +0 -1
- package/dist/core/__tests__/workspace.test.d.ts +0 -2
- package/dist/core/__tests__/workspace.test.d.ts.map +0 -1
- package/dist/core/__tests__/workspace.test.js +0 -29
- package/dist/core/__tests__/workspace.test.js.map +0 -1
- package/dist/core/__tests__/yaml-integration.test.d.ts +0 -2
- package/dist/core/__tests__/yaml-integration.test.d.ts.map +0 -1
- package/dist/core/__tests__/yaml-integration.test.js +0 -114
- package/dist/core/__tests__/yaml-integration.test.js.map +0 -1
- package/dist/core/__tests__/yaml-scenarios.test.d.ts +0 -2
- package/dist/core/__tests__/yaml-scenarios.test.d.ts.map +0 -1
- package/dist/core/__tests__/yaml-scenarios.test.js +0 -197
- package/dist/core/__tests__/yaml-scenarios.test.js.map +0 -1
- package/dist/core/condition-evaluator.d.ts +0 -44
- package/dist/core/condition-evaluator.d.ts.map +0 -1
- package/dist/core/condition-evaluator.js +0 -121
- package/dist/core/condition-evaluator.js.map +0 -1
- package/dist/core/executor.d.ts +0 -172
- package/dist/core/executor.d.ts.map +0 -1
- package/dist/core/executor.js +0 -590
- package/dist/core/executor.js.map +0 -1
- package/dist/core/history.d.ts +0 -51
- package/dist/core/history.d.ts.map +0 -1
- package/dist/core/history.js +0 -57
- package/dist/core/history.js.map +0 -1
- package/dist/core/parser.d.ts +0 -41
- package/dist/core/parser.d.ts.map +0 -1
- package/dist/core/parser.js +0 -206
- package/dist/core/parser.js.map +0 -1
- package/dist/core/recorder.d.ts +0 -48
- package/dist/core/recorder.d.ts.map +0 -1
- package/dist/core/recorder.js +0 -56
- package/dist/core/recorder.js.map +0 -1
- package/dist/core/rust-task-runner.d.ts +0 -14
- package/dist/core/rust-task-runner.d.ts.map +0 -1
- package/dist/core/rust-task-runner.js +0 -34
- package/dist/core/rust-task-runner.js.map +0 -1
- package/dist/core/task-runner.d.ts +0 -63
- package/dist/core/task-runner.d.ts.map +0 -1
- package/dist/core/task-runner.js +0 -259
- package/dist/core/task-runner.js.map +0 -1
- package/dist/core/template.d.ts +0 -11
- package/dist/core/template.d.ts.map +0 -1
- package/dist/core/template.js +0 -36
- package/dist/core/template.js.map +0 -1
- package/dist/core/workflow-schema.d.ts +0 -31
- package/dist/core/workflow-schema.d.ts.map +0 -1
- package/dist/core/workflow-schema.js +0 -127
- package/dist/core/workflow-schema.js.map +0 -1
- package/dist/core/workspace.d.ts +0 -90
- package/dist/core/workspace.d.ts.map +0 -1
- package/dist/core/workspace.js +0 -143
- package/dist/core/workspace.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/types/condition.d.ts +0 -62
- package/dist/types/condition.d.ts.map +0 -1
- package/dist/types/condition.js +0 -6
- package/dist/types/condition.js.map +0 -1
- package/dist/types/workflow.d.ts +0 -90
- package/dist/types/workflow.d.ts.map +0 -1
- package/dist/types/workflow.js +0 -2
- package/dist/types/workflow.js.map +0 -1
package/dist/core/executor.d.ts
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import type { Workflow } from '../types/workflow';
|
|
2
|
-
import { Workspace } from './workspace';
|
|
3
|
-
/**
|
|
4
|
-
* Workflow Executor
|
|
5
|
-
*
|
|
6
|
-
* This class executes workflow steps sequentially, handling:
|
|
7
|
-
* - Step execution (run, choose, prompt, parallel, fail)
|
|
8
|
-
* - Condition evaluation (when clauses)
|
|
9
|
-
* - Variable substitution
|
|
10
|
-
* - Parallel execution with workspace cloning
|
|
11
|
-
* - Error handling and reporting
|
|
12
|
-
*/
|
|
13
|
-
export interface ExecutionContext {
|
|
14
|
-
workspace: Workspace;
|
|
15
|
-
stepIndex: number;
|
|
16
|
-
branchIndex?: number;
|
|
17
|
-
lineNumber?: number;
|
|
18
|
-
fileName?: string;
|
|
19
|
-
}
|
|
20
|
-
export declare class Executor {
|
|
21
|
-
private static readonly PARALLEL_STEP_INDEX_MULTIPLIER;
|
|
22
|
-
private workspace;
|
|
23
|
-
private taskRunner;
|
|
24
|
-
private choicePrompt;
|
|
25
|
-
private textPrompt;
|
|
26
|
-
private baseDir?;
|
|
27
|
-
constructor();
|
|
28
|
-
/**
|
|
29
|
-
* Resolve baseDir path from workflow configuration
|
|
30
|
-
*
|
|
31
|
-
* baseDir determines where commands will be executed:
|
|
32
|
-
* - If absolute path: use as-is
|
|
33
|
-
* - If relative path: resolve relative to YAML file location
|
|
34
|
-
* - If no _filePath: resolve relative to current working directory
|
|
35
|
-
*/
|
|
36
|
-
private resolveBaseDir;
|
|
37
|
-
/**
|
|
38
|
-
* Create execution context for a step
|
|
39
|
-
*
|
|
40
|
-
* Context contains information needed to execute a step:
|
|
41
|
-
* - Workspace reference (for storing/reading state)
|
|
42
|
-
* - Step index (for tracking which step we're on)
|
|
43
|
-
* - Line number and file name (for error reporting)
|
|
44
|
-
*/
|
|
45
|
-
private createStepContext;
|
|
46
|
-
/**
|
|
47
|
-
* Evaluate step condition and return whether step should execute
|
|
48
|
-
*/
|
|
49
|
-
private evaluateStepCondition;
|
|
50
|
-
/**
|
|
51
|
-
* Calculate base step index for parallel execution
|
|
52
|
-
* When in parallel, stepIndex is encoded as: baseStepIndex * MULTIPLIER + branchIndex
|
|
53
|
-
* So we divide by MULTIPLIER to get the original step index
|
|
54
|
-
*/
|
|
55
|
-
private calculateBaseStepIndex;
|
|
56
|
-
/**
|
|
57
|
-
* Execute workflow steps sequentially
|
|
58
|
-
*
|
|
59
|
-
* Main entry point for workflow execution:
|
|
60
|
-
* 1. Resolve baseDir for command execution
|
|
61
|
-
* 2. Loop through each step
|
|
62
|
-
* 3. Evaluate conditions (when clauses)
|
|
63
|
-
* 4. Execute step if condition passes
|
|
64
|
-
* 5. Check for failures and handle errors
|
|
65
|
-
*/
|
|
66
|
-
execute(workflow: Workflow): Promise<void>;
|
|
67
|
-
/**
|
|
68
|
-
* Check if step result indicates success
|
|
69
|
-
*/
|
|
70
|
-
private isStepSuccessful;
|
|
71
|
-
/**
|
|
72
|
-
* Fix malformed step (YAML indentation issue)
|
|
73
|
-
* When choose/prompt is null but properties exist at step level
|
|
74
|
-
* This happens when YAML is incorrectly indented
|
|
75
|
-
*/
|
|
76
|
-
private fixMalformedStep;
|
|
77
|
-
/**
|
|
78
|
-
* Execute a single step based on its type
|
|
79
|
-
*
|
|
80
|
-
* Steps can be:
|
|
81
|
-
* - run: Execute a shell command
|
|
82
|
-
* - choose: Show user a choice menu
|
|
83
|
-
* - prompt: Ask user for text input
|
|
84
|
-
* - parallel: Execute multiple steps in parallel
|
|
85
|
-
* - fail: Intentionally fail with a message
|
|
86
|
-
*
|
|
87
|
-
* @param bufferOutput - If true, collect output instead of displaying immediately (for parallel)
|
|
88
|
-
* @param hasWhenCondition - If true, step has a condition (affects UI color)
|
|
89
|
-
*/
|
|
90
|
-
private executeStep;
|
|
91
|
-
/**
|
|
92
|
-
* Execute a run step (shell command)
|
|
93
|
-
*
|
|
94
|
-
* Steps:
|
|
95
|
-
* 1. Calculate base step index (for parallel execution)
|
|
96
|
-
* 2. Substitute variables in command ({{variable}} syntax)
|
|
97
|
-
* 3. Run command via TaskRunner (with retry logic if specified)
|
|
98
|
-
* 4. Store result in workspace
|
|
99
|
-
*/
|
|
100
|
-
private executeRunStep;
|
|
101
|
-
/**
|
|
102
|
-
* Execute a choose step (show user a selection menu)
|
|
103
|
-
*
|
|
104
|
-
* User selects from options, and the choice is stored:
|
|
105
|
-
* - As a choice (for when: { choice: 'id' } conditions) - uses choice id
|
|
106
|
-
* - As a variable (for {{variable}} substitution) - uses 'as' field if provided, otherwise choice id
|
|
107
|
-
*/
|
|
108
|
-
private executeChooseStep;
|
|
109
|
-
/**
|
|
110
|
-
* Execute a prompt step (ask user for text input)
|
|
111
|
-
*
|
|
112
|
-
* User enters text, which is stored:
|
|
113
|
-
* - As a variable (for {{variable}} substitution)
|
|
114
|
-
* - As a fact (for when: { var: 'name' } conditions)
|
|
115
|
-
*/
|
|
116
|
-
private executePromptStep;
|
|
117
|
-
/**
|
|
118
|
-
* Create execution contexts for parallel branches
|
|
119
|
-
* Encodes branch index into stepIndex: baseStepIndex * MULTIPLIER + branchIndex
|
|
120
|
-
* Each branch inherits line number and file name from the parallel step
|
|
121
|
-
*/
|
|
122
|
-
private createParallelContexts;
|
|
123
|
-
/**
|
|
124
|
-
* Get display name for a parallel branch step
|
|
125
|
-
*/
|
|
126
|
-
private getBranchDisplayName;
|
|
127
|
-
/**
|
|
128
|
-
* Execute all parallel branches simultaneously
|
|
129
|
-
*
|
|
130
|
-
* Each branch:
|
|
131
|
-
* 1. Has its own workspace clone (isolated state)
|
|
132
|
-
* 2. Evaluates its own conditions
|
|
133
|
-
* 3. Executes in buffer mode (collects output, don't display yet)
|
|
134
|
-
* 4. Returns result or error
|
|
135
|
-
*
|
|
136
|
-
* All branches run at the same time using Promise.all()
|
|
137
|
-
* Uses log-update to show all branch statuses in real-time
|
|
138
|
-
*/
|
|
139
|
-
private executeParallelBranches;
|
|
140
|
-
/**
|
|
141
|
-
* Update parallel branches display using log-update
|
|
142
|
-
*/
|
|
143
|
-
private updateParallelBranchesDisplay;
|
|
144
|
-
/**
|
|
145
|
-
* Display parallel execution results
|
|
146
|
-
* Status display is already done, now we show the detailed output
|
|
147
|
-
*/
|
|
148
|
-
private displayParallelResults;
|
|
149
|
-
/**
|
|
150
|
-
* Merge facts and variables from parallel branches
|
|
151
|
-
*/
|
|
152
|
-
private mergeParallelResults;
|
|
153
|
-
/**
|
|
154
|
-
* Count how many branches will actually execute (after when condition evaluation)
|
|
155
|
-
*/
|
|
156
|
-
private countExecutableBranches;
|
|
157
|
-
/**
|
|
158
|
-
* Execute a parallel step (run multiple steps simultaneously)
|
|
159
|
-
*
|
|
160
|
-
* Process:
|
|
161
|
-
* 1. Create isolated contexts for each branch (with cloned workspaces)
|
|
162
|
-
* 2. Count how many branches will actually execute
|
|
163
|
-
* 3. Show header box with actual executable branch count
|
|
164
|
-
* 4. Execute all branches in parallel
|
|
165
|
-
* 5. Display results
|
|
166
|
-
* 6. Merge facts and variables from all branches back to main workspace
|
|
167
|
-
* 7. Throw error if any branch failed
|
|
168
|
-
*/
|
|
169
|
-
private executeParallelStep;
|
|
170
|
-
private executeFailStep;
|
|
171
|
-
}
|
|
172
|
-
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/core/executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAQ,QAAQ,EAAsC,MAAM,mBAAmB,CAAC;AAK5F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,QAAQ;IAGnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAQ;IAE9D,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAS;;IASzB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;;;;;;;;OASG;IACG,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDhD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;;;;;;;;;;;OAYG;YACW,WAAW;IAyCzB;;;;;;;;OAQG;YACW,cAAc;IA4D5B;;;;;;OAMG;YACW,iBAAiB;IA0B/B;;;;;;OAMG;YACW,iBAAiB;IAmB/B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;;;;;;OAWG;YACW,uBAAuB;IA8FrC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA8CrC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA2D9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmB/B;;;;;;;;;;;OAWG;YACW,mBAAmB;YAmCnB,eAAe;CAS9B"}
|