@studio-foundation/engine 0.7.0 → 0.8.1
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/events.d.ts +32 -21
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +15 -0
- package/dist/events.js.map +1 -1
- package/dist/spawners/direct-engine-spawner.d.ts +4 -1
- package/dist/spawners/direct-engine-spawner.d.ts.map +1 -1
- package/dist/spawners/direct-engine-spawner.js +16 -3
- package/dist/spawners/direct-engine-spawner.js.map +1 -1
- package/package.json +4 -4
package/dist/events.d.ts
CHANGED
|
@@ -128,28 +128,39 @@ export interface StagedAgentProgressEvent extends AgentProgressEvent {
|
|
|
128
128
|
export interface StagedAgentTokenEvent extends AgentTokenEvent {
|
|
129
129
|
stage: string;
|
|
130
130
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
onStageStart?: (event: StageStartEvent) => void;
|
|
136
|
-
onStageComplete?: (event: StageCompleteEvent) => void;
|
|
137
|
-
onTaskRetry?: (event: StageRetryEvent) => void;
|
|
138
|
-
onGroupStart?: (event: GroupStartEvent) => void;
|
|
139
|
-
onGroupIteration?: (event: GroupIterationEvent) => void;
|
|
140
|
-
onGroupFeedback?: (event: GroupFeedbackEvent) => void;
|
|
141
|
-
onGroupComplete?: (event: GroupCompleteEvent) => void;
|
|
142
|
-
onMapStart?: (event: MapStartEvent) => void;
|
|
143
|
-
onMapItemStart?: (event: MapItemStartEvent) => void;
|
|
144
|
-
onMapItemComplete?: (event: MapItemCompleteEvent) => void;
|
|
145
|
-
onMapComplete?: (event: MapCompleteEvent) => void;
|
|
146
|
-
onStageContext?: (event: StageContextEvent) => void;
|
|
147
|
-
onToolCallStart?: (event: StagedToolCallStartEvent) => void;
|
|
148
|
-
onToolCallComplete?: (event: StagedToolCallCompleteEvent) => void;
|
|
149
|
-
onAgentThinking?: (event: StagedAgentThinkingEvent) => void;
|
|
150
|
-
onAgentProgress?: (event: StagedAgentProgressEvent) => void;
|
|
151
|
-
onAgentToken?: (event: StagedAgentTokenEvent) => void;
|
|
131
|
+
/** Orchestration context stamped onto child-run events by the spawner. */
|
|
132
|
+
export interface EventContext {
|
|
133
|
+
depth: number;
|
|
134
|
+
childId: string;
|
|
152
135
|
}
|
|
136
|
+
export interface EngineEvents {
|
|
137
|
+
onPipelineStart?: (event: PipelineStartEvent, ctx?: EventContext) => void;
|
|
138
|
+
onPipelineComplete?: (event: PipelineCompleteEvent, ctx?: EventContext) => void;
|
|
139
|
+
onPipelineCancelled?: (event: PipelineCancelledEvent, ctx?: EventContext) => void;
|
|
140
|
+
onStageStart?: (event: StageStartEvent, ctx?: EventContext) => void;
|
|
141
|
+
onStageComplete?: (event: StageCompleteEvent, ctx?: EventContext) => void;
|
|
142
|
+
onTaskRetry?: (event: StageRetryEvent, ctx?: EventContext) => void;
|
|
143
|
+
onGroupStart?: (event: GroupStartEvent, ctx?: EventContext) => void;
|
|
144
|
+
onGroupIteration?: (event: GroupIterationEvent, ctx?: EventContext) => void;
|
|
145
|
+
onGroupFeedback?: (event: GroupFeedbackEvent, ctx?: EventContext) => void;
|
|
146
|
+
onGroupComplete?: (event: GroupCompleteEvent, ctx?: EventContext) => void;
|
|
147
|
+
onMapStart?: (event: MapStartEvent, ctx?: EventContext) => void;
|
|
148
|
+
onMapItemStart?: (event: MapItemStartEvent, ctx?: EventContext) => void;
|
|
149
|
+
onMapItemComplete?: (event: MapItemCompleteEvent, ctx?: EventContext) => void;
|
|
150
|
+
onMapComplete?: (event: MapCompleteEvent, ctx?: EventContext) => void;
|
|
151
|
+
onStageContext?: (event: StageContextEvent, ctx?: EventContext) => void;
|
|
152
|
+
onToolCallStart?: (event: StagedToolCallStartEvent, ctx?: EventContext) => void;
|
|
153
|
+
onToolCallComplete?: (event: StagedToolCallCompleteEvent, ctx?: EventContext) => void;
|
|
154
|
+
onAgentThinking?: (event: StagedAgentThinkingEvent, ctx?: EventContext) => void;
|
|
155
|
+
onAgentProgress?: (event: StagedAgentProgressEvent, ctx?: EventContext) => void;
|
|
156
|
+
onAgentToken?: (event: StagedAgentTokenEvent, ctx?: EventContext) => void;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Wrap a parent event sink so a child run's events reach it stamped with `ctx`.
|
|
160
|
+
* A Proxy forwards any defined handler, injecting ctx as the trailing argument;
|
|
161
|
+
* the child engine keeps emitting one-arg calls unchanged.
|
|
162
|
+
*/
|
|
163
|
+
export declare function createTaggingAdapter(parent: EngineEvents, ctx: EventContext): EngineEvents;
|
|
153
164
|
export type PipelineEvent = {
|
|
154
165
|
type: 'pipeline_start';
|
|
155
166
|
pipelineId: string;
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAKjK,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7B,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kFAAkF;IAClF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAyB,SAAQ,kBAAkB;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,0EAA0E;AAC1E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1E,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAChF,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAClF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACpE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1E,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACnE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACpE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5E,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1E,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAChE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACxE,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACtE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAExE,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAChF,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAEtF,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAChF,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAChF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CAC3E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,GAAG,YAAY,CAQ1F;AAGD,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAClG;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACxF;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACzF;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjG,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAA6C;IAE9D,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAIlD,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;CAKjC"}
|
package/dist/events.js
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wrap a parent event sink so a child run's events reach it stamped with `ctx`.
|
|
3
|
+
* A Proxy forwards any defined handler, injecting ctx as the trailing argument;
|
|
4
|
+
* the child engine keeps emitting one-arg calls unchanged.
|
|
5
|
+
*/
|
|
6
|
+
export function createTaggingAdapter(parent, ctx) {
|
|
7
|
+
return new Proxy({}, {
|
|
8
|
+
get(_target, prop) {
|
|
9
|
+
const handler = parent[prop];
|
|
10
|
+
if (typeof handler !== 'function')
|
|
11
|
+
return undefined;
|
|
12
|
+
return (event) => handler.call(parent, event, ctx);
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
}
|
|
1
16
|
export class PipelineEventEmitter {
|
|
2
17
|
listeners = [];
|
|
3
18
|
on(listener) {
|
package/dist/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AA2LA;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAoB,EAAE,GAAiB;IAC1E,OAAO,IAAI,KAAK,CAAC,EAAkB,EAAE;QACnC,GAAG,CAAC,OAAO,EAAE,IAAY;YACvB,MAAM,OAAO,GAAI,MAAkC,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,OAAO,OAAO,KAAK,UAAU;gBAAE,OAAO,SAAS,CAAC;YACpD,OAAO,CAAC,KAAc,EAAE,EAAE,CAAE,OAAiD,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACzG,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAiBD,MAAM,OAAO,oBAAoB;IACvB,SAAS,GAA0C,EAAE,CAAC;IAE9D,EAAE,CAAC,QAAwC;QACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,KAAoB;QACvB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { RunSpawner, SpawnConfig, SpawnResult } from '@studio-foundation/contracts';
|
|
2
2
|
import { type EngineConfig } from '../engine.js';
|
|
3
|
+
import { type EngineEvents } from '../events.js';
|
|
3
4
|
export declare class DirectEngineSpawner implements RunSpawner {
|
|
4
5
|
private engineConfig;
|
|
5
|
-
|
|
6
|
+
private events?;
|
|
7
|
+
private childCounter;
|
|
8
|
+
constructor(engineConfig: EngineConfig, events?: EngineEvents | undefined);
|
|
6
9
|
spawnAndWait(config: SpawnConfig): Promise<SpawnResult>;
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=direct-engine-spawner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-engine-spawner.d.ts","sourceRoot":"","sources":["../../src/spawners/direct-engine-spawner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAe,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"direct-engine-spawner.d.ts","sourceRoot":"","sources":["../../src/spawners/direct-engine-spawner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAe,MAAM,8BAA8B,CAAC;AACtG,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEvE,qBAAa,mBAAoB,YAAW,UAAU;IAGxC,OAAO,CAAC,YAAY;IAAgB,OAAO,CAAC,MAAM,CAAC;IAF/D,OAAO,CAAC,YAAY,CAAK;gBAEL,YAAY,EAAE,YAAY,EAAU,MAAM,CAAC,EAAE,YAAY,YAAA;IAEvE,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CA4B9D"}
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { PipelineEngine } from '../engine.js';
|
|
2
|
+
import { createTaggingAdapter } from '../events.js';
|
|
2
3
|
export class DirectEngineSpawner {
|
|
3
4
|
engineConfig;
|
|
4
|
-
|
|
5
|
+
events;
|
|
6
|
+
childCounter = 0;
|
|
7
|
+
constructor(engineConfig, events) {
|
|
5
8
|
this.engineConfig = engineConfig;
|
|
9
|
+
this.events = events;
|
|
6
10
|
}
|
|
7
11
|
async spawnAndWait(config) {
|
|
8
|
-
|
|
12
|
+
// Hand the spawner down: without it a child engine cannot run `call`/`map`
|
|
13
|
+
// stages of its own, capping nesting at depth 1 while maxDepth promises 3
|
|
14
|
+
// (STU-615). The orchestrators' depth guard is the recursion limit.
|
|
15
|
+
//
|
|
16
|
+
// Stamp the child's events with its depth + a unique childId so event
|
|
17
|
+
// consumers can distinguish concurrent child runs (STU-620). The CLI
|
|
18
|
+
// currently renders nesting by depth alone.
|
|
19
|
+
const childEvents = this.events
|
|
20
|
+
? createTaggingAdapter(this.events, { depth: config.depth, childId: `d${config.depth}#${this.childCounter++}` })
|
|
21
|
+
: undefined;
|
|
22
|
+
const child = new PipelineEngine({ ...this.engineConfig, spawner: this }, childEvents);
|
|
9
23
|
const result = await child.run({
|
|
10
24
|
pipeline: config.pipeline,
|
|
11
25
|
input: config.input,
|
|
@@ -15,7 +29,6 @@ export class DirectEngineSpawner {
|
|
|
15
29
|
if (result.status === 'failed' || result.status === 'rejected' || result.status === 'cancelled') {
|
|
16
30
|
throw new Error(`Child run ${result.id} ${result.status}`);
|
|
17
31
|
}
|
|
18
|
-
// Extract output from the last successful stage
|
|
19
32
|
const lastStage = [...result.stages].reverse().find(s => s.status === 'success');
|
|
20
33
|
const output = lastStage?.output ?? null;
|
|
21
34
|
return { run_id: result.id, status: result.status, output };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"direct-engine-spawner.js","sourceRoot":"","sources":["../../src/spawners/direct-engine-spawner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAqB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"direct-engine-spawner.js","sourceRoot":"","sources":["../../src/spawners/direct-engine-spawner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAqB,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAqB,MAAM,cAAc,CAAC;AAEvE,MAAM,OAAO,mBAAmB;IAGV;IAAoC;IAFhD,YAAY,GAAG,CAAC,CAAC;IAEzB,YAAoB,YAA0B,EAAU,MAAqB;QAAzD,iBAAY,GAAZ,YAAY,CAAc;QAAU,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEjF,KAAK,CAAC,YAAY,CAAC,MAAmB;QACpC,2EAA2E;QAC3E,0EAA0E;QAC1E,oEAAoE;QACpE,EAAE;QACF,sEAAsE;QACtE,qEAAqE;QACrE,4CAA4C;QAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM;YAC7B,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC;YAChH,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;QACvF,MAAM,MAAM,GAAgB,MAAM,KAAK,CAAC,GAAG,CAAC;YAC1C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChG,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QACjF,MAAM,MAAM,GAAI,SAA8C,EAAE,MAAM,IAAI,IAAI,CAAC;QAE/E,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9D,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@studio-foundation/engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "Pipeline orchestration, state machine, and lifecycle hooks for Studio",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"better-sqlite3": "^9.0.0",
|
|
27
27
|
"js-yaml": "^4.1.0",
|
|
28
28
|
"pg": "^8.19.0",
|
|
29
|
-
"@studio-foundation/contracts": "0.
|
|
30
|
-
"@studio-foundation/ralph": "0.
|
|
31
|
-
"@studio-foundation/runner": "0.
|
|
29
|
+
"@studio-foundation/contracts": "0.8.1",
|
|
30
|
+
"@studio-foundation/ralph": "0.8.1",
|
|
31
|
+
"@studio-foundation/runner": "0.8.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/better-sqlite3": "^7.6.8",
|