@devflow-tools/workflow-engine 0.16.17 → 0.16.19
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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/steps/builtin.d.ts.map +1 -1
- package/dist/steps/builtin.js +30 -13
- package/dist/steps/builtin.js.map +1 -1
- package/dist/types.d.ts +67 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/workflow-engine.d.ts +23 -20
- package/dist/workflow-engine.d.ts.map +1 -1
- package/dist/workflow-engine.js +741 -328
- package/dist/workflow-engine.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -3,5 +3,5 @@ export { StepResolver } from "./step-resolver.js";
|
|
|
3
3
|
export { WorkflowEngine } from "./workflow-engine.js";
|
|
4
4
|
export { classifyWorkflowFailure, getFailureSuggestedActions, } from "./failure-classifier.js";
|
|
5
5
|
export type { WorkflowFailureClassification, WorkflowFailureSignal, } from "./failure-classifier.js";
|
|
6
|
-
export type { StepHandler, StepContext, WorkflowEngineOptions, ResolvedStep, StepState, RunState, } from "./types.js";
|
|
6
|
+
export type { StepHandler, StepContext, WorkflowEngineOptions, ResolvedStep, StepState, RunState, RunMetadata, HostActionState, HostActionRecord, RequestHostActionInput, FailHostActionInput, HostActionStore, WorkflowRunExecutionOptions, } from "./types.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,2BAA2B,GAC5B,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../src/steps/builtin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C,eAAO,MAAM,cAAc,EAAE,WA6B5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,WA0B7B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAczB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAS5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../src/steps/builtin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C,eAAO,MAAM,cAAc,EAAE,WA6B5B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,WA0B7B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAczB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,WAS5B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAS3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAwB3B,CAAC;AAOF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAOrD,CAAC"}
|
package/dist/steps/builtin.js
CHANGED
|
@@ -74,36 +74,53 @@ export const planHandler = {
|
|
|
74
74
|
},
|
|
75
75
|
};
|
|
76
76
|
export const executeHandler = {
|
|
77
|
-
async run(
|
|
78
|
-
const plan = input.plan ?? [];
|
|
77
|
+
async run(_input, _ctx) {
|
|
79
78
|
return {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
actionRequired: true,
|
|
80
|
+
actionKind: "execute",
|
|
81
|
+
state: "waiting",
|
|
82
|
+
requiredEvidence: ["context_receipt", "tool_or_diff", "report_step"],
|
|
83
83
|
};
|
|
84
84
|
},
|
|
85
85
|
};
|
|
86
86
|
export const verifyHandler = {
|
|
87
|
-
async run(
|
|
88
|
-
const changes = input.changes ?? [];
|
|
87
|
+
async run(_input, _ctx) {
|
|
89
88
|
return {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
actionRequired: true,
|
|
90
|
+
actionKind: "verify",
|
|
91
|
+
state: "waiting",
|
|
92
|
+
requiredEvidence: ["context_receipt", "tool_or_diff", "report_step"],
|
|
94
93
|
};
|
|
95
94
|
},
|
|
96
95
|
};
|
|
97
96
|
export const commitHandler = {
|
|
98
97
|
async run(input, _ctx) {
|
|
99
98
|
const summary = input.summary ?? "Apply changes";
|
|
100
|
-
const
|
|
99
|
+
const requiredActionIds = stringArray(input.actionIds ?? input.requiredActionIds);
|
|
100
|
+
const verifiedActionIds = stringArray(input.verifiedActionIds);
|
|
101
|
+
if (requiredActionIds.length === 0) {
|
|
102
|
+
return { ready: false, reason: "missing_required_action_ids" };
|
|
103
|
+
}
|
|
104
|
+
const unverifiedActionIds = requiredActionIds.filter((actionId) => !verifiedActionIds.includes(actionId));
|
|
105
|
+
if (unverifiedActionIds.length > 0) {
|
|
106
|
+
return {
|
|
107
|
+
ready: false,
|
|
108
|
+
reason: "unverified_action_ids",
|
|
109
|
+
unverifiedActionIds,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
101
112
|
return {
|
|
102
|
-
message: `feat: ${summary}\n\nVerified ${
|
|
113
|
+
message: `feat: ${summary}\n\nVerified actions: ${verifiedActionIds.join(", ")}.`,
|
|
103
114
|
ready: true,
|
|
115
|
+
verifiedActionIds,
|
|
104
116
|
};
|
|
105
117
|
},
|
|
106
118
|
};
|
|
119
|
+
function stringArray(value) {
|
|
120
|
+
if (!Array.isArray(value))
|
|
121
|
+
return [];
|
|
122
|
+
return value.filter((item) => typeof item === "string" && item.length > 0);
|
|
123
|
+
}
|
|
107
124
|
export const BUILTIN_STEPS = {
|
|
108
125
|
"builtin:analyze": analyzeHandler,
|
|
109
126
|
"builtin:retrieve": retrieveHandler,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/steps/builtin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/steps/builtin.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,49 @@
|
|
|
1
|
-
import type { FailureCategory, GetMemoryResult, KnowledgeEntry, PluginInstructionRequest, TaskContextResult, WorkflowStepDef } from "@devflow-tools/sdk";
|
|
1
|
+
import type { FailureCategory, GetMemoryResult, KnowledgeEntry, PluginInstructionRequest, TaskContextResult, WorkflowStepDef, RolloutMode } from "@devflow-tools/sdk";
|
|
2
|
+
export type HostActionState = "waiting" | "running" | "reported" | "verified" | "failed" | "cancelled" | "degraded";
|
|
3
|
+
export interface HostActionRecord {
|
|
4
|
+
actionId: string;
|
|
5
|
+
runId: string;
|
|
6
|
+
engineRunId: string;
|
|
7
|
+
stepId: string;
|
|
8
|
+
projectRoot: string;
|
|
9
|
+
sessionId?: string;
|
|
10
|
+
executionId?: string;
|
|
11
|
+
contextReceipt?: string;
|
|
12
|
+
state: HostActionState;
|
|
13
|
+
report: Record<string, unknown>;
|
|
14
|
+
evidenceHash?: string;
|
|
15
|
+
createdAt: number;
|
|
16
|
+
updatedAt: number;
|
|
17
|
+
finishedAt?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface RequestHostActionInput {
|
|
20
|
+
actionId?: string;
|
|
21
|
+
runId: string;
|
|
22
|
+
engineRunId: string;
|
|
23
|
+
stepId: string;
|
|
24
|
+
projectRoot: string;
|
|
25
|
+
sessionId?: string;
|
|
26
|
+
executionId?: string;
|
|
27
|
+
contextReceipt?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface FailHostActionInput {
|
|
30
|
+
actionId: string;
|
|
31
|
+
projectRoot: string;
|
|
32
|
+
report: Record<string, unknown>;
|
|
33
|
+
evidenceHash?: string;
|
|
34
|
+
outcome?: "failed" | "cancelled" | "degraded";
|
|
35
|
+
}
|
|
36
|
+
export interface HostActionStore {
|
|
37
|
+
requestHostAction(input: RequestHostActionInput): HostActionRecord | Promise<HostActionRecord>;
|
|
38
|
+
getHostAction(projectRoot: string, actionId: string): HostActionRecord | null | Promise<HostActionRecord | null>;
|
|
39
|
+
failHostAction(input: FailHostActionInput): HostActionRecord | Promise<HostActionRecord>;
|
|
40
|
+
}
|
|
41
|
+
export interface WorkflowRunExecutionOptions {
|
|
42
|
+
telemetryRunId?: string;
|
|
43
|
+
sessionId?: string;
|
|
44
|
+
executionId?: string;
|
|
45
|
+
contextReceipt?: string;
|
|
46
|
+
}
|
|
2
47
|
export interface StepHandler {
|
|
3
48
|
run(input: Record<string, unknown>, ctx: StepContext): Promise<Record<string, unknown>>;
|
|
4
49
|
inputSchema?: Record<string, unknown>;
|
|
@@ -25,6 +70,9 @@ export interface StepContext {
|
|
|
25
70
|
}
|
|
26
71
|
export interface WorkflowEngineOptions extends Partial<Omit<StepContext, "sessionId">> {
|
|
27
72
|
sessionId?: string;
|
|
73
|
+
hostActionStore?: HostActionStore;
|
|
74
|
+
truthfulWorkflow?: RolloutMode;
|
|
75
|
+
now?: () => number;
|
|
28
76
|
}
|
|
29
77
|
export interface ResolvedStep {
|
|
30
78
|
def: WorkflowStepDef;
|
|
@@ -32,19 +80,35 @@ export interface ResolvedStep {
|
|
|
32
80
|
}
|
|
33
81
|
export interface StepState {
|
|
34
82
|
stepId: string;
|
|
35
|
-
status: "pending" | "running" | "success" | "failed" | "skipped" | "awaiting_approval";
|
|
83
|
+
status: "pending" | "running" | "waiting_host" | "verifying" | "success" | "failed" | "skipped" | "awaiting_approval";
|
|
36
84
|
input?: Record<string, unknown>;
|
|
37
85
|
output?: Record<string, unknown>;
|
|
86
|
+
actionId?: string;
|
|
87
|
+
actionKind?: "execute" | "verify";
|
|
88
|
+
actionIds?: string[];
|
|
89
|
+
verifiedActionIds?: string[];
|
|
90
|
+
evidenceHash?: string;
|
|
91
|
+
shadowCandidate?: Record<string, unknown>;
|
|
38
92
|
error?: string;
|
|
39
93
|
startedAt?: number;
|
|
40
94
|
finishedAt?: number;
|
|
41
95
|
}
|
|
96
|
+
export interface RunMetadata {
|
|
97
|
+
engineRunId: string;
|
|
98
|
+
telemetryRunId: string;
|
|
99
|
+
projectRoot: string;
|
|
100
|
+
sessionId: string;
|
|
101
|
+
executionId?: string;
|
|
102
|
+
contextReceipt?: string;
|
|
103
|
+
truthfulWorkflow: RolloutMode;
|
|
104
|
+
}
|
|
42
105
|
export interface RunState {
|
|
43
106
|
runId: string;
|
|
44
107
|
workflowName: string;
|
|
45
108
|
input: Record<string, unknown>;
|
|
46
|
-
status: "running" | "completed" | "failed" | "canceled";
|
|
109
|
+
status: "running" | "waiting_host" | "completed" | "failed" | "canceled";
|
|
47
110
|
steps: StepState[];
|
|
111
|
+
metadata: RunMetadata;
|
|
48
112
|
startedAt: number;
|
|
49
113
|
finishedAt?: number;
|
|
50
114
|
failureCategory: FailureCategory | null;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +1,53 @@
|
|
|
1
1
|
import type { WorkflowDefinition, WorkflowMeta, WorkflowRun, WorkflowRunResult, StepEvent, TelemetryRun, IDataProvider, DevFlowPlugin, WorkflowRejection } from "@devflow-tools/sdk";
|
|
2
|
-
import type { StepHandler, WorkflowEngineOptions } from "./types.js";
|
|
2
|
+
import type { HostActionRecord, StepHandler, WorkflowEngineOptions, WorkflowRunExecutionOptions } from "./types.js";
|
|
3
3
|
export declare class WorkflowEngine {
|
|
4
4
|
private definitions;
|
|
5
5
|
private runs;
|
|
6
|
+
private runtimes;
|
|
7
|
+
private advancing;
|
|
6
8
|
private resolver;
|
|
7
9
|
private eventListeners;
|
|
8
10
|
private data?;
|
|
9
11
|
private options;
|
|
12
|
+
private truthfulWorkflow;
|
|
10
13
|
private pluginStepHandlers;
|
|
11
14
|
constructor(data?: IDataProvider, options?: WorkflowEngineOptions);
|
|
12
|
-
|
|
13
|
-
* Resolve all `WorkflowStepRef` entries in a workflow definition into
|
|
14
|
-
* concrete `StepInstruction` objects. Non-ref steps pass through unchanged.
|
|
15
|
-
*/
|
|
15
|
+
private now;
|
|
16
16
|
private resolveStepRefs;
|
|
17
17
|
register(definition: WorkflowDefinition): void;
|
|
18
18
|
registerStepHandler(id: string, handler: StepHandler): void;
|
|
19
19
|
registerPlugin(plugin: DevFlowPlugin): void;
|
|
20
|
-
runPluginWorkflow(pluginName: string, templateName: string, input: Record<string, unknown
|
|
20
|
+
runPluginWorkflow(pluginName: string, templateName: string, input: Record<string, unknown>, execution?: WorkflowRunExecutionOptions): Promise<WorkflowRunResult>;
|
|
21
21
|
private pluginWorkflowName;
|
|
22
22
|
list(): Promise<WorkflowMeta[]>;
|
|
23
23
|
getDefinition(name: string): WorkflowDefinition | undefined;
|
|
24
|
-
run(name: string, input: Record<string, unknown
|
|
25
|
-
|
|
24
|
+
run(name: string, input: Record<string, unknown>, execution?: WorkflowRunExecutionOptions): Promise<WorkflowRunResult>;
|
|
25
|
+
advanceRun(runId: string): Promise<void>;
|
|
26
|
+
private advanceRunInternal;
|
|
27
|
+
private skipFailedDescendants;
|
|
28
|
+
private executeStep;
|
|
29
|
+
private isManualStep;
|
|
30
|
+
private prepareManualStep;
|
|
31
|
+
private invokeStep;
|
|
26
32
|
private executeStateful;
|
|
33
|
+
private validateSuccessfulOutput;
|
|
34
|
+
private requestHostAction;
|
|
35
|
+
private validateRequestedRecord;
|
|
36
|
+
resumeHostAction(record: HostActionRecord): Promise<WorkflowRun>;
|
|
37
|
+
reconcileTimedOutActions(now?: number): Promise<string[]>;
|
|
27
38
|
approve(runId: string, stepId: string): Promise<void>;
|
|
28
39
|
reject(runId: string, stepId: string, rejection: WorkflowRejection | string): Promise<void>;
|
|
29
|
-
private maybeCompleteRun;
|
|
30
|
-
/**
|
|
31
|
-
* Render a markdown execution plan from a telemetry run and workflow template.
|
|
32
|
-
*
|
|
33
|
-
* The output is a human-readable plan that Claude Code (or another agent)
|
|
34
|
-
* can follow step-by-step. Each step includes the instruction, suggested
|
|
35
|
-
* tools, expected output, and a `devflow_report_step` call template.
|
|
36
|
-
*
|
|
37
|
-
* Steps may be in the new `StepInstruction` format (with `instruction`,
|
|
38
|
-
* `title`, `suggestedTools`) or the legacy `WorkflowStepDef` format (with
|
|
39
|
-
* only `description`). Both are handled gracefully.
|
|
40
|
-
*/
|
|
41
40
|
renderPlan(run: TelemetryRun, template: WorkflowDefinition): string;
|
|
42
41
|
getRun(runId: string): WorkflowRun | undefined;
|
|
43
42
|
listRuns(): Promise<WorkflowRun[]>;
|
|
43
|
+
private publicRun;
|
|
44
44
|
private stepContext;
|
|
45
|
+
private stepState;
|
|
46
|
+
private recomputeRunStatus;
|
|
45
47
|
private setRunFailure;
|
|
46
48
|
private runResult;
|
|
47
49
|
private persistRun;
|
|
50
|
+
private finishLogIfTerminal;
|
|
48
51
|
onEvent(runId: string, listener: (event: StepEvent) => void): void;
|
|
49
52
|
private emit;
|
|
50
53
|
private registerDefaults;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-engine.d.ts","sourceRoot":"","sources":["../src/workflow-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAGlB,YAAY,EACZ,WAAW,EACX,iBAAiB,EAEjB,SAAS,EAET,YAAY,EACZ,aAAa,EACb,aAAa,EAEb,iBAAiB,
|
|
1
|
+
{"version":3,"file":"workflow-engine.d.ts","sourceRoot":"","sources":["../src/workflow-engine.ts"],"names":[],"mappings":"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"}
|