@studio-foundation/engine 0.7.0 → 0.8.0

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 CHANGED
@@ -128,28 +128,39 @@ export interface StagedAgentProgressEvent extends AgentProgressEvent {
128
128
  export interface StagedAgentTokenEvent extends AgentTokenEvent {
129
129
  stage: string;
130
130
  }
131
- export interface EngineEvents {
132
- onPipelineStart?: (event: PipelineStartEvent) => void;
133
- onPipelineComplete?: (event: PipelineCompleteEvent) => void;
134
- onPipelineCancelled?: (event: PipelineCancelledEvent) => void;
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;
@@ -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":"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"}
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) {
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAoMA,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
+ {"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
- constructor(engineConfig: EngineConfig);
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;AAEjE,qBAAa,mBAAoB,YAAW,UAAU;IACxC,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,YAAY;IAExC,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAmB9D"}
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
- constructor(engineConfig) {
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
- const child = new PipelineEngine(this.engineConfig);
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;AAEjE,MAAM,OAAO,mBAAmB;IACV;IAApB,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAElD,KAAK,CAAC,YAAY,CAAC,MAAmB;QACpC,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,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,gDAAgD;QAChD,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"}
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.7.0",
3
+ "version": "0.8.0",
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.7.0",
30
- "@studio-foundation/ralph": "0.7.0",
31
- "@studio-foundation/runner": "0.7.0"
29
+ "@studio-foundation/ralph": "0.8.0",
30
+ "@studio-foundation/runner": "0.8.0",
31
+ "@studio-foundation/contracts": "0.8.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/better-sqlite3": "^7.6.8",