@agent-relay/sdk 3.2.3 → 3.2.5
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/communicate/a2a-bridge.d.ts +25 -0
- package/dist/communicate/a2a-bridge.d.ts.map +1 -0
- package/dist/communicate/a2a-bridge.js +89 -0
- package/dist/communicate/a2a-bridge.js.map +1 -0
- package/dist/communicate/a2a-server.d.ts +31 -0
- package/dist/communicate/a2a-server.d.ts.map +1 -0
- package/dist/communicate/a2a-server.js +220 -0
- package/dist/communicate/a2a-server.js.map +1 -0
- package/dist/communicate/a2a-transport.d.ts +48 -0
- package/dist/communicate/a2a-transport.d.ts.map +1 -0
- package/dist/communicate/a2a-transport.js +302 -0
- package/dist/communicate/a2a-transport.js.map +1 -0
- package/dist/communicate/a2a-types.d.ts +107 -0
- package/dist/communicate/a2a-types.d.ts.map +1 -0
- package/dist/communicate/a2a-types.js +209 -0
- package/dist/communicate/a2a-types.js.map +1 -0
- package/dist/communicate/adapters/claude-sdk.d.ts +28 -0
- package/dist/communicate/adapters/claude-sdk.d.ts.map +1 -0
- package/dist/communicate/adapters/claude-sdk.js +47 -0
- package/dist/communicate/adapters/claude-sdk.js.map +1 -0
- package/dist/communicate/adapters/crewai.d.ts +42 -0
- package/dist/communicate/adapters/crewai.d.ts.map +1 -0
- package/dist/communicate/adapters/crewai.js +95 -0
- package/dist/communicate/adapters/crewai.js.map +1 -0
- package/dist/communicate/adapters/google-adk.d.ts +53 -0
- package/dist/communicate/adapters/google-adk.d.ts.map +1 -0
- package/dist/communicate/adapters/google-adk.js +77 -0
- package/dist/communicate/adapters/google-adk.js.map +1 -0
- package/dist/communicate/adapters/index.d.ts +7 -0
- package/dist/communicate/adapters/index.d.ts.map +1 -0
- package/dist/communicate/adapters/index.js +7 -0
- package/dist/communicate/adapters/index.js.map +1 -0
- package/dist/communicate/adapters/langgraph.d.ts +40 -0
- package/dist/communicate/adapters/langgraph.d.ts.map +1 -0
- package/dist/communicate/adapters/langgraph.js +77 -0
- package/dist/communicate/adapters/langgraph.js.map +1 -0
- package/dist/communicate/adapters/openai-agents.d.ts +25 -0
- package/dist/communicate/adapters/openai-agents.d.ts.map +1 -0
- package/dist/communicate/adapters/openai-agents.js +70 -0
- package/dist/communicate/adapters/openai-agents.js.map +1 -0
- package/dist/communicate/adapters/pi.d.ts +45 -0
- package/dist/communicate/adapters/pi.d.ts.map +1 -0
- package/dist/communicate/adapters/pi.js +59 -0
- package/dist/communicate/adapters/pi.js.map +1 -0
- package/dist/communicate/core.d.ts +58 -0
- package/dist/communicate/core.d.ts.map +1 -0
- package/dist/communicate/core.js +128 -0
- package/dist/communicate/core.js.map +1 -0
- package/dist/communicate/index.d.ts +4 -0
- package/dist/communicate/index.d.ts.map +1 -0
- package/dist/communicate/index.js +4 -0
- package/dist/communicate/index.js.map +1 -0
- package/dist/communicate/transport.d.ts +36 -0
- package/dist/communicate/transport.d.ts.map +1 -0
- package/dist/communicate/transport.js +371 -0
- package/dist/communicate/transport.js.map +1 -0
- package/dist/communicate/types.d.ts +58 -0
- package/dist/communicate/types.d.ts.map +1 -0
- package/dist/communicate/types.js +66 -0
- package/dist/communicate/types.js.map +1 -0
- package/dist/models.d.ts +1 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +2 -2
- package/dist/models.js.map +1 -1
- package/dist/workflows/builder.d.ts +35 -5
- package/dist/workflows/builder.d.ts.map +1 -1
- package/dist/workflows/builder.js +81 -7
- package/dist/workflows/builder.js.map +1 -1
- package/dist/workflows/cli.js +14 -1
- package/dist/workflows/cli.js.map +1 -1
- package/dist/workflows/runner.d.ts +10 -2
- package/dist/workflows/runner.d.ts.map +1 -1
- package/dist/workflows/runner.js +95 -1
- package/dist/workflows/runner.js.map +1 -1
- package/dist/workflows/types.d.ts +11 -0
- package/dist/workflows/types.d.ts.map +1 -1
- package/package.json +48 -2
- package/dist/__tests__/completion-pipeline.test.d.ts +0 -14
- package/dist/__tests__/completion-pipeline.test.d.ts.map +0 -1
- package/dist/__tests__/completion-pipeline.test.js +0 -1476
- package/dist/__tests__/completion-pipeline.test.js.map +0 -1
- package/dist/__tests__/contract-fixtures.test.d.ts +0 -2
- package/dist/__tests__/contract-fixtures.test.d.ts.map +0 -1
- package/dist/__tests__/contract-fixtures.test.js +0 -152
- package/dist/__tests__/contract-fixtures.test.js.map +0 -1
- package/dist/__tests__/e2e-owner-review.test.d.ts +0 -16
- package/dist/__tests__/e2e-owner-review.test.d.ts.map +0 -1
- package/dist/__tests__/e2e-owner-review.test.js +0 -640
- package/dist/__tests__/e2e-owner-review.test.js.map +0 -1
- package/dist/__tests__/facade.test.d.ts +0 -2
- package/dist/__tests__/facade.test.d.ts.map +0 -1
- package/dist/__tests__/facade.test.js +0 -305
- package/dist/__tests__/facade.test.js.map +0 -1
- package/dist/__tests__/integration.test.d.ts +0 -2
- package/dist/__tests__/integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration.test.js +0 -205
- package/dist/__tests__/integration.test.js.map +0 -1
- package/dist/__tests__/pty.test.d.ts +0 -2
- package/dist/__tests__/pty.test.d.ts.map +0 -1
- package/dist/__tests__/pty.test.js +0 -20
- package/dist/__tests__/pty.test.js.map +0 -1
- package/dist/__tests__/quickstart.test.d.ts +0 -2
- package/dist/__tests__/quickstart.test.d.ts.map +0 -1
- package/dist/__tests__/quickstart.test.js +0 -176
- package/dist/__tests__/quickstart.test.js.map +0 -1
- package/dist/__tests__/spawn-from-env.test.d.ts +0 -2
- package/dist/__tests__/spawn-from-env.test.d.ts.map +0 -1
- package/dist/__tests__/spawn-from-env.test.js +0 -222
- package/dist/__tests__/spawn-from-env.test.js.map +0 -1
- package/dist/__tests__/unit.test.d.ts +0 -2
- package/dist/__tests__/unit.test.d.ts.map +0 -1
- package/dist/__tests__/unit.test.js +0 -357
- package/dist/__tests__/unit.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/workflows/builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EACV,QAAQ,EAER,WAAW,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/workflows/builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EACV,QAAQ,EAER,WAAW,EAEX,kBAAkB,EAClB,YAAY,EAEZ,eAAe,EACf,eAAe,EACf,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAGjB,cAAc,EAEf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAkB,KAAK,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAKlH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;yBACqB;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8GAA8G;IAC9G,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,yCAAyC;AACzC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,kEAAkE;AAClE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,wBAAwB,GAAG,mBAAmB,CAAC;AAE5F,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,kDAAkD;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,yBAAyB;IACzB,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAID;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,cAAc,CAAC,CAAsB;IAC7C,OAAO,CAAC,aAAa,CAAC,CAAqB;IAC3C,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,aAAa,CAAC,CAA2B;IACjD,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAC,CAAS;gBAEpB,IAAI,EAAE,MAAM;IAIxB,gCAAgC;IAChC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,0CAA0C;IAC1C,OAAO,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAK9B,qCAAqC;IACrC,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAK/B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKzB,qDAAqD;IACrD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKzB,yEAAyE;IACzE,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAKxC,2FAA2F;IAC3F,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAK9C,wDAAwD;IACxD,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAKhC,qEAAqE;IACrE,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,KAAK,GAAG,IAAI;IAKpD,4EAA4E;IAC5E,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKjC,uFAAuF;IACvF,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK/B,+BAA+B;IAC/B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAgChD,oDAAoD;IACpD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IA8C9C,mCAAmC;IACnC,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,UAAU,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAQnF,mDAAmD;IACnD,QAAQ,IAAI,eAAe;IAqC3B,6CAA6C;IAC7C,MAAM,IAAI,MAAM;IAIhB,+DAA+D;IACzD,GAAG,CAAC,OAAO,EAAE,kBAAkB,GAAG;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1E,GAAG,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;CA+BjE;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAEtD"}
|
|
@@ -28,6 +28,11 @@ export class WorkflowBuilder {
|
|
|
28
28
|
_agents = [];
|
|
29
29
|
_steps = [];
|
|
30
30
|
_errorHandling;
|
|
31
|
+
_coordination;
|
|
32
|
+
_state;
|
|
33
|
+
_trajectories;
|
|
34
|
+
_startFrom;
|
|
35
|
+
_previousRunId;
|
|
31
36
|
constructor(name) {
|
|
32
37
|
this._name = name;
|
|
33
38
|
}
|
|
@@ -61,6 +66,31 @@ export class WorkflowBuilder {
|
|
|
61
66
|
this._idleNudge = config;
|
|
62
67
|
return this;
|
|
63
68
|
}
|
|
69
|
+
/** Set workflow coordination settings (barriers, voting threshold, consensus strategy). */
|
|
70
|
+
coordination(config) {
|
|
71
|
+
this._coordination = config;
|
|
72
|
+
return this;
|
|
73
|
+
}
|
|
74
|
+
/** Configure shared workflow state backend settings. */
|
|
75
|
+
state(config) {
|
|
76
|
+
this._state = config;
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
/** Configure trajectory recording, or pass `false` to disable it. */
|
|
80
|
+
trajectories(config) {
|
|
81
|
+
this._trajectories = config;
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
/** Start execution from a specific step, skipping all predecessor steps. */
|
|
85
|
+
startFrom(stepName) {
|
|
86
|
+
this._startFrom = stepName;
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
/** Set the previous run ID whose cached step outputs should be used with startFrom. */
|
|
90
|
+
previousRunId(id) {
|
|
91
|
+
this._previousRunId = id;
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
64
94
|
/** Add an agent definition. */
|
|
65
95
|
agent(name, options) {
|
|
66
96
|
const def = {
|
|
@@ -101,26 +131,59 @@ export class WorkflowBuilder {
|
|
|
101
131
|
step(name, options) {
|
|
102
132
|
const step = { name };
|
|
103
133
|
if ('type' in options && options.type === 'deterministic') {
|
|
134
|
+
if (!options.command) {
|
|
135
|
+
throw new Error('deterministic steps must have a command');
|
|
136
|
+
}
|
|
137
|
+
if ('agent' in options || 'task' in options) {
|
|
138
|
+
throw new Error('deterministic steps must not have agent or task');
|
|
139
|
+
}
|
|
104
140
|
step.type = 'deterministic';
|
|
105
141
|
step.command = options.command;
|
|
106
|
-
if (options.failOnError !== undefined)
|
|
107
|
-
step.failOnError = options.failOnError;
|
|
108
142
|
if (options.captureOutput !== undefined)
|
|
109
143
|
step.captureOutput = options.captureOutput;
|
|
144
|
+
if (options.failOnError !== undefined)
|
|
145
|
+
step.failOnError = options.failOnError;
|
|
146
|
+
if (options.dependsOn !== undefined)
|
|
147
|
+
step.dependsOn = options.dependsOn;
|
|
148
|
+
if (options.verification !== undefined)
|
|
149
|
+
step.verification = options.verification;
|
|
150
|
+
if (options.timeoutMs !== undefined)
|
|
151
|
+
step.timeoutMs = options.timeoutMs;
|
|
152
|
+
}
|
|
153
|
+
else if ('type' in options && options.type === 'worktree') {
|
|
154
|
+
if ('agent' in options || 'task' in options) {
|
|
155
|
+
throw new Error('worktree steps must not have agent or task');
|
|
156
|
+
}
|
|
157
|
+
step.type = 'worktree';
|
|
158
|
+
step.branch = options.branch;
|
|
159
|
+
if (options.baseBranch !== undefined)
|
|
160
|
+
step.baseBranch = options.baseBranch;
|
|
161
|
+
if (options.path !== undefined)
|
|
162
|
+
step.path = options.path;
|
|
163
|
+
if (options.createBranch !== undefined)
|
|
164
|
+
step.createBranch = options.createBranch;
|
|
165
|
+
if (options.dependsOn !== undefined)
|
|
166
|
+
step.dependsOn = options.dependsOn;
|
|
167
|
+
if (options.timeoutMs !== undefined)
|
|
168
|
+
step.timeoutMs = options.timeoutMs;
|
|
110
169
|
}
|
|
111
170
|
else {
|
|
171
|
+
// Agent step
|
|
112
172
|
const agentOpts = options;
|
|
173
|
+
if (!agentOpts.agent || !agentOpts.task) {
|
|
174
|
+
throw new Error('Agent steps must have both agent and task');
|
|
175
|
+
}
|
|
113
176
|
step.agent = agentOpts.agent;
|
|
114
177
|
step.task = agentOpts.task;
|
|
178
|
+
if (agentOpts.dependsOn !== undefined)
|
|
179
|
+
step.dependsOn = agentOpts.dependsOn;
|
|
115
180
|
if (agentOpts.verification !== undefined)
|
|
116
181
|
step.verification = agentOpts.verification;
|
|
182
|
+
if (agentOpts.timeoutMs !== undefined)
|
|
183
|
+
step.timeoutMs = agentOpts.timeoutMs;
|
|
117
184
|
if (agentOpts.retries !== undefined)
|
|
118
185
|
step.retries = agentOpts.retries;
|
|
119
186
|
}
|
|
120
|
-
if (options.dependsOn !== undefined)
|
|
121
|
-
step.dependsOn = options.dependsOn;
|
|
122
|
-
if (options.timeoutMs !== undefined)
|
|
123
|
-
step.timeoutMs = options.timeoutMs;
|
|
124
187
|
this._steps.push(step);
|
|
125
188
|
return this;
|
|
126
189
|
}
|
|
@@ -169,6 +232,12 @@ export class WorkflowBuilder {
|
|
|
169
232
|
config.swarm.idleNudge = this._idleNudge;
|
|
170
233
|
if (this._errorHandling !== undefined)
|
|
171
234
|
config.errorHandling = this._errorHandling;
|
|
235
|
+
if (this._coordination !== undefined)
|
|
236
|
+
config.coordination = this._coordination;
|
|
237
|
+
if (this._state !== undefined)
|
|
238
|
+
config.state = this._state;
|
|
239
|
+
if (this._trajectories !== undefined)
|
|
240
|
+
config.trajectories = this._trajectories;
|
|
172
241
|
return config;
|
|
173
242
|
}
|
|
174
243
|
/** Serialize the config to a YAML string. */
|
|
@@ -192,7 +261,12 @@ export class WorkflowBuilder {
|
|
|
192
261
|
if (options.onEvent) {
|
|
193
262
|
runner.on(options.onEvent);
|
|
194
263
|
}
|
|
195
|
-
|
|
264
|
+
const startFrom = this._startFrom ?? options.startFrom;
|
|
265
|
+
const previousRunId = this._previousRunId ?? options.previousRunId;
|
|
266
|
+
const executeOptions = startFrom
|
|
267
|
+
? { startFrom, previousRunId }
|
|
268
|
+
: undefined;
|
|
269
|
+
return runner.execute(config, options.workflow, options.vars, executeOptions);
|
|
196
270
|
}
|
|
197
271
|
}
|
|
198
272
|
// ── Entry point ─────────────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/workflows/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/workflows/builder.ts"],"names":[],"mappings":"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"}
|
package/dist/workflows/cli.js
CHANGED
|
@@ -23,6 +23,8 @@ Arguments:
|
|
|
23
23
|
Options:
|
|
24
24
|
--workflow <name> Run a specific workflow by name (default: first)
|
|
25
25
|
--resume <run-id> Resume a failed or interrupted run by its run ID
|
|
26
|
+
--start-from <step> Start from a specific step, skipping predecessors
|
|
27
|
+
--previous-run-id <id> Use cached outputs from a specific prior run (with --start-from)
|
|
26
28
|
--validate Validate workflow YAML for common issues without running
|
|
27
29
|
--help Show this help message
|
|
28
30
|
|
|
@@ -122,6 +124,16 @@ async function main() {
|
|
|
122
124
|
if (workflowIdx !== -1 && args[workflowIdx + 1]) {
|
|
123
125
|
workflowName = args[workflowIdx + 1];
|
|
124
126
|
}
|
|
127
|
+
let startFromStep;
|
|
128
|
+
const startFromIdx = args.indexOf('--start-from');
|
|
129
|
+
if (startFromIdx !== -1 && args[startFromIdx + 1]) {
|
|
130
|
+
startFromStep = args[startFromIdx + 1];
|
|
131
|
+
}
|
|
132
|
+
let previousRunId;
|
|
133
|
+
const prevRunIdx = args.indexOf('--previous-run-id');
|
|
134
|
+
if (prevRunIdx !== -1 && args[prevRunIdx + 1]) {
|
|
135
|
+
previousRunId = args[prevRunIdx + 1];
|
|
136
|
+
}
|
|
125
137
|
const isValidate = args.includes('--validate');
|
|
126
138
|
console.log(`Running workflow from ${yamlPath}...`);
|
|
127
139
|
const isDryRun = !!process.env.DRY_RUN;
|
|
@@ -139,7 +151,8 @@ async function main() {
|
|
|
139
151
|
process.exit(report.valid ? 0 : 1);
|
|
140
152
|
}
|
|
141
153
|
runner.on((event) => console.log(formatEvent(event)));
|
|
142
|
-
const
|
|
154
|
+
const executeOptions = startFromStep ? { startFrom: startFromStep, previousRunId } : undefined;
|
|
155
|
+
const result = await runner.execute(config, workflowName, undefined, executeOptions);
|
|
143
156
|
if (result.status === 'completed') {
|
|
144
157
|
console.log(`\nWorkflow completed successfully.`);
|
|
145
158
|
process.exit(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/workflows/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CACT
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/workflows/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* persists state to DB, and supports pause/resume/abort with retries.
|
|
5
5
|
*/
|
|
6
6
|
import type { BrokerEvent } from '../protocol.js';
|
|
7
|
-
import type { AgentCli, AgentDefinition, DryRunReport, RelayYamlConfig, StepCompletionEvidence, WorkflowRunRow, WorkflowStep, WorkflowStepRow } from './types.js';
|
|
7
|
+
import type { AgentCli, AgentDefinition, DryRunReport, RelayYamlConfig, StepCompletionEvidence, WorkflowRunRow, WorkflowStep, WorkflowExecuteOptions, WorkflowStepRow } from './types.js';
|
|
8
8
|
import { AgentRelay } from '../relay.js';
|
|
9
9
|
import type { AgentRelayOptions } from '../relay.js';
|
|
10
10
|
/** Minimal DB adapter so the runner is not coupled to a specific driver. */
|
|
@@ -250,7 +250,7 @@ export declare class WorkflowRunner {
|
|
|
250
250
|
/** Interpolate step-output variables, silently skipping unresolved ones (they may be user vars). */
|
|
251
251
|
private interpolateStepTask;
|
|
252
252
|
/** Execute a named workflow from a validated config. */
|
|
253
|
-
execute(config: RelayYamlConfig, workflowName?: string, vars?: VariableContext): Promise<WorkflowRunRow>;
|
|
253
|
+
execute(config: RelayYamlConfig, workflowName?: string, vars?: VariableContext, executeOptions?: WorkflowExecuteOptions): Promise<WorkflowRunRow>;
|
|
254
254
|
/** Resume a previously paused or partially completed run. */
|
|
255
255
|
resume(runId: string, vars?: VariableContext): Promise<WorkflowRunRow>;
|
|
256
256
|
private runWorkflowCore;
|
|
@@ -376,6 +376,12 @@ export declare class WorkflowRunner {
|
|
|
376
376
|
private updateRunStatus;
|
|
377
377
|
private markStepFailed;
|
|
378
378
|
private markDownstreamSkipped;
|
|
379
|
+
/**
|
|
380
|
+
* Walk the dependsOn graph backwards from a target step to collect ALL
|
|
381
|
+
* transitive dependencies (i.e. every step that must complete before
|
|
382
|
+
* the target step can run). The target step itself is NOT included.
|
|
383
|
+
*/
|
|
384
|
+
private collectTransitiveDeps;
|
|
379
385
|
private checkAborted;
|
|
380
386
|
private waitIfPaused;
|
|
381
387
|
private delay;
|
|
@@ -435,6 +441,8 @@ export declare class WorkflowRunner {
|
|
|
435
441
|
private getStepOutputDir;
|
|
436
442
|
/** Persist step output to disk and post full output as a channel message. */
|
|
437
443
|
private persistStepOutput;
|
|
444
|
+
/** Scan .agent-relay/step-outputs/ for the most recent run directory containing the needed steps. */
|
|
445
|
+
private findMostRecentRunWithSteps;
|
|
438
446
|
/** Load persisted step output from disk. */
|
|
439
447
|
private loadStepOutput;
|
|
440
448
|
/** Get or create the worker logs directory (.agent-relay/team/worker-logs) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/workflows/runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAWlD,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EAQf,YAAY,EAMZ,eAAe,EAEf,sBAAsB,EAKtB,cAAc,EAEd,YAAY,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/workflows/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/workflows/runner.js
CHANGED
|
@@ -1329,7 +1329,7 @@ export class WorkflowRunner {
|
|
|
1329
1329
|
}
|
|
1330
1330
|
// ── Execution ───────────────────────────────────────────────────────────
|
|
1331
1331
|
/** Execute a named workflow from a validated config. */
|
|
1332
|
-
async execute(config, workflowName, vars) {
|
|
1332
|
+
async execute(config, workflowName, vars, executeOptions) {
|
|
1333
1333
|
// Set up abort controller early so callers can abort() even during setup
|
|
1334
1334
|
this.abortController = new AbortController();
|
|
1335
1335
|
this.paused = false;
|
|
@@ -1395,6 +1395,41 @@ export class WorkflowRunner {
|
|
|
1395
1395
|
await this.db.insertStep(stepRow);
|
|
1396
1396
|
stepStates.set(step.name, { row: stepRow });
|
|
1397
1397
|
}
|
|
1398
|
+
// Handle startFrom: skip all transitive dependencies of the target step
|
|
1399
|
+
if (executeOptions?.startFrom) {
|
|
1400
|
+
const startFromName = executeOptions.startFrom;
|
|
1401
|
+
const stepNames = new Set(resolvedWorkflow.steps.map((s) => s.name));
|
|
1402
|
+
if (!stepNames.has(startFromName)) {
|
|
1403
|
+
throw new Error(`startFrom step "${startFromName}" not found in workflow. Available steps: ${[...stepNames].join(', ')}`);
|
|
1404
|
+
}
|
|
1405
|
+
const transitiveDeps = this.collectTransitiveDeps(startFromName, resolvedWorkflow.steps);
|
|
1406
|
+
const skippedCount = transitiveDeps.size;
|
|
1407
|
+
// Determine which run ID to load cached outputs from
|
|
1408
|
+
const cacheRunId = executeOptions.previousRunId
|
|
1409
|
+
?? this.findMostRecentRunWithSteps(transitiveDeps);
|
|
1410
|
+
for (const depName of transitiveDeps) {
|
|
1411
|
+
const state = stepStates.get(depName);
|
|
1412
|
+
if (!state)
|
|
1413
|
+
continue;
|
|
1414
|
+
// Load cached output from a previous run if available
|
|
1415
|
+
const cachedOutput = cacheRunId ? this.loadStepOutput(cacheRunId, depName) : undefined;
|
|
1416
|
+
if (!cachedOutput) {
|
|
1417
|
+
this.log(`[startFrom] No cached output for skipped step "${depName}" — using empty string`);
|
|
1418
|
+
}
|
|
1419
|
+
state.row.status = 'completed';
|
|
1420
|
+
state.row.output = cachedOutput ?? '';
|
|
1421
|
+
state.row.completedAt = now;
|
|
1422
|
+
await this.db.updateStep(state.row.id, {
|
|
1423
|
+
status: 'completed',
|
|
1424
|
+
output: state.row.output,
|
|
1425
|
+
completedAt: now,
|
|
1426
|
+
updatedAt: now,
|
|
1427
|
+
});
|
|
1428
|
+
}
|
|
1429
|
+
if (skippedCount > 0) {
|
|
1430
|
+
this.log(`[startFrom] Skipping ${skippedCount} steps, starting from "${startFromName}"`);
|
|
1431
|
+
}
|
|
1432
|
+
}
|
|
1398
1433
|
return this.runWorkflowCore({
|
|
1399
1434
|
run,
|
|
1400
1435
|
workflow: resolvedWorkflow,
|
|
@@ -4449,6 +4484,33 @@ export class WorkflowRunner {
|
|
|
4449
4484
|
}
|
|
4450
4485
|
}
|
|
4451
4486
|
}
|
|
4487
|
+
// ── startFrom dependency resolution ─────────────────────────────────
|
|
4488
|
+
/**
|
|
4489
|
+
* Walk the dependsOn graph backwards from a target step to collect ALL
|
|
4490
|
+
* transitive dependencies (i.e. every step that must complete before
|
|
4491
|
+
* the target step can run). The target step itself is NOT included.
|
|
4492
|
+
*/
|
|
4493
|
+
collectTransitiveDeps(targetStep, steps) {
|
|
4494
|
+
const stepMap = new Map();
|
|
4495
|
+
for (const s of steps)
|
|
4496
|
+
stepMap.set(s.name, s);
|
|
4497
|
+
const deps = new Set();
|
|
4498
|
+
const queue = [...(stepMap.get(targetStep)?.dependsOn ?? [])];
|
|
4499
|
+
while (queue.length > 0) {
|
|
4500
|
+
const current = queue.shift();
|
|
4501
|
+
if (deps.has(current))
|
|
4502
|
+
continue;
|
|
4503
|
+
deps.add(current);
|
|
4504
|
+
const step = stepMap.get(current);
|
|
4505
|
+
if (step?.dependsOn) {
|
|
4506
|
+
for (const dep of step.dependsOn) {
|
|
4507
|
+
if (!deps.has(dep))
|
|
4508
|
+
queue.push(dep);
|
|
4509
|
+
}
|
|
4510
|
+
}
|
|
4511
|
+
}
|
|
4512
|
+
return deps;
|
|
4513
|
+
}
|
|
4452
4514
|
// ── Control flow helpers ──────────────────────────────────────────────
|
|
4453
4515
|
checkAborted() {
|
|
4454
4516
|
if (this.abortController?.signal.aborted) {
|
|
@@ -4884,6 +4946,38 @@ export class WorkflowRunner {
|
|
|
4884
4946
|
const preview = scrubbed.length > maxMsg ? scrubbed.slice(-maxMsg) : scrubbed;
|
|
4885
4947
|
this.postToChannel(`**[${stepName}] Output:**\n\`\`\`\n${preview}\n\`\`\``, { stepName });
|
|
4886
4948
|
}
|
|
4949
|
+
/** Scan .agent-relay/step-outputs/ for the most recent run directory containing the needed steps. */
|
|
4950
|
+
findMostRecentRunWithSteps(stepNames) {
|
|
4951
|
+
try {
|
|
4952
|
+
const baseDir = path.join(this.cwd, '.agent-relay', 'step-outputs');
|
|
4953
|
+
if (!existsSync(baseDir))
|
|
4954
|
+
return undefined;
|
|
4955
|
+
const entries = readdirSync(baseDir);
|
|
4956
|
+
let best;
|
|
4957
|
+
for (const entry of entries) {
|
|
4958
|
+
const dirPath = path.join(baseDir, entry);
|
|
4959
|
+
try {
|
|
4960
|
+
const stat = statSync(dirPath);
|
|
4961
|
+
if (!stat.isDirectory())
|
|
4962
|
+
continue;
|
|
4963
|
+
// Check if this directory has at least one of the needed step files
|
|
4964
|
+
const hasAny = [...stepNames].some(name => existsSync(path.join(dirPath, `${name}.md`)));
|
|
4965
|
+
if (!hasAny)
|
|
4966
|
+
continue;
|
|
4967
|
+
if (!best || stat.mtimeMs > best.mtime) {
|
|
4968
|
+
best = { name: entry, mtime: stat.mtimeMs };
|
|
4969
|
+
}
|
|
4970
|
+
}
|
|
4971
|
+
catch {
|
|
4972
|
+
continue;
|
|
4973
|
+
}
|
|
4974
|
+
}
|
|
4975
|
+
return best?.name;
|
|
4976
|
+
}
|
|
4977
|
+
catch {
|
|
4978
|
+
return undefined;
|
|
4979
|
+
}
|
|
4980
|
+
}
|
|
4887
4981
|
/** Load persisted step output from disk. */
|
|
4888
4982
|
loadStepOutput(runId, stepName) {
|
|
4889
4983
|
try {
|