@bian-womp/spark-remote 0.2.46 → 0.2.48

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.
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteEngine.d.ts","sourceRoot":"","sources":["../../../src/RemoteEngine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,qBAAa,YAAa,YAAW,MAAM;IAO7B,OAAO,CAAC,SAAS;IAN7B,OAAO,CAAC,SAAS,CAGb;IACJ,OAAO,CAAC,KAAK,CAAiE;gBAE1D,SAAS,EAAE,SAAS;IAIxC,OAAO,CAAC,UAAU;IAmBlB,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI;IAMlC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAO9D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMhE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAMrD,EAAE,CAAC,CAAC,SAAS,eAAe,EAC1B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,MAAM,IAAI;IAOb,OAAO,CAAC,IAAI;IAQZ,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"RemoteEngine.d.ts","sourceRoot":"","sources":["../../../src/RemoteEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAEd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,qBAAa,YAAa,YAAW,MAAM;IAO7B,OAAO,CAAC,SAAS;IAN7B,OAAO,CAAC,SAAS,CAGb;IACJ,OAAO,CAAC,KAAK,CAAiE;gBAE1D,SAAS,EAAE,SAAS;IAIxC,OAAO,CAAC,UAAU;IAmBlB,MAAM,CACJ,UAAU,CAAC,EAAE,OAAO,EACpB,YAAY,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,GAC/C,IAAI;IASP,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAO9D,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMhE,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAMrD,EAAE,CAAC,CAAC,SAAS,eAAe,EAC1B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC9B,MAAM,IAAI;IAOb,OAAO,CAAC,IAAI;IAQZ,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,OAAO,IAAI,IAAI;CAGhB"}
@@ -1,4 +1,4 @@
1
- import type { GraphDefinition, RegistryDescriptor, RuntimeSnapshot, RuntimeSnapshotFull, Envelope } from "@bian-womp/spark-protocol";
1
+ import type { GraphDefinition, RegistryDescriptor, RuntimeSnapshot, RuntimeSnapshotFull, Envelope, RunnerOptions } from "@bian-womp/spark-protocol";
2
2
  import type { Engine } from "@bian-womp/spark-graph";
3
3
  import type { TransportConnectOptions } from "./transport/Transport";
4
4
  export type RemoteClientConfig = {
@@ -74,6 +74,10 @@ export declare class RuntimeApiClient {
74
74
  getEnvironment(): Promise<Record<string, unknown>>;
75
75
  coerce(from: string, to: string, value: unknown): Promise<unknown>;
76
76
  getEngine(): Engine;
77
+ launch(opts?: RunnerOptions): Promise<void>;
78
+ step(): Promise<void>;
79
+ computeNode(nodeId: string): Promise<void>;
80
+ flush(): Promise<void>;
77
81
  /**
78
82
  * Dispose the client and close the transport connection.
79
83
  * Idempotent: safe to call multiple times.
@@ -1 +1 @@
1
- {"version":3,"file":"RuntimeApiClient.d.ts","sourceRoot":"","sources":["../../../src/RuntimeApiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RuntimeApiClient.d.ts","sourceRoot":"","sources":["../../../src/RuntimeApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,aAAa,EACd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAa,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAKhF,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC1C,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC1C,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC1C,CAAC;AAEN,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;IACnD,IAAI,EAAE,aAAa,GAAG,WAAW,GAAG,aAAa,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;AAC7E,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAEjE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,uBAAuB,CAAqC;IACpE,OAAO,CAAC,oBAAoB,CAAC,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,iBAAiB,CAAC,CAAgB;gBAGxC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,mBAAmB,CAAA;KAAE;IASnD;;;OAGG;YACW,eAAe;IAoB7B;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C9B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,IAAI;IAY/D,OAAO,CAAC,mBAAmB;IAM3B;;;OAGG;YACW,eAAe;IAgBvB,KAAK,CACT,GAAG,EAAE,eAAe,EACpB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAC/C,OAAO,CAAC,IAAI,CAAC;IAUV,MAAM,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAiB/C,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC;IASpC,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAgB5C,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9D,cAAc,CAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GACzB,OAAO,CAAC,IAAI,CAAC;IAUV,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAUlD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IASxE,SAAS,IAAI,MAAM;IAOb,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA6B/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"RuntimeApiServer.d.ts","sourceRoot":"","sources":["../../../../src/server/RuntimeApiServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,WAAW,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EACtB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KACtB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,QAAQ,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC,KACxD,IAAI,CAAC;AAEV,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO,CAAC;IALlB,OAAO,CAAC,WAAW,CAA2B;gBAGpC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,YAAY,YAAA;IAGhC;;;OAGG;IACH,GAAG,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIxC;;OAEG;IACG,aAAa,CACjB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EACtB,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC;IAWhB;;OAEG;YACW,kBAAkB;IAgBhC;;OAEG;YACW,cAAc;IAsJ5B;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;;;OAIG;IACH,OAAO,CAAC,WAAW;CAkBpB"}
1
+ {"version":3,"file":"RuntimeApiServer.d.ts","sourceRoot":"","sources":["../../../../src/server/RuntimeApiServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,WAAW,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5C;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EACtB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KACtB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,QAAQ,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC,KACxD,IAAI,CAAC;AAEV,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,OAAO,CAAC;IALlB,OAAO,CAAC,WAAW,CAA2B;gBAGpC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,YAAY,YAAA;IAGhC;;;OAGG;IACH,GAAG,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIxC;;OAEG;IACG,aAAa,CACjB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EACtB,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC;IAWhB;;OAEG;YACW,kBAAkB;IAgBhC;;OAEG;YACW,cAAc;IAyL5B;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;;;OAIG;IACH,OAAO,CAAC,WAAW;CAkBpB"}
@@ -1,5 +1,5 @@
1
- import { GraphBuilder, Registry, GraphRuntime } from "@bian-womp/spark-graph";
2
- import type { Envelope, RuntimeEvent, GraphDefinition, RegistryDescriptor, RegistryDelta, RuntimeSnapshot, RuntimeSnapshotFull, Json } from "@bian-womp/spark-protocol";
1
+ import type { Envelope, RuntimeEvent, GraphDefinition, RegistryDescriptor, RegistryDelta, RuntimeSnapshot, RuntimeSnapshotFull, Json, RunnerOptions } from "@bian-womp/spark-protocol";
2
+ import { GraphBuilder, Registry, GraphRuntime, Engine } from "@bian-womp/spark-graph";
3
3
  export interface RuntimeApi {
4
4
  build: (def: GraphDefinition, env?: Json) => Promise<void>;
5
5
  update: (def: GraphDefinition) => Promise<void>;
@@ -13,7 +13,10 @@ export interface RuntimeApi {
13
13
  setInput: (nodeId: string, handle: string, value: unknown) => void;
14
14
  setInputs: (nodeId: string, inputs: Record<string, unknown>) => void;
15
15
  triggerExternal: (nodeId: string, event: unknown) => void;
16
- launch: (invalidate?: boolean) => void;
16
+ launch: (opts?: RunnerOptions) => void;
17
+ step?: () => Promise<void>;
18
+ computeNode?: (nodeId: string) => Promise<void>;
19
+ flush?: () => Promise<void>;
17
20
  whenIdle: () => Promise<void>;
18
21
  dispose: () => void;
19
22
  describeRegistry: () => RegistryDescriptor;
@@ -26,10 +29,11 @@ export interface RuntimeApiContext {
26
29
  registry: Registry;
27
30
  builder: GraphBuilder;
28
31
  graphRuntime: GraphRuntime | undefined;
32
+ engine: Engine | undefined;
29
33
  extData: Record<string, unknown>;
30
34
  }
31
35
  export type RuntimeApiExtension = {
32
- [K in keyof RuntimeApi]?: (original: RuntimeApi[K], context: RuntimeApiContext, ...args: Parameters<RuntimeApi[K]>) => ReturnType<RuntimeApi[K]>;
36
+ [K in keyof RuntimeApi]?: RuntimeApi[K] extends (...args: any[]) => any ? (original: RuntimeApi[K], context: RuntimeApiContext, ...args: Parameters<RuntimeApi[K]>) => ReturnType<RuntimeApi[K]> : never;
33
37
  };
34
38
  export declare function createRuntimeAdapter(createRegistry: () => Promise<Registry>, send: (e: Envelope<RuntimeEvent>) => void, extensions?: RuntimeApiExtension): Promise<RuntimeApi>;
35
39
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/server/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,IAAI,EACL,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,aAAa,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAChE,cAAc,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACrE,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1D,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;IAC3C,QAAQ,EAAE,MAAM,eAAe,CAAC;IAChC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,YAAY,EAAE,MAAM,mBAAmB,CAAC;IACxC,iBAAiB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,mBAAmB,GAAG;KAC/B,CAAC,IAAI,MAAM,UAAU,CAAC,CAAC,EAAE,CACxB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,iBAAiB,EAC1B,GAAG,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAC/B,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF,wBAAsB,oBAAoB,CACxC,cAAc,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,EACvC,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,KAAK,IAAI,EACzC,UAAU,CAAC,EAAE,mBAAmB,GAC/B,OAAO,CAAC,UAAU,CAAC,CAoPrB"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../../src/server/runtime.ts"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { WebSocket } from 'ws';
2
- import { GraphBuilder } from '@bian-womp/spark-graph';
2
+ import { GraphBuilder, createEngine } from '@bian-womp/spark-graph';
3
3
 
4
4
  class SeqGenerator {
5
5
  constructor() {
@@ -239,12 +239,14 @@ async function createRuntimeAdapter(createRegistry, send, extensions) {
239
239
  const registry = await createRegistry();
240
240
  const builder = new GraphBuilder(registry);
241
241
  let graphRuntime;
242
+ let engine;
242
243
  let extData = {};
243
244
  // Helper to get current context
244
245
  const getContext = () => ({
245
246
  registry,
246
247
  builder,
247
248
  graphRuntime,
249
+ engine,
248
250
  extData,
249
251
  });
250
252
  // Original implementations - define as separate functions first to allow cross-references
@@ -415,21 +417,85 @@ async function createRuntimeAdapter(createRegistry, send, extensions) {
415
417
  graphRuntime.setEnvironment(env);
416
418
  },
417
419
  setInput: (nodeId, handle, value) => {
418
- graphRuntime?.setInput(nodeId, handle, value);
420
+ // If engine exists, use it; otherwise fall back to direct runtime access
421
+ if (engine) {
422
+ engine.setInput(nodeId, handle, value);
423
+ }
424
+ else {
425
+ graphRuntime?.setInput(nodeId, handle, value);
426
+ }
419
427
  },
420
428
  setInputs: (nodeId, inputs) => {
421
- graphRuntime?.setInputs(nodeId, inputs);
429
+ if (engine) {
430
+ engine.setInputs(nodeId, inputs);
431
+ }
432
+ else {
433
+ graphRuntime?.setInputs(nodeId, inputs);
434
+ }
422
435
  },
423
436
  triggerExternal: (nodeId, event) => {
424
- graphRuntime?.triggerExternal(nodeId, event);
437
+ if (engine) {
438
+ engine.triggerExternal(nodeId, event);
439
+ }
440
+ else {
441
+ graphRuntime?.triggerExternal(nodeId, event);
442
+ }
425
443
  },
426
- launch: (invalidate) => {
427
- graphRuntime?.launch(invalidate);
444
+ launch: (opts) => {
445
+ if (!graphRuntime) {
446
+ throw new Error("Cannot launch: graph runtime not built");
447
+ }
448
+ const invalidate = opts?.invalidate ?? false;
449
+ opts?.engine ?? "push";
450
+ // Dispose existing engine if any
451
+ if (engine) {
452
+ engine.dispose();
453
+ engine = undefined;
454
+ }
455
+ // Create new engine using shared factory
456
+ engine = createEngine(graphRuntime, opts);
457
+ // Wire engine events (they forward to graphRuntime events which are already wired to send)
458
+ // Note: Engine events are already forwarded through graphRuntime, so we don't need to re-wire here
459
+ // Launch the engine
460
+ if (engine) {
461
+ engine.launch(invalidate);
462
+ }
463
+ },
464
+ step: async () => {
465
+ if (!engine)
466
+ return;
467
+ // Type guard for StepEngine
468
+ if ("step" in engine && typeof engine.step === "function") {
469
+ await engine.step();
470
+ }
471
+ },
472
+ computeNode: async (nodeId) => {
473
+ if (!engine)
474
+ return;
475
+ // Type guard for PullEngine
476
+ if ("computeNode" in engine && typeof engine.computeNode === "function") {
477
+ await engine.computeNode(nodeId);
478
+ }
479
+ },
480
+ flush: async () => {
481
+ if (!engine)
482
+ return;
483
+ // Type guard for BatchedEngine
484
+ if ("flush" in engine && typeof engine.flush === "function") {
485
+ await engine.flush();
486
+ }
428
487
  },
429
488
  whenIdle: () => {
489
+ if (engine) {
490
+ return engine.whenIdle();
491
+ }
430
492
  return graphRuntime?.whenIdle?.() ?? Promise.resolve();
431
493
  },
432
494
  dispose: () => {
495
+ if (engine) {
496
+ engine.dispose();
497
+ engine = undefined;
498
+ }
433
499
  graphRuntime?.dispose?.();
434
500
  graphRuntime = undefined;
435
501
  },
@@ -440,6 +506,10 @@ async function createRuntimeAdapter(createRegistry, send, extensions) {
440
506
  if (!extension) {
441
507
  return original;
442
508
  }
509
+ // Handle optional methods that might be undefined
510
+ if (!original) {
511
+ return original;
512
+ }
443
513
  return ((...args) => {
444
514
  return extension(original, getContext(), ...args);
445
515
  });
@@ -497,9 +567,12 @@ class RemoteEngine {
497
567
  this.emit("stats", msg.payload);
498
568
  }
499
569
  }
500
- launch(invalidate) {
570
+ launch(invalidate, engineConfig) {
501
571
  this.transport.send({
502
- message: { type: "Launch", payload: { invalidate } },
572
+ message: {
573
+ type: "Launch",
574
+ payload: { invalidate, ...engineConfig },
575
+ },
503
576
  });
504
577
  }
505
578
  setInput(nodeId, handle, value) {
@@ -869,6 +942,33 @@ class RuntimeApiClient {
869
942
  }
870
943
  return this.engine;
871
944
  }
945
+ async launch(opts) {
946
+ const transport = await this.ensureConnected();
947
+ await transport.request({
948
+ message: {
949
+ type: "Launch",
950
+ payload: opts,
951
+ },
952
+ });
953
+ }
954
+ async step() {
955
+ const transport = await this.ensureConnected();
956
+ await transport.request({
957
+ message: { type: "Step" },
958
+ });
959
+ }
960
+ async computeNode(nodeId) {
961
+ const transport = await this.ensureConnected();
962
+ await transport.request({
963
+ message: { type: "ComputeNode", payload: { nodeId } },
964
+ });
965
+ }
966
+ async flush() {
967
+ const transport = await this.ensureConnected();
968
+ await transport.request({
969
+ message: { type: "Flush" },
970
+ });
971
+ }
872
972
  /**
873
973
  * Dispose the client and close the transport connection.
874
974
  * Idempotent: safe to call multiple times.
@@ -1007,8 +1107,43 @@ class RuntimeApiServer {
1007
1107
  break;
1008
1108
  }
1009
1109
  case "Launch": {
1010
- this.logCommand("Launch", env);
1011
- this.runtimeApi.launch(msg.payload.invalidate);
1110
+ const launchPayload = msg.payload;
1111
+ this.logCommand("Launch", env, {
1112
+ engine: launchPayload.engine,
1113
+ invalidate: launchPayload.invalidate,
1114
+ });
1115
+ this.runtimeApi.launch({
1116
+ invalidate: launchPayload.invalidate,
1117
+ engine: launchPayload.engine,
1118
+ batched: launchPayload.batched,
1119
+ hybrid: launchPayload.hybrid,
1120
+ });
1121
+ ack();
1122
+ break;
1123
+ }
1124
+ case "Step": {
1125
+ this.logCommand("Step", env);
1126
+ if (this.runtimeApi.step) {
1127
+ await this.runtimeApi.step();
1128
+ }
1129
+ ack();
1130
+ break;
1131
+ }
1132
+ case "ComputeNode": {
1133
+ this.logCommand("ComputeNode", env, {
1134
+ nodeId: msg.payload.nodeId,
1135
+ });
1136
+ if (this.runtimeApi.computeNode) {
1137
+ await this.runtimeApi.computeNode(msg.payload.nodeId);
1138
+ }
1139
+ ack();
1140
+ break;
1141
+ }
1142
+ case "Flush": {
1143
+ this.logCommand("Flush", env);
1144
+ if (this.runtimeApi.flush) {
1145
+ await this.runtimeApi.flush();
1146
+ }
1012
1147
  ack();
1013
1148
  break;
1014
1149
  }