@bian-womp/spark-remote 0.3.88 → 0.3.89

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 (79) hide show
  1. package/lib/cjs/index.cjs +13 -3
  2. package/lib/cjs/index.cjs.map +1 -1
  3. package/lib/cjs/src/server/ServerRuntimeAdapter.d.ts.map +1 -1
  4. package/lib/esm/index.js +13 -3
  5. package/lib/esm/index.js.map +1 -1
  6. package/lib/esm/src/server/ServerRuntimeAdapter.d.ts.map +1 -1
  7. package/lib/src/RemoteEngine.d.ts +35 -0
  8. package/lib/src/RemoteEngine.d.ts.map +1 -0
  9. package/lib/src/RemoteEngine.js +115 -0
  10. package/lib/src/RemoteEngine.js.map +1 -0
  11. package/lib/src/RemoteGraphLifecycleApi.d.ts +47 -0
  12. package/lib/src/RemoteGraphLifecycleApi.d.ts.map +1 -0
  13. package/lib/src/RemoteGraphLifecycleApi.js +190 -0
  14. package/lib/src/RemoteGraphLifecycleApi.js.map +1 -0
  15. package/lib/src/RemoteRuntimeClient.d.ts +85 -0
  16. package/lib/src/RemoteRuntimeClient.d.ts.map +1 -0
  17. package/lib/src/RemoteRuntimeClient.js +212 -0
  18. package/lib/src/RemoteRuntimeClient.js.map +1 -0
  19. package/lib/src/examples/http-polling.d.ts +2 -0
  20. package/lib/src/examples/http-polling.d.ts.map +1 -0
  21. package/lib/src/examples/http-polling.js +67 -0
  22. package/lib/src/examples/http-polling.js.map +1 -0
  23. package/lib/src/examples/shared.d.ts +6 -0
  24. package/lib/src/examples/shared.d.ts.map +1 -0
  25. package/lib/src/examples/shared.js +71 -0
  26. package/lib/src/examples/shared.js.map +1 -0
  27. package/lib/src/examples/unix-socket.d.ts +2 -0
  28. package/lib/src/examples/unix-socket.d.ts.map +1 -0
  29. package/lib/src/examples/unix-socket.js +67 -0
  30. package/lib/src/examples/unix-socket.js.map +1 -0
  31. package/lib/src/examples/websocket.d.ts +2 -0
  32. package/lib/src/examples/websocket.d.ts.map +1 -0
  33. package/lib/src/examples/websocket.js +67 -0
  34. package/lib/src/examples/websocket.js.map +1 -0
  35. package/lib/src/index.d.ts +13 -0
  36. package/lib/src/index.d.ts.map +1 -0
  37. package/lib/src/index.js +12 -0
  38. package/lib/src/index.js.map +1 -0
  39. package/lib/src/server/ServerCommandHandler.d.ts +51 -0
  40. package/lib/src/server/ServerCommandHandler.d.ts.map +1 -0
  41. package/lib/src/server/ServerCommandHandler.js +325 -0
  42. package/lib/src/server/ServerCommandHandler.js.map +1 -0
  43. package/lib/src/server/ServerRuntimeAdapter.d.ts +27 -0
  44. package/lib/src/server/ServerRuntimeAdapter.d.ts.map +1 -0
  45. package/lib/src/server/ServerRuntimeAdapter.js +446 -0
  46. package/lib/src/server/ServerRuntimeAdapter.js.map +1 -0
  47. package/lib/src/server/errors.d.ts +3 -0
  48. package/lib/src/server/errors.d.ts.map +1 -0
  49. package/lib/src/server/errors.js +44 -0
  50. package/lib/src/server/errors.js.map +1 -0
  51. package/lib/src/transport/HttpPollingTransport.d.ts +16 -0
  52. package/lib/src/transport/HttpPollingTransport.d.ts.map +1 -0
  53. package/lib/src/transport/HttpPollingTransport.js +83 -0
  54. package/lib/src/transport/HttpPollingTransport.js.map +1 -0
  55. package/lib/src/transport/Seq.d.ts +6 -0
  56. package/lib/src/transport/Seq.d.ts.map +1 -0
  57. package/lib/src/transport/Seq.js +18 -0
  58. package/lib/src/transport/Seq.js.map +1 -0
  59. package/lib/src/transport/Transport.d.ts +26 -0
  60. package/lib/src/transport/Transport.d.ts.map +1 -0
  61. package/lib/src/transport/Transport.js +2 -0
  62. package/lib/src/transport/Transport.js.map +1 -0
  63. package/lib/src/transport/UnixSocketTransport.d.ts +18 -0
  64. package/lib/src/transport/UnixSocketTransport.d.ts.map +1 -0
  65. package/lib/src/transport/UnixSocketTransport.js +96 -0
  66. package/lib/src/transport/UnixSocketTransport.js.map +1 -0
  67. package/lib/src/transport/WebSocketConnector.d.ts +63 -0
  68. package/lib/src/transport/WebSocketConnector.d.ts.map +1 -0
  69. package/lib/src/transport/WebSocketConnector.js +2 -0
  70. package/lib/src/transport/WebSocketConnector.js.map +1 -0
  71. package/lib/src/transport/WebSocketTransport.d.ts +44 -0
  72. package/lib/src/transport/WebSocketTransport.d.ts.map +1 -0
  73. package/lib/src/transport/WebSocketTransport.js +226 -0
  74. package/lib/src/transport/WebSocketTransport.js.map +1 -0
  75. package/lib/src/utils/inputEncoding.d.ts +7 -0
  76. package/lib/src/utils/inputEncoding.d.ts.map +1 -0
  77. package/lib/src/utils/inputEncoding.js +19 -0
  78. package/lib/src/utils/inputEncoding.js.map +1 -0
  79. package/package.json +3 -3
package/lib/cjs/index.cjs CHANGED
@@ -375,6 +375,14 @@ async function createServerRuntimeAdapter(id, createRegistry, send, extensions)
375
375
  let graphRuntime;
376
376
  let engine;
377
377
  let extData = {};
378
+ const deepClone = (value) => {
379
+ try {
380
+ return structuredClone(value);
381
+ }
382
+ catch {
383
+ return JSON.parse(JSON.stringify(value));
384
+ }
385
+ };
378
386
  const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
379
387
  const getCustomNodeDataFromExtData = (data) => {
380
388
  if (!data)
@@ -558,9 +566,11 @@ async function createServerRuntimeAdapter(id, createRegistry, send, extensions)
558
566
  if (!graphRuntime)
559
567
  return { inputs: {}, outputs: {} };
560
568
  const snap = await originalAdapter.snapshot();
561
- const environment = graphRuntime.getEnvironment();
562
- const def = graphRuntime.getGraphDef();
563
- return { ...snap, def, environment, extData };
569
+ // Return detached data so callers can't observe/mutate live runtime state
570
+ // through shared object references (critical for snapshot diff correctness).
571
+ const environment = deepClone(graphRuntime.getEnvironment());
572
+ const def = deepClone(graphRuntime.getGraphDef());
573
+ return { ...snap, def, environment, extData: deepClone(extData) };
564
574
  },
565
575
  applySnapshotFull: async (payload, options) => {
566
576
  const def = payload.def;