@bian-womp/spark-workbench 0.3.87 → 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.
- package/lib/cjs/index.cjs +72 -103
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/misc/context/WorkbenchContext.provider.d.ts.map +1 -1
- package/lib/esm/index.js +72 -103
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/misc/context/WorkbenchContext.provider.d.ts.map +1 -1
- package/lib/src/adapters/cli/index.d.ts +22 -0
- package/lib/src/adapters/cli/index.d.ts.map +1 -0
- package/lib/src/adapters/cli/index.js +50 -0
- package/lib/src/adapters/cli/index.js.map +1 -0
- package/lib/src/core/AbstractWorkbench.d.ts +40 -0
- package/lib/src/core/AbstractWorkbench.d.ts.map +1 -0
- package/lib/src/core/AbstractWorkbench.js +15 -0
- package/lib/src/core/AbstractWorkbench.js.map +1 -0
- package/lib/src/core/InMemoryWorkbench.d.ts +304 -0
- package/lib/src/core/InMemoryWorkbench.d.ts.map +1 -0
- package/lib/src/core/InMemoryWorkbench.js +1016 -0
- package/lib/src/core/InMemoryWorkbench.js.map +1 -0
- package/lib/src/core/contracts.d.ts +172 -0
- package/lib/src/core/contracts.d.ts.map +1 -0
- package/lib/src/core/contracts.js +2 -0
- package/lib/src/core/contracts.js.map +1 -0
- package/lib/src/core/ui-extensions.d.ts +85 -0
- package/lib/src/core/ui-extensions.d.ts.map +1 -0
- package/lib/src/core/ui-extensions.js +111 -0
- package/lib/src/core/ui-extensions.js.map +1 -0
- package/lib/src/examples/cli.d.ts +2 -0
- package/lib/src/examples/cli.d.ts.map +1 -0
- package/lib/src/examples/cli.js +244 -0
- package/lib/src/examples/cli.js.map +1 -0
- package/lib/src/examples/reactflow/App.d.ts +2 -0
- package/lib/src/examples/reactflow/App.d.ts.map +1 -0
- package/lib/src/examples/reactflow/App.js +20 -0
- package/lib/src/examples/reactflow/App.js.map +1 -0
- package/lib/src/index.d.ts +30 -0
- package/lib/src/index.d.ts.map +1 -0
- package/lib/src/index.js +30 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/misc/DebugEvents.d.ts +7 -0
- package/lib/src/misc/DebugEvents.d.ts.map +1 -0
- package/lib/src/misc/DebugEvents.js +51 -0
- package/lib/src/misc/DebugEvents.js.map +1 -0
- package/lib/src/misc/DefaultEdge.d.ts +5 -0
- package/lib/src/misc/DefaultEdge.d.ts.map +1 -0
- package/lib/src/misc/DefaultEdge.js +15 -0
- package/lib/src/misc/DefaultEdge.js.map +1 -0
- package/lib/src/misc/DefaultNode.d.ts +5 -0
- package/lib/src/misc/DefaultNode.d.ts.map +1 -0
- package/lib/src/misc/DefaultNode.js +25 -0
- package/lib/src/misc/DefaultNode.js.map +1 -0
- package/lib/src/misc/DefaultNodeContent.d.ts +4 -0
- package/lib/src/misc/DefaultNodeContent.d.ts.map +1 -0
- package/lib/src/misc/DefaultNodeContent.js +58 -0
- package/lib/src/misc/DefaultNodeContent.js.map +1 -0
- package/lib/src/misc/DefaultNodeHeader.d.ts +13 -0
- package/lib/src/misc/DefaultNodeHeader.d.ts.map +1 -0
- package/lib/src/misc/DefaultNodeHeader.js +78 -0
- package/lib/src/misc/DefaultNodeHeader.js.map +1 -0
- package/lib/src/misc/Inspector.d.ts +12 -0
- package/lib/src/misc/Inspector.d.ts.map +1 -0
- package/lib/src/misc/Inspector.js +253 -0
- package/lib/src/misc/Inspector.js.map +1 -0
- package/lib/src/misc/IssueBadge.d.ts +7 -0
- package/lib/src/misc/IssueBadge.d.ts.map +1 -0
- package/lib/src/misc/IssueBadge.js +7 -0
- package/lib/src/misc/IssueBadge.js.map +1 -0
- package/lib/src/misc/KeyboardShortcutToast.d.ts +16 -0
- package/lib/src/misc/KeyboardShortcutToast.d.ts.map +1 -0
- package/lib/src/misc/KeyboardShortcutToast.js +40 -0
- package/lib/src/misc/KeyboardShortcutToast.js.map +1 -0
- package/lib/src/misc/NodeHandles.d.ts +18 -0
- package/lib/src/misc/NodeHandles.d.ts.map +1 -0
- package/lib/src/misc/NodeHandles.js +67 -0
- package/lib/src/misc/NodeHandles.js.map +1 -0
- package/lib/src/misc/SelectionActiveSync.d.ts +10 -0
- package/lib/src/misc/SelectionActiveSync.d.ts.map +1 -0
- package/lib/src/misc/SelectionActiveSync.js +21 -0
- package/lib/src/misc/SelectionActiveSync.js.map +1 -0
- package/lib/src/misc/WorkbenchCanvas.d.ts +23 -0
- package/lib/src/misc/WorkbenchCanvas.d.ts.map +1 -0
- package/lib/src/misc/WorkbenchCanvas.js +669 -0
- package/lib/src/misc/WorkbenchCanvas.js.map +1 -0
- package/lib/src/misc/WorkbenchStudio.d.ts +43 -0
- package/lib/src/misc/WorkbenchStudio.d.ts.map +1 -0
- package/lib/src/misc/WorkbenchStudio.js +463 -0
- package/lib/src/misc/WorkbenchStudio.js.map +1 -0
- package/lib/src/misc/constants.d.ts +4 -0
- package/lib/src/misc/constants.d.ts.map +1 -0
- package/lib/src/misc/constants.js +5 -0
- package/lib/src/misc/constants.js.map +1 -0
- package/lib/src/misc/context/WorkbenchContext.d.ts +133 -0
- package/lib/src/misc/context/WorkbenchContext.d.ts.map +1 -0
- package/lib/src/misc/context/WorkbenchContext.js +9 -0
- package/lib/src/misc/context/WorkbenchContext.js.map +1 -0
- package/lib/src/misc/context/WorkbenchContext.provider.d.ts +12 -0
- package/lib/src/misc/context/WorkbenchContext.provider.d.ts.map +1 -0
- package/lib/src/misc/context/WorkbenchContext.provider.js +995 -0
- package/lib/src/misc/context/WorkbenchContext.provider.js.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuButton.d.ts +8 -0
- package/lib/src/misc/context-menu/ContextMenuButton.d.ts.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuButton.js +10 -0
- package/lib/src/misc/context-menu/ContextMenuButton.js.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuHandlers.d.ts +85 -0
- package/lib/src/misc/context-menu/ContextMenuHandlers.d.ts.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuHandlers.js +2 -0
- package/lib/src/misc/context-menu/ContextMenuHandlers.js.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuHelpers.d.ts +45 -0
- package/lib/src/misc/context-menu/ContextMenuHelpers.d.ts.map +1 -0
- package/lib/src/misc/context-menu/ContextMenuHelpers.js +182 -0
- package/lib/src/misc/context-menu/ContextMenuHelpers.js.map +1 -0
- package/lib/src/misc/context-menu/DefaultContextMenu.d.ts +3 -0
- package/lib/src/misc/context-menu/DefaultContextMenu.d.ts.map +1 -0
- package/lib/src/misc/context-menu/DefaultContextMenu.js +111 -0
- package/lib/src/misc/context-menu/DefaultContextMenu.js.map +1 -0
- package/lib/src/misc/context-menu/NodeContextMenu.d.ts +3 -0
- package/lib/src/misc/context-menu/NodeContextMenu.d.ts.map +1 -0
- package/lib/src/misc/context-menu/NodeContextMenu.js +51 -0
- package/lib/src/misc/context-menu/NodeContextMenu.js.map +1 -0
- package/lib/src/misc/context-menu/SelectionContextMenu.d.ts +3 -0
- package/lib/src/misc/context-menu/SelectionContextMenu.d.ts.map +1 -0
- package/lib/src/misc/context-menu/SelectionContextMenu.js +47 -0
- package/lib/src/misc/context-menu/SelectionContextMenu.js.map +1 -0
- package/lib/src/misc/hooks.d.ts +18 -0
- package/lib/src/misc/hooks.d.ts.map +1 -0
- package/lib/src/misc/hooks.js +275 -0
- package/lib/src/misc/hooks.js.map +1 -0
- package/lib/src/misc/layout.d.ts +117 -0
- package/lib/src/misc/layout.d.ts.map +1 -0
- package/lib/src/misc/layout.js +205 -0
- package/lib/src/misc/layout.js.map +1 -0
- package/lib/src/misc/load.d.ts +5 -0
- package/lib/src/misc/load.d.ts.map +1 -0
- package/lib/src/misc/load.js +106 -0
- package/lib/src/misc/load.js.map +1 -0
- package/lib/src/misc/mapping.d.ts +128 -0
- package/lib/src/misc/mapping.d.ts.map +1 -0
- package/lib/src/misc/mapping.js +270 -0
- package/lib/src/misc/mapping.js.map +1 -0
- package/lib/src/misc/merge-utils.d.ts +12 -0
- package/lib/src/misc/merge-utils.d.ts.map +1 -0
- package/lib/src/misc/merge-utils.js +51 -0
- package/lib/src/misc/merge-utils.js.map +1 -0
- package/lib/src/misc/thumbnail-utils.d.ts +53 -0
- package/lib/src/misc/thumbnail-utils.d.ts.map +1 -0
- package/lib/src/misc/thumbnail-utils.js +629 -0
- package/lib/src/misc/thumbnail-utils.js.map +1 -0
- package/lib/src/misc/types.d.ts +18 -0
- package/lib/src/misc/types.d.ts.map +1 -0
- package/lib/src/misc/types.js +2 -0
- package/lib/src/misc/types.js.map +1 -0
- package/lib/src/misc/value.d.ts +16 -0
- package/lib/src/misc/value.d.ts.map +1 -0
- package/lib/src/misc/value.js +114 -0
- package/lib/src/misc/value.js.map +1 -0
- package/lib/src/misc/viewport-utils.d.ts +6 -0
- package/lib/src/misc/viewport-utils.d.ts.map +1 -0
- package/lib/src/misc/viewport-utils.js +18 -0
- package/lib/src/misc/viewport-utils.js.map +1 -0
- package/lib/src/runtime/AbstractGraphRunner.d.ts +61 -0
- package/lib/src/runtime/AbstractGraphRunner.d.ts.map +1 -0
- package/lib/src/runtime/AbstractGraphRunner.js +63 -0
- package/lib/src/runtime/AbstractGraphRunner.js.map +1 -0
- package/lib/src/runtime/IGraphRunner.d.ts +100 -0
- package/lib/src/runtime/IGraphRunner.d.ts.map +1 -0
- package/lib/src/runtime/IGraphRunner.js +2 -0
- package/lib/src/runtime/IGraphRunner.js.map +1 -0
- package/lib/src/runtime/LocalGraphRunner.d.ts +60 -0
- package/lib/src/runtime/LocalGraphRunner.d.ts.map +1 -0
- package/lib/src/runtime/LocalGraphRunner.js +294 -0
- package/lib/src/runtime/LocalGraphRunner.js.map +1 -0
- package/lib/src/runtime/RemoteGraphRunner.d.ts +109 -0
- package/lib/src/runtime/RemoteGraphRunner.d.ts.map +1 -0
- package/lib/src/runtime/RemoteGraphRunner.js +696 -0
- package/lib/src/runtime/RemoteGraphRunner.js.map +1 -0
- package/package.json +4 -4
package/lib/cjs/index.cjs
CHANGED
|
@@ -4475,125 +4475,94 @@ function WorkbenchProvider({ wb, runner, overrides, uiVersion, children, }) {
|
|
|
4475
4475
|
const offWbGraphUiChangedForLog = wb.on("graphUiChanged", add("workbench", "graphUiChanged"));
|
|
4476
4476
|
const offWbValidationChanged = wb.on("validationChanged", add("workbench", "validationChanged"));
|
|
4477
4477
|
// Ensure newly added nodes start as invalidated until first evaluation
|
|
4478
|
-
const
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
await runner.copyOutputs(change.copyOutputsFrom, change.nodeId, { dry: isDry });
|
|
4495
|
-
}
|
|
4496
|
-
}
|
|
4497
|
-
if (change.type === "setInputs") {
|
|
4498
|
-
await runner.setInputs(change.nodeId, change.inputs, { dry: isDry });
|
|
4499
|
-
}
|
|
4500
|
-
}
|
|
4501
|
-
}
|
|
4502
|
-
if (event.commit) {
|
|
4503
|
-
await saveUiRuntimeMetadata(wb, runner);
|
|
4504
|
-
const history = await runner.commit(batchReason).catch((err) => {
|
|
4505
|
-
console.error("[WorkbenchContext] Error committing batch:", err);
|
|
4506
|
-
return undefined;
|
|
4507
|
-
});
|
|
4508
|
-
if (history)
|
|
4509
|
-
wb.setHistory(history);
|
|
4510
|
-
}
|
|
4511
|
-
}
|
|
4512
|
-
catch (err) {
|
|
4513
|
-
console.error("[WorkbenchContext] Error processing batch:", err);
|
|
4514
|
-
}
|
|
4478
|
+
const GRAPH_REASON_BY_CHANGE = {
|
|
4479
|
+
addNode: "add-node",
|
|
4480
|
+
removeNode: "remove-node",
|
|
4481
|
+
connect: "connect-edge",
|
|
4482
|
+
disconnect: "disconnect-edge",
|
|
4483
|
+
updateParams: "update-node-params",
|
|
4484
|
+
updateEdgeType: "update-edge-type",
|
|
4485
|
+
setInputs: "set-inputs",
|
|
4486
|
+
updateResolvedHandles: "update-resolved-handles",
|
|
4487
|
+
};
|
|
4488
|
+
const getGraphReason = (event) => {
|
|
4489
|
+
const changeType = event.change?.type;
|
|
4490
|
+
return (changeType && GRAPH_REASON_BY_CHANGE[changeType]) || "graph-changed";
|
|
4491
|
+
};
|
|
4492
|
+
const commitGraphChange = async (shouldCommit, reason, errorPrefix) => {
|
|
4493
|
+
if (!shouldCommit)
|
|
4515
4494
|
return;
|
|
4495
|
+
await saveUiRuntimeMetadata(wb, runner);
|
|
4496
|
+
const history = await runner.commit(reason).catch((err) => {
|
|
4497
|
+
console.error(errorPrefix, err);
|
|
4498
|
+
return undefined;
|
|
4499
|
+
});
|
|
4500
|
+
if (history)
|
|
4501
|
+
wb.setHistory(history);
|
|
4502
|
+
};
|
|
4503
|
+
const applyAddNodeEffects = async (nodeId, inputs, copyOutputsFrom, dry) => {
|
|
4504
|
+
if (inputs) {
|
|
4505
|
+
await runner.setInputs(nodeId, inputs, { dry });
|
|
4516
4506
|
}
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
|
|
4525
|
-
|
|
4526
|
-
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
|
|
4530
|
-
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
else if (changeType === "updateParams") {
|
|
4534
|
-
reason = "update-node-params";
|
|
4535
|
-
}
|
|
4536
|
-
else if (changeType === "updateEdgeType") {
|
|
4537
|
-
reason = "update-edge-type";
|
|
4538
|
-
}
|
|
4539
|
-
else if (changeType === "setInputs") {
|
|
4540
|
-
reason = "set-inputs";
|
|
4507
|
+
if (copyOutputsFrom) {
|
|
4508
|
+
await runner.copyOutputs(copyOutputsFrom, nodeId, { dry });
|
|
4509
|
+
}
|
|
4510
|
+
};
|
|
4511
|
+
const applyBatchGraphChange = async (event) => {
|
|
4512
|
+
if (event.change?.type !== "batch")
|
|
4513
|
+
return;
|
|
4514
|
+
const { changes } = event.change;
|
|
4515
|
+
const dry = !!event.dry;
|
|
4516
|
+
if (!runner.isRunning())
|
|
4517
|
+
return;
|
|
4518
|
+
const hasNodeOps = changes.some((c) => c.type === "addNode" && (c.inputs || c.copyOutputsFrom));
|
|
4519
|
+
await runner.update(event.def, { dry: dry || hasNodeOps });
|
|
4520
|
+
for (const change of changes) {
|
|
4521
|
+
if (change.type === "addNode") {
|
|
4522
|
+
await applyAddNodeEffects(change.nodeId, change.inputs, change.copyOutputsFrom, dry);
|
|
4541
4523
|
}
|
|
4542
|
-
else if (
|
|
4543
|
-
|
|
4524
|
+
else if (change.type === "setInputs") {
|
|
4525
|
+
await runner.setInputs(change.nodeId, change.inputs, { dry });
|
|
4544
4526
|
}
|
|
4545
4527
|
}
|
|
4528
|
+
};
|
|
4529
|
+
const applySingleGraphChange = async (event) => {
|
|
4530
|
+
if (event.change?.type === "batch")
|
|
4531
|
+
return;
|
|
4546
4532
|
if (event.change?.type === "setInputs") {
|
|
4547
4533
|
const { nodeId, inputs } = event.change;
|
|
4548
4534
|
await runner.setInputs(nodeId, inputs, { dry: event.dry });
|
|
4549
4535
|
}
|
|
4550
|
-
if (!runner.isRunning())
|
|
4551
|
-
|
|
4552
|
-
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
wb.setHistory(history);
|
|
4536
|
+
if (!runner.isRunning())
|
|
4537
|
+
return;
|
|
4538
|
+
if (event.change?.type === "addNode") {
|
|
4539
|
+
const { nodeId, inputs, copyOutputsFrom } = event.change;
|
|
4540
|
+
if (event.dry) {
|
|
4541
|
+
await runner.update(event.def, { dry: true });
|
|
4542
|
+
await applyAddNodeEffects(nodeId, inputs, copyOutputsFrom, true);
|
|
4543
|
+
return;
|
|
4559
4544
|
}
|
|
4545
|
+
await runner.update(event.def, { dry: !!inputs });
|
|
4546
|
+
await applyAddNodeEffects(nodeId, inputs, undefined, false);
|
|
4560
4547
|
return;
|
|
4561
4548
|
}
|
|
4549
|
+
if (event.change?.type !== "setInputs" && event.change?.type !== "updateResolvedHandles") {
|
|
4550
|
+
await runner.update(event.def, { dry: event.dry });
|
|
4551
|
+
}
|
|
4552
|
+
};
|
|
4553
|
+
const offWbGraphChangedForUpdate = wb.on("graphChanged", async (event) => {
|
|
4562
4554
|
try {
|
|
4563
|
-
if (event.change?.type === "
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
if (inputs) {
|
|
4568
|
-
await runner.setInputs(nodeId, inputs, { dry: true });
|
|
4569
|
-
}
|
|
4570
|
-
if (copyOutputsFrom) {
|
|
4571
|
-
await runner.copyOutputs(copyOutputsFrom, nodeId, { dry: true });
|
|
4572
|
-
}
|
|
4573
|
-
}
|
|
4574
|
-
else {
|
|
4575
|
-
await runner.update(event.def, { dry: !!inputs });
|
|
4576
|
-
if (inputs) {
|
|
4577
|
-
await runner.setInputs(nodeId, inputs, { dry: false });
|
|
4578
|
-
}
|
|
4579
|
-
}
|
|
4580
|
-
}
|
|
4581
|
-
else if (event.change?.type !== "setInputs" && event.change?.type !== "updateResolvedHandles") {
|
|
4582
|
-
await runner.update(event.def, { dry: event.dry });
|
|
4583
|
-
}
|
|
4584
|
-
if (event.commit) {
|
|
4585
|
-
await saveUiRuntimeMetadata(wb, runner);
|
|
4586
|
-
const history = await runner.commit(event.reason ?? reason).catch((err) => {
|
|
4587
|
-
console.error("[WorkbenchContext] Error committing after update:", err);
|
|
4588
|
-
return undefined;
|
|
4589
|
-
});
|
|
4590
|
-
if (history) {
|
|
4591
|
-
wb.setHistory(history);
|
|
4592
|
-
}
|
|
4555
|
+
if (event.change?.type === "batch") {
|
|
4556
|
+
await applyBatchGraphChange(event);
|
|
4557
|
+
await commitGraphChange(event.commit, event.reason ?? "batch", "[WorkbenchContext] Error committing batch:");
|
|
4558
|
+
return;
|
|
4593
4559
|
}
|
|
4560
|
+
const reason = getGraphReason(event);
|
|
4561
|
+
await applySingleGraphChange(event);
|
|
4562
|
+
await commitGraphChange(event.commit, event.reason ?? reason, "[WorkbenchContext] Error committing:");
|
|
4594
4563
|
}
|
|
4595
4564
|
catch (err) {
|
|
4596
|
-
console.error("[WorkbenchContext] Error
|
|
4565
|
+
console.error("[WorkbenchContext] Error processing graph change:", err);
|
|
4597
4566
|
}
|
|
4598
4567
|
});
|
|
4599
4568
|
const offWbSetValidation = wb.on("validationChanged", (r) => setValidation(r));
|