@bian-womp/spark-remote 0.2.47 → 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.
- package/lib/cjs/index.cjs +144 -9
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/RemoteEngine.d.ts +2 -1
- package/lib/cjs/src/RemoteEngine.d.ts.map +1 -1
- package/lib/cjs/src/RuntimeApiClient.d.ts +5 -1
- package/lib/cjs/src/RuntimeApiClient.d.ts.map +1 -1
- package/lib/cjs/src/server/RuntimeApiServer.d.ts.map +1 -1
- package/lib/cjs/src/server/runtime.d.ts +8 -4
- package/lib/cjs/src/server/runtime.d.ts.map +1 -1
- package/lib/esm/index.js +145 -10
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/RemoteEngine.d.ts +2 -1
- package/lib/esm/src/RemoteEngine.d.ts.map +1 -1
- package/lib/esm/src/RuntimeApiClient.d.ts +5 -1
- package/lib/esm/src/RuntimeApiClient.d.ts.map +1 -1
- package/lib/esm/src/server/RuntimeApiServer.d.ts.map +1 -1
- package/lib/esm/src/server/runtime.d.ts +8 -4
- package/lib/esm/src/server/runtime.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteEngine.d.ts","sourceRoot":"","sources":["../../../src/RemoteEngine.ts"],"names":[],"mappings":"
|
|
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":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,QAAQ,
|
|
1
|
+
{"version":3,"file":"RuntimeApiClient.d.ts","sourceRoot":"","sources":["../../../src/RuntimeApiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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 {
|
|
2
|
-
import
|
|
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: (
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
437
|
+
if (engine) {
|
|
438
|
+
engine.triggerExternal(nodeId, event);
|
|
439
|
+
}
|
|
440
|
+
else {
|
|
441
|
+
graphRuntime?.triggerExternal(nodeId, event);
|
|
442
|
+
}
|
|
425
443
|
},
|
|
426
|
-
launch: (
|
|
427
|
-
graphRuntime
|
|
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: {
|
|
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
|
-
|
|
1011
|
-
this.
|
|
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
|
}
|