@bian-womp/spark-remote 0.3.90 → 0.3.92

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.
Files changed (73) hide show
  1. package/package.json +3 -3
  2. package/lib/src/RemoteEngine.d.ts +0 -35
  3. package/lib/src/RemoteEngine.d.ts.map +0 -1
  4. package/lib/src/RemoteEngine.js +0 -115
  5. package/lib/src/RemoteEngine.js.map +0 -1
  6. package/lib/src/RemoteGraphLifecycleApi.d.ts +0 -47
  7. package/lib/src/RemoteGraphLifecycleApi.d.ts.map +0 -1
  8. package/lib/src/RemoteGraphLifecycleApi.js +0 -190
  9. package/lib/src/RemoteGraphLifecycleApi.js.map +0 -1
  10. package/lib/src/RemoteRuntimeClient.d.ts +0 -85
  11. package/lib/src/RemoteRuntimeClient.d.ts.map +0 -1
  12. package/lib/src/RemoteRuntimeClient.js +0 -212
  13. package/lib/src/RemoteRuntimeClient.js.map +0 -1
  14. package/lib/src/examples/http-polling.d.ts +0 -2
  15. package/lib/src/examples/http-polling.d.ts.map +0 -1
  16. package/lib/src/examples/http-polling.js +0 -67
  17. package/lib/src/examples/http-polling.js.map +0 -1
  18. package/lib/src/examples/shared.d.ts +0 -6
  19. package/lib/src/examples/shared.d.ts.map +0 -1
  20. package/lib/src/examples/shared.js +0 -71
  21. package/lib/src/examples/shared.js.map +0 -1
  22. package/lib/src/examples/unix-socket.d.ts +0 -2
  23. package/lib/src/examples/unix-socket.d.ts.map +0 -1
  24. package/lib/src/examples/unix-socket.js +0 -67
  25. package/lib/src/examples/unix-socket.js.map +0 -1
  26. package/lib/src/examples/websocket.d.ts +0 -2
  27. package/lib/src/examples/websocket.d.ts.map +0 -1
  28. package/lib/src/examples/websocket.js +0 -67
  29. package/lib/src/examples/websocket.js.map +0 -1
  30. package/lib/src/index.d.ts +0 -13
  31. package/lib/src/index.d.ts.map +0 -1
  32. package/lib/src/index.js +0 -12
  33. package/lib/src/index.js.map +0 -1
  34. package/lib/src/server/ServerCommandHandler.d.ts +0 -51
  35. package/lib/src/server/ServerCommandHandler.d.ts.map +0 -1
  36. package/lib/src/server/ServerCommandHandler.js +0 -325
  37. package/lib/src/server/ServerCommandHandler.js.map +0 -1
  38. package/lib/src/server/ServerRuntimeAdapter.d.ts +0 -27
  39. package/lib/src/server/ServerRuntimeAdapter.d.ts.map +0 -1
  40. package/lib/src/server/ServerRuntimeAdapter.js +0 -446
  41. package/lib/src/server/ServerRuntimeAdapter.js.map +0 -1
  42. package/lib/src/server/errors.d.ts +0 -3
  43. package/lib/src/server/errors.d.ts.map +0 -1
  44. package/lib/src/server/errors.js +0 -44
  45. package/lib/src/server/errors.js.map +0 -1
  46. package/lib/src/transport/HttpPollingTransport.d.ts +0 -16
  47. package/lib/src/transport/HttpPollingTransport.d.ts.map +0 -1
  48. package/lib/src/transport/HttpPollingTransport.js +0 -83
  49. package/lib/src/transport/HttpPollingTransport.js.map +0 -1
  50. package/lib/src/transport/Seq.d.ts +0 -6
  51. package/lib/src/transport/Seq.d.ts.map +0 -1
  52. package/lib/src/transport/Seq.js +0 -18
  53. package/lib/src/transport/Seq.js.map +0 -1
  54. package/lib/src/transport/Transport.d.ts +0 -26
  55. package/lib/src/transport/Transport.d.ts.map +0 -1
  56. package/lib/src/transport/Transport.js +0 -2
  57. package/lib/src/transport/Transport.js.map +0 -1
  58. package/lib/src/transport/UnixSocketTransport.d.ts +0 -18
  59. package/lib/src/transport/UnixSocketTransport.d.ts.map +0 -1
  60. package/lib/src/transport/UnixSocketTransport.js +0 -96
  61. package/lib/src/transport/UnixSocketTransport.js.map +0 -1
  62. package/lib/src/transport/WebSocketConnector.d.ts +0 -63
  63. package/lib/src/transport/WebSocketConnector.d.ts.map +0 -1
  64. package/lib/src/transport/WebSocketConnector.js +0 -2
  65. package/lib/src/transport/WebSocketConnector.js.map +0 -1
  66. package/lib/src/transport/WebSocketTransport.d.ts +0 -44
  67. package/lib/src/transport/WebSocketTransport.d.ts.map +0 -1
  68. package/lib/src/transport/WebSocketTransport.js +0 -226
  69. package/lib/src/transport/WebSocketTransport.js.map +0 -1
  70. package/lib/src/utils/inputEncoding.d.ts +0 -7
  71. package/lib/src/utils/inputEncoding.d.ts.map +0 -1
  72. package/lib/src/utils/inputEncoding.js +0 -19
  73. package/lib/src/utils/inputEncoding.js.map +0 -1
@@ -1,212 +0,0 @@
1
- import { RemoteEngine } from "./RemoteEngine";
2
- import { RemoteGraphLifecycleApi } from "./RemoteGraphLifecycleApi";
3
- import { HttpPollingTransport } from "./transport/HttpPollingTransport";
4
- import { WebSocketTransport } from "./transport/WebSocketTransport";
5
- import { UnixSocketTransport } from "./transport/UnixSocketTransport";
6
- /**
7
- * RemoteRuntimeClient manages the connection to a remote runtime.
8
- * It provides access to:
9
- * - engine: RemoteEngine for execution operations
10
- * - api: GraphLifecycleApi for graph lifecycle operations
11
- */
12
- export class RemoteRuntimeClient {
13
- /**
14
- * Get the Engine instance for execution operations.
15
- * Engine provides unified interface for local/remote execution.
16
- */
17
- get engine() {
18
- if (!this._engine) {
19
- throw new Error("Engine not available: call connect() first");
20
- }
21
- return this._engine;
22
- }
23
- /**
24
- * Get the GraphLifecycleApi instance for non-execution operations.
25
- * GraphLifecycleApi handles graph lifecycle, snapshots, registry, environment, etc.
26
- */
27
- get api() {
28
- if (!this._api) {
29
- throw new Error("GraphLifecycleApi not available: call connect() first");
30
- }
31
- return this._api;
32
- }
33
- constructor(config, options) {
34
- this.customEventListeners = new Set();
35
- this.transportEventListeners = new Set();
36
- this.disposed = false;
37
- this.config = config;
38
- this.runnerId = options?.runnerId;
39
- if (options?.onCustomEvent) {
40
- this.customEventListeners.add(options.onCustomEvent);
41
- }
42
- // Engine will be created after transport is connected
43
- }
44
- /**
45
- * Create transport instance based on config.
46
- * Extracted to a separate method for better testability and clarity.
47
- */
48
- async createTransport() {
49
- const kind = this.config.kind;
50
- if (kind === "remote-http") {
51
- if (!HttpPollingTransport) {
52
- throw new Error("HttpPollingTransport not available");
53
- }
54
- return new HttpPollingTransport(this.config.baseUrl);
55
- }
56
- else if (kind === "remote-ws") {
57
- if (!WebSocketTransport) {
58
- throw new Error("WebSocketTransport not available");
59
- }
60
- return new WebSocketTransport(this.config.url, {
61
- onConnectionLost: () => {
62
- this.dispose().catch((err) => {
63
- console.warn("[RemoteRuntimeClient] Error disposing on connection loss:", err);
64
- });
65
- },
66
- connector: this.config.connectOptions?.connector,
67
- });
68
- }
69
- else if (kind === "remote-unix") {
70
- // Dynamic import to avoid bundling in browser builds
71
- return new UnixSocketTransport(this.config.socketPath);
72
- }
73
- else {
74
- throw new Error(`Invalid transport kind: ${kind}`);
75
- }
76
- }
77
- /**
78
- * Connect to the remote runtime API.
79
- * Creates and connects the transport, then initializes the engine.
80
- * Safe to call multiple times - concurrent calls will wait for the same connection.
81
- */
82
- async connect() {
83
- if (this.disposed) {
84
- throw new Error("Cannot connect: RemoteRuntimeClient has been disposed");
85
- }
86
- if (this.transport) {
87
- // Already connected
88
- return;
89
- }
90
- // If already connecting, wait for that connection to complete
91
- if (this.connectingPromise) {
92
- return this.connectingPromise;
93
- }
94
- this.emitTransportStatus({
95
- state: "connecting",
96
- kind: this.config.kind,
97
- runnerId: this.runnerId,
98
- });
99
- // Create connection promise to prevent concurrent connections
100
- this.connectingPromise = (async () => {
101
- try {
102
- const transport = await this.createTransport();
103
- await transport.connect(this.config.connectOptions);
104
- this.transport = transport;
105
- // Subscribe to all transport events
106
- this.transportUnsubscribe = transport.subscribe((event) => {
107
- this.handleTransportEvent(event);
108
- });
109
- // Create engine and api with connected transport
110
- this._engine = new RemoteEngine(transport);
111
- this._api = new RemoteGraphLifecycleApi(transport);
112
- this.emitTransportStatus({
113
- state: "connected",
114
- kind: this.config.kind,
115
- runnerId: this.runnerId,
116
- });
117
- }
118
- catch (error) {
119
- // Clear connecting promise on error so retry is possible
120
- this.connectingPromise = undefined;
121
- this.emitTransportStatus({
122
- state: "disconnected",
123
- kind: this.config.kind,
124
- runnerId: this.runnerId,
125
- });
126
- throw error;
127
- }
128
- finally {
129
- // Clear connecting promise on success
130
- this.connectingPromise = undefined;
131
- }
132
- })();
133
- return this.connectingPromise;
134
- }
135
- /**
136
- * Handle events from transport.
137
- * Routes standard runtime events to engine, custom events to custom handlers.
138
- */
139
- handleTransportEvent(event) {
140
- const msg = event.message;
141
- if (!msg || typeof msg !== "object" || !("type" in msg))
142
- return;
143
- const type = msg.type;
144
- // Standard runtime events: stats, value, error, invalidate
145
- // These are handled by RemoteEngine via transport subscription
146
- // Custom events are anything else
147
- if (!["stats", "value", "error", "invalidate"].includes(type)) {
148
- // Emit to custom event listeners (constructor callback is auto-subscribed)
149
- for (const listener of this.customEventListeners) {
150
- listener(event);
151
- }
152
- }
153
- }
154
- /**
155
- * Subscribe to transport status changes.
156
- * Returns an unsubscribe function.
157
- */
158
- onTransportStatus(listener) {
159
- this.transportEventListeners.add(listener);
160
- // Immediately emit current status if connected
161
- if (this.transport) {
162
- listener({
163
- state: "connected",
164
- kind: this.config.kind,
165
- runnerId: this.runnerId,
166
- });
167
- }
168
- return () => {
169
- this.transportEventListeners.delete(listener);
170
- };
171
- }
172
- emitTransportStatus(status) {
173
- for (const listener of this.transportEventListeners) {
174
- listener(status);
175
- }
176
- }
177
- /**
178
- * Dispose the client and close the transport connection.
179
- * Idempotent: safe to call multiple times.
180
- */
181
- async dispose() {
182
- if (this.disposed)
183
- return;
184
- this.disposed = true;
185
- // Clear connecting promise if any
186
- this.connectingPromise = undefined;
187
- // Unsubscribe from transport events
188
- if (this.transportUnsubscribe) {
189
- this.transportUnsubscribe();
190
- this.transportUnsubscribe = undefined;
191
- }
192
- // Close transport connection
193
- if (this.transport) {
194
- const transportToClose = this.transport;
195
- this.transport = undefined;
196
- this._engine = undefined; // Clear engine reference
197
- this._api = undefined; // Clear api reference
198
- await transportToClose.close().catch((err) => {
199
- console.warn("[RemoteRuntimeClient] Error closing transport:", err);
200
- });
201
- }
202
- // Clear listeners
203
- this.customEventListeners.clear();
204
- this.transportEventListeners.clear();
205
- this.emitTransportStatus({
206
- state: "disconnected",
207
- kind: this.config.kind,
208
- runnerId: this.runnerId,
209
- });
210
- }
211
- }
212
- //# sourceMappingURL=RemoteRuntimeClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RemoteRuntimeClient.js","sourceRoot":"","sources":["../../src/RemoteRuntimeClient.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=http-polling.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-polling.d.ts","sourceRoot":"","sources":["../../../src/examples/http-polling.ts"],"names":[],"mappings":""}
@@ -1,67 +0,0 @@
1
- /*
2
- Usage:
3
- 1) Ensure backend HTTP polling server is running.
4
- 2) Run:
5
- yarn http-polling -- --example simple
6
-
7
- Options:
8
- --example <simple|async|progress|validation>
9
- --base-url <url> default: http://127.0.0.1:18080
10
- --env KEY=VALUE
11
- */
12
- import { installLogging } from "@bian-womp/spark-graph";
13
- import { RemoteRuntimeClient } from "../RemoteRuntimeClient";
14
- import { buildDef, runExample } from "./shared";
15
- function parseArgs(argv) {
16
- let example = "simple";
17
- let baseUrl = process.env.SPARK_HTTP_BASE_URL || "http://127.0.0.1:18080";
18
- const environment = {};
19
- for (let i = 0; i < argv.length; i++) {
20
- const a = argv[i];
21
- if (a === "--example") {
22
- const v = argv[++i];
23
- if (v === "simple" || v === "async" || v === "progress" || v === "validation")
24
- example = v;
25
- }
26
- else if (a === "--base-url") {
27
- baseUrl = argv[++i] || baseUrl;
28
- }
29
- else if (a === "--env") {
30
- const kv = argv[++i] || "";
31
- const eq = kv.indexOf("=");
32
- if (eq > 0)
33
- environment[kv.slice(0, eq)] = kv.slice(eq + 1);
34
- }
35
- }
36
- return { example, baseUrl, environment };
37
- }
38
- async function main() {
39
- const { example, baseUrl, environment } = parseArgs(process.argv.slice(2));
40
- const client = new RemoteRuntimeClient({ kind: "remote-http", baseUrl });
41
- try {
42
- await client.connect();
43
- const def = buildDef(example);
44
- await client.api.build(def, { environment });
45
- const engine = client.engine;
46
- if (!engine) {
47
- throw new Error("Engine not available after build");
48
- }
49
- installLogging(engine);
50
- // Launch using GraphLifecycleApi (handles runMode, invalidate options)
51
- await client.api.launch();
52
- await runExample(example, engine);
53
- console.log("done");
54
- }
55
- catch (err) {
56
- console.error("Error:", err);
57
- throw err;
58
- }
59
- finally {
60
- client.dispose();
61
- }
62
- }
63
- main().catch((err) => {
64
- console.error(err);
65
- process.exit(1);
66
- });
67
- //# sourceMappingURL=http-polling.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-polling.js","sourceRoot":"","sources":["../../../src/examples/http-polling.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Engine } from "@bian-womp/spark-graph";
2
- import type { GraphDefinition } from "@bian-womp/spark-protocol";
3
- export type ExampleName = "simple" | "async" | "progress" | "validation";
4
- export declare function buildDef(example: ExampleName): GraphDefinition;
5
- export declare function runExample(example: ExampleName, engine: Engine): Promise<void>;
6
- //# sourceMappingURL=shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/examples/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,MAAM,EACP,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;AAEzE,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CAM9D;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBA4DpE"}
@@ -1,71 +0,0 @@
1
- import { createSimpleGraphDef, createAsyncGraphDef, createProgressGraphDef, createValidationGraphDef, BaseMathOperation, } from "@bian-womp/spark-graph";
2
- export function buildDef(example) {
3
- if (example === "simple")
4
- return createSimpleGraphDef();
5
- if (example === "async")
6
- return createAsyncGraphDef();
7
- if (example === "progress")
8
- return createProgressGraphDef();
9
- if (example === "validation")
10
- return createValidationGraphDef();
11
- return createSimpleGraphDef();
12
- }
13
- export async function runExample(example, engine) {
14
- if (example === "simple") {
15
- engine.setInputs("n1", {
16
- Operation: BaseMathOperation.Add,
17
- A: [2],
18
- B: [3],
19
- });
20
- engine.setInputs("n2", {
21
- Operation: BaseMathOperation.Multiply,
22
- B: [10],
23
- });
24
- await engine.whenIdle();
25
- return;
26
- }
27
- if (example === "async") {
28
- engine.setInputs("n1", {
29
- Operation: BaseMathOperation.Add,
30
- A: [1],
31
- B: [2],
32
- });
33
- engine.setInputs("n2", { DelayMs: 250 });
34
- engine.setInputs("n3", {
35
- XYZ: [
36
- [1, 2, 3],
37
- [4, 5, 6],
38
- [7, 8, 9],
39
- ],
40
- });
41
- // Rapid inputs to n1.B should cancel prior runs (switch)
42
- // Note: n1.A is edge-driven from n4.XYZ, so we change n1.B instead
43
- engine.setInputs("n1", { B: [3] });
44
- engine.setInputs("n1", { B: [4] });
45
- engine.setInputs("n1", { B: [5] });
46
- await new Promise((r) => setTimeout(r, 1000));
47
- engine.setInputs("n1", { B: [10] });
48
- engine.setInputs("n1", { B: [11] });
49
- engine.setInputs("n1", { B: [12] });
50
- await new Promise((r) => setTimeout(r, 1500));
51
- await engine.whenIdle();
52
- return;
53
- }
54
- if (example === "progress") {
55
- engine.setInputs("steps", { Value: 12 });
56
- engine.setInputs("delay", { Value: 80 });
57
- engine.setInputs("work", { ShouldError: false });
58
- setTimeout(() => engine.setInputs("work", { ShouldError: true }), 2000);
59
- await new Promise((r) => setTimeout(r, 5000));
60
- await engine.whenIdle();
61
- return;
62
- }
63
- if (example === "validation") {
64
- engine.setInputs("nA", { Value: 1 });
65
- engine.setInputs("nB", { Value: 2 });
66
- await new Promise((r) => setTimeout(r, 1000));
67
- await engine.whenIdle();
68
- return;
69
- }
70
- }
71
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/examples/shared.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=unix-socket.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unix-socket.d.ts","sourceRoot":"","sources":["../../../src/examples/unix-socket.ts"],"names":[],"mappings":""}
@@ -1,67 +0,0 @@
1
- /*
2
- Usage:
3
- 1) Ensure backend spark socket server is running (Unix socket).
4
- 2) Run this demo from the @bian-womp/spark-remote workspace:
5
- yarn unix-socket -- --example simple
6
-
7
- Options:
8
- --example <simple|async|progress|validation>
9
- --socket-path <path> default: /tmp/swan-spark.sock or $SPARK_SOCKET_PATH
10
- --env KEY=VALUE repeat to pass environment entries to runtime
11
- */
12
- import { installLogging } from "@bian-womp/spark-graph";
13
- import { RemoteRuntimeClient } from "../RemoteRuntimeClient";
14
- import { buildDef, runExample } from "./shared";
15
- function parseArgs(argv) {
16
- let example = "simple";
17
- let socketPath = process.env.SPARK_SOCKET_PATH || "/tmp/swan-spark.sock";
18
- const environment = {};
19
- for (let i = 0; i < argv.length; i++) {
20
- const a = argv[i];
21
- if (a === "--example") {
22
- const v = argv[++i];
23
- if (v === "simple" || v === "async" || v === "progress" || v === "validation")
24
- example = v;
25
- }
26
- else if (a === "--socket-path") {
27
- socketPath = argv[++i] || socketPath;
28
- }
29
- else if (a === "--env") {
30
- const kv = argv[++i] || "";
31
- const eq = kv.indexOf("=");
32
- if (eq > 0)
33
- environment[kv.slice(0, eq)] = kv.slice(eq + 1);
34
- }
35
- }
36
- return { example, socketPath, environment };
37
- }
38
- async function main() {
39
- const { example, socketPath, environment } = parseArgs(process.argv.slice(2));
40
- const client = new RemoteRuntimeClient({ kind: "remote-unix", socketPath });
41
- try {
42
- await client.connect();
43
- const def = buildDef(example);
44
- await client.api.build(def, { environment });
45
- const engine = client.engine;
46
- if (!engine) {
47
- throw new Error("Engine not available after build");
48
- }
49
- installLogging(engine);
50
- // Launch using GraphLifecycleApi (handles runMode, invalidate options)
51
- await client.api.launch();
52
- await runExample(example, engine);
53
- console.log("done");
54
- }
55
- catch (err) {
56
- console.error("Error:", err);
57
- throw err;
58
- }
59
- finally {
60
- client.dispose();
61
- }
62
- }
63
- main().catch((err) => {
64
- console.error(err);
65
- process.exit(1);
66
- });
67
- //# sourceMappingURL=unix-socket.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unix-socket.js","sourceRoot":"","sources":["../../../src/examples/unix-socket.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=websocket.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/examples/websocket.ts"],"names":[],"mappings":""}
@@ -1,67 +0,0 @@
1
- /*
2
- Usage:
3
- 1) Ensure backend WebSocket server is running.
4
- 2) Run:
5
- yarn websocket -- --example simple
6
-
7
- Options:
8
- --example <simple|async|progress|validation>
9
- --url <ws-url> default: ws://127.0.0.1:18081
10
- --env KEY=VALUE
11
- */
12
- import { installLogging } from "@bian-womp/spark-graph";
13
- import { RemoteRuntimeClient } from "../RemoteRuntimeClient";
14
- import { buildDef, runExample } from "./shared";
15
- function parseArgs(argv) {
16
- let example = "simple";
17
- let url = process.env.SPARK_WS_URL || "ws://127.0.0.1:18081";
18
- const environment = {};
19
- for (let i = 0; i < argv.length; i++) {
20
- const a = argv[i];
21
- if (a === "--example") {
22
- const v = argv[++i];
23
- if (v === "simple" || v === "async" || v === "progress" || v === "validation")
24
- example = v;
25
- }
26
- else if (a === "--url") {
27
- url = argv[++i] || url;
28
- }
29
- else if (a === "--env") {
30
- const kv = argv[++i] || "";
31
- const eq = kv.indexOf("=");
32
- if (eq > 0)
33
- environment[kv.slice(0, eq)] = kv.slice(eq + 1);
34
- }
35
- }
36
- return { example, url, environment };
37
- }
38
- async function main() {
39
- const { example, url, environment } = parseArgs(process.argv.slice(2));
40
- const client = new RemoteRuntimeClient({ kind: "remote-ws", url });
41
- try {
42
- await client.connect();
43
- const def = buildDef(example);
44
- await client.api.build(def, { environment });
45
- const engine = client.engine;
46
- if (!engine) {
47
- throw new Error("Engine not available after build");
48
- }
49
- installLogging(engine);
50
- // Launch using GraphLifecycleApi (handles runMode, invalidate options)
51
- await client.api.launch();
52
- await runExample(example, engine);
53
- console.log("done");
54
- }
55
- catch (err) {
56
- console.error("Error:", err);
57
- throw err;
58
- }
59
- finally {
60
- client.dispose();
61
- }
62
- }
63
- main().catch((err) => {
64
- console.error(err);
65
- process.exit(1);
66
- });
67
- //# sourceMappingURL=websocket.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/examples/websocket.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export * from "./transport/Transport";
2
- export * from "./transport/WebSocketTransport";
3
- export * from "./transport/WebSocketConnector";
4
- export * from "./transport/HttpPollingTransport";
5
- export * from "./server/errors";
6
- export * from "./server/ServerRuntimeAdapter";
7
- export type { ServerRuntimeAdapter, ServerRuntimeAdapterContext, ServerRuntimeAdapterExtension, } from "./server/ServerRuntimeAdapter";
8
- export { createServerRuntimeAdapter } from "./server/ServerRuntimeAdapter";
9
- export * from "./RemoteEngine";
10
- export * from "./RemoteGraphLifecycleApi";
11
- export * from "./RemoteRuntimeClient";
12
- export * from "./server/ServerCommandHandler";
13
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AAEjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,YAAY,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE3E,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC"}
package/lib/src/index.js DELETED
@@ -1,12 +0,0 @@
1
- export * from "./transport/Transport";
2
- export * from "./transport/WebSocketTransport";
3
- export * from "./transport/WebSocketConnector";
4
- export * from "./transport/HttpPollingTransport";
5
- export * from "./server/errors";
6
- export * from "./server/ServerRuntimeAdapter";
7
- export { createServerRuntimeAdapter } from "./server/ServerRuntimeAdapter";
8
- export * from "./RemoteEngine";
9
- export * from "./RemoteGraphLifecycleApi";
10
- export * from "./RemoteRuntimeClient";
11
- export * from "./server/ServerCommandHandler";
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AAEjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAM9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAE3E,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC"}
@@ -1,51 +0,0 @@
1
- import type { Envelope, Command, Json, SystemError, LogHandler } from "@bian-womp/spark-protocol";
2
- import type { ServerRuntimeAdapter } from "./ServerRuntimeAdapter";
3
- /**
4
- * Middleware function that can preprocess commands before they reach the handler.
5
- * Call `next()` to continue to the next middleware or handler.
6
- */
7
- export type CommandMiddleware = (env: Envelope<Command>, next: () => Promise<void>) => Promise<void>;
8
- /**
9
- * Error handler callback for command processing errors.
10
- */
11
- export type ErrorHandler = (errorEnv: Envelope<{
12
- type: "error";
13
- payload: SystemError;
14
- }>) => void;
15
- export declare class ServerCommandHandler {
16
- private adapter;
17
- private options?;
18
- private middlewares;
19
- constructor(adapter: ServerRuntimeAdapter, options?: {
20
- errorHandler?: ErrorHandler;
21
- logHandler?: LogHandler;
22
- } | undefined);
23
- /**
24
- * Register middleware to preprocess commands before handling.
25
- * Middlewares are executed in registration order.
26
- */
27
- use(middleware: CommandMiddleware): void;
28
- /**
29
- * Handle command with error handling and middleware support.
30
- */
31
- handleCommand(env: Envelope<Command>, ack: (payload?: Json) => void): Promise<void>;
32
- /**
33
- * Execute middlewares in sequence, then call the final handler.
34
- */
35
- private executeMiddlewares;
36
- /**
37
- * Process the command by routing to the appropriate handler.
38
- */
39
- private processCommand;
40
- /**
41
- * Helper method to log commands with consistent format.
42
- */
43
- private logCommand;
44
- /**
45
- * Handle errors and notify error handler if provided.
46
- * Formats errors as SystemError since these are infrastructure/command processing errors,
47
- * not node execution errors.
48
- */
49
- private handleError;
50
- }
51
- //# sourceMappingURL=ServerCommandHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerCommandHandler.d.ts","sourceRoot":"","sources":["../../../src/server/ServerCommandHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAInE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAErG;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC,KAAK,IAAI,CAAC;AAEjG,qBAAa,oBAAoB;IAI7B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO,CAAC;IAJlB,OAAO,CAAC,WAAW,CAA2B;gBAGpC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE;QAChB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB,YAAA;IAGH;;;OAGG;IACH,GAAG,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIxC;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAWzF;;OAEG;YACW,kBAAkB;IAahC;;OAEG;YACW,cAAc;IA+N5B;;OAEG;IACH,OAAO,CAAC,UAAU;IAmBlB;;;;OAIG;IACH,OAAO,CAAC,WAAW;CA6BpB"}