@bian-womp/spark-graph 0.1.20 → 0.1.22

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.
@@ -50,6 +50,8 @@ export type TypedOutputValue<T = unknown> = {
50
50
  };
51
51
  export declare function typed<T = unknown>(typeId: DataTypeId, value: T): TypedOutputValue<T>;
52
52
  export declare function isTypedOutput(v: unknown): v is TypedOutputValue<unknown>;
53
+ export declare function getTypedOutputTypeId(v: unknown): DataTypeId | undefined;
54
+ export declare function getTypedOutputValue(v: unknown): unknown;
53
55
  export type InputHandleDescriptor = DataTypeId | {
54
56
  typeId: DataTypeId;
55
57
  private?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- export type { DataTypeId, NodeTypeId, NodeInstanceId, HandleId, EdgeInstanceId, NodeCategoryId, DataTypeDescriptor, InvalidateReason, NodeContext, ExecutionContext, NodeTypeDescriptor, GraphDefinition, RuntimeNodeStats, RuntimeEdgeStats, } from "./core/types";
1
+ export type { DataTypeId, NodeTypeId, NodeInstanceId, HandleId, EdgeInstanceId, NodeCategoryId, DataTypeDescriptor, InvalidateReason, NodeContext, ExecutionContext, NodeTypeDescriptor, GraphDefinition, RuntimeNodeStats, RuntimeEdgeStats, TypedOutputValue, } from "./core/types";
2
+ export { typed, isTypedOutput, getTypedOutputTypeId, getTypedOutputValue, getInputTypeId, isInputPrivate, } from "./core/types";
2
3
  export type { CategoryRuntime, NodeCategoryDescriptor, } from "./core/categories";
3
4
  export { Registry } from "./builder/Registry";
4
5
  export { GraphBuilder } from "./builder/GraphBuilder";
@@ -7,9 +8,6 @@ export { GraphRuntime } from "./runtime/GraphRuntime";
7
8
  export type { RunnerControl } from "./runtime/RunnerControl";
8
9
  export { LocalRunner } from "./runtime/LocalRunner";
9
10
  export type { RuntimeEventName, RuntimeEventMap } from "./runtime/GraphRuntime";
10
- export { typed, isTypedOutput } from "./core/types";
11
- export type { TypedOutputValue } from "./core/types";
12
- export { getInputTypeId, isInputPrivate } from "./core/types";
13
11
  export type { Engine, EngineEventListener, EngineEventMap, EngineEventName, } from "./runtime/Engine";
14
12
  export { PushEngine } from "./runtime/PushEngine";
15
13
  export { BatchedEngine } from "./runtime/BatchedEngine";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,YAAY,EACV,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,UAAU,EACV,cAAc,EACd,QAAQ,EACR,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,EACL,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,eAAe,EACf,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAChF,YAAY,EACV,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/misc/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,eAAe,CAAC;AA0CvB,wBAAgB,uBAAuB,IAAI,QAAQ,CA4elD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,QA+BnD;AAqBD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,QA6BvD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,6BAUrE"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/misc/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAEV,eAAe,EAEhB,MAAM,eAAe,CAAC;AA2HvB,wBAAgB,uBAAuB,IAAI,QAAQ,CAyqBlD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,QA+BnD;AAqBD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,QA6BvD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,6BAUrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphRuntime.d.ts","sourceRoot":"","sources":["../../../../src/runtime/GraphRuntime.ts"],"names":[],"mappings":"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"}
package/lib/esm/index.js CHANGED
@@ -1,3 +1,32 @@
1
+ function typed(typeId, value) {
2
+ return { __spark_type: typeId, __spark_value: value };
3
+ }
4
+ function isTypedOutput(v) {
5
+ return (!!v &&
6
+ typeof v === "object" &&
7
+ Object.prototype.hasOwnProperty.call(v, "__spark_type"));
8
+ }
9
+ function getTypedOutputTypeId(v) {
10
+ if (isTypedOutput(v))
11
+ return String(v.__spark_type);
12
+ return undefined;
13
+ }
14
+ function getTypedOutputValue(v) {
15
+ if (isTypedOutput(v))
16
+ return v.__spark_value;
17
+ return v;
18
+ }
19
+ function getInputTypeId(inputs, handle) {
20
+ const v = inputs ? inputs[handle] : undefined;
21
+ if (!v)
22
+ return undefined;
23
+ return typeof v === "string" ? v : v.typeId;
24
+ }
25
+ function isInputPrivate(inputs, handle) {
26
+ const v = inputs ? inputs[handle] : undefined;
27
+ return !!(v && typeof v === "object" && v.private);
28
+ }
29
+
1
30
  class CategoryRegistry {
2
31
  constructor() {
3
32
  this.categories = new Map();
@@ -370,25 +399,6 @@ class Registry {
370
399
  }
371
400
  }
372
401
 
373
- function typed(typeId, value) {
374
- return { __spark_type: typeId, __spark_value: value };
375
- }
376
- function isTypedOutput(v) {
377
- return (!!v &&
378
- typeof v === "object" &&
379
- Object.prototype.hasOwnProperty.call(v, "__spark_type"));
380
- }
381
- function getInputTypeId(inputs, handle) {
382
- const v = inputs ? inputs[handle] : undefined;
383
- if (!v)
384
- return undefined;
385
- return typeof v === "string" ? v : v.typeId;
386
- }
387
- function isInputPrivate(inputs, handle) {
388
- const v = inputs ? inputs[handle] : undefined;
389
- return !!(v && typeof v === "object" && v.private);
390
- }
391
-
392
402
  class GraphRuntime {
393
403
  constructor() {
394
404
  this.nodes = new Map();
@@ -563,12 +573,12 @@ class GraphRuntime {
563
573
  });
564
574
  if (anyAsync) {
565
575
  convertAsync = async (v, signal) => {
566
- if (!isTypedOutput(v))
576
+ const typeId = getTypedOutputTypeId(v);
577
+ if (!typeId)
567
578
  throw new Error(`Typed output required for union source; allowed: ${srcTypes.join("|")}`);
568
- const typeId = String(v.__spark_type);
569
579
  if (!srcTypes.includes(typeId))
570
580
  throw new Error(`Invalid typed output ${typeId}; allowed: ${srcTypes.join("|")}`);
571
- const payload = v.__spark_value;
581
+ const payload = typeId;
572
582
  const res = registry.resolveCoercion(typeId, dstDeclared);
573
583
  if (!res)
574
584
  return payload;
@@ -579,12 +589,12 @@ class GraphRuntime {
579
589
  }
580
590
  else {
581
591
  convert = (v) => {
582
- if (!isTypedOutput(v))
592
+ const typeId = getTypedOutputTypeId(v);
593
+ if (!typeId)
583
594
  throw new Error(`Typed output required for union source; allowed: ${srcTypes.join("|")}`);
584
- const typeId = String(v.__spark_type);
585
595
  if (!srcTypes.includes(typeId))
586
596
  throw new Error(`Invalid typed output ${typeId}; allowed: ${srcTypes.join("|")}`);
587
- const payload = v.__spark_value;
597
+ const payload = typeId;
588
598
  const res = registry.resolveCoercion(typeId, dstDeclared);
589
599
  if (!res)
590
600
  return payload;
@@ -775,9 +785,7 @@ class GraphRuntime {
775
785
  handle: srcHandle,
776
786
  value,
777
787
  io: "output",
778
- runtimeTypeId: isTypedOutput(value)
779
- ? String(value.__spark_type)
780
- : undefined,
788
+ runtimeTypeId: getTypedOutputTypeId(value),
781
789
  });
782
790
  // fan-out along all edges from this output
783
791
  const outEdges = this.edges.filter((e) => e.source.nodeId === srcNodeId && e.source.handle === srcHandle);
@@ -809,7 +817,7 @@ class GraphRuntime {
809
817
  handle: e.target.handle,
810
818
  value: v,
811
819
  io: "input",
812
- runtimeTypeId: isTypedOutput(v) ? String(v.__spark_type) : undefined,
820
+ runtimeTypeId: getTypedOutputTypeId(v),
813
821
  });
814
822
  if (!this.paused && this.allInboundHaveValue(e.target.nodeId))
815
823
  this.scheduleInputsChanged(e.target.nodeId);
@@ -1776,6 +1784,96 @@ const lcg = (seed) => {
1776
1784
  let s = seed >>> 0 || 1;
1777
1785
  return () => (s = (s * 1664525 + 1013904223) >>> 0) / 0xffffffff;
1778
1786
  };
1787
+ // JSON Pointer helpers (RFC 6901 subset)
1788
+ function jsonPointerGet(obj, pointer) {
1789
+ if (!pointer || pointer === "/")
1790
+ return obj;
1791
+ if (!pointer.startsWith("/"))
1792
+ return undefined;
1793
+ const parts = pointer
1794
+ .split("/")
1795
+ .slice(1)
1796
+ .map((p) => p.replace(/~1/g, "/").replace(/~0/g, "~"));
1797
+ let cur = obj;
1798
+ for (const key of parts) {
1799
+ if (cur === undefined || cur === null)
1800
+ return undefined;
1801
+ cur = cur[key];
1802
+ }
1803
+ return cur;
1804
+ }
1805
+ function jsonPointerSet(obj, pointer, value) {
1806
+ if (!pointer || pointer === "/")
1807
+ return value;
1808
+ if (!pointer.startsWith("/"))
1809
+ return obj;
1810
+ const parts = pointer
1811
+ .split("/")
1812
+ .slice(1)
1813
+ .map((p) => p.replace(/~1/g, "/").replace(/~0/g, "~"));
1814
+ const root = structuredClone(obj);
1815
+ let cur = root;
1816
+ for (let i = 0; i < parts.length; i++) {
1817
+ const key = parts[i];
1818
+ if (i === parts.length - 1) {
1819
+ if (Array.isArray(cur) && key === "-")
1820
+ cur.push(value);
1821
+ else
1822
+ cur[key] = value;
1823
+ }
1824
+ else {
1825
+ const next = cur[key];
1826
+ if (next === undefined || next === null) {
1827
+ // create container heuristically
1828
+ const nextKey = parts[i + 1];
1829
+ cur[key] =
1830
+ typeof nextKey === "string" && /^[0-9]+$/.test(nextKey) ? [] : {};
1831
+ }
1832
+ cur = cur[key];
1833
+ }
1834
+ }
1835
+ return root;
1836
+ }
1837
+ function jsonPointerRemove(obj, pointer) {
1838
+ if (!pointer || pointer === "/")
1839
+ return undefined;
1840
+ if (!pointer.startsWith("/"))
1841
+ return obj;
1842
+ const parts = pointer
1843
+ .split("/")
1844
+ .slice(1)
1845
+ .map((p) => p.replace(/~1/g, "/").replace(/~0/g, "~"));
1846
+ const root = structuredClone(obj);
1847
+ let cur = root;
1848
+ for (let i = 0; i < parts.length - 1; i++) {
1849
+ const key = parts[i];
1850
+ if (cur === undefined || cur === null)
1851
+ return root;
1852
+ cur = cur[key];
1853
+ }
1854
+ const last = parts[parts.length - 1];
1855
+ if (Array.isArray(cur)) {
1856
+ const idx = last === "-" ? cur.length - 1 : Number(last);
1857
+ if (Number.isFinite(idx))
1858
+ cur.splice(idx, 1);
1859
+ }
1860
+ else if (cur && typeof cur === "object") {
1861
+ delete cur[last];
1862
+ }
1863
+ return root;
1864
+ }
1865
+ function deepMerge(a, b) {
1866
+ if (Array.isArray(a) && Array.isArray(b))
1867
+ return [...a, ...b];
1868
+ if (isPlainObject(a) && isPlainObject(b)) {
1869
+ const out = { ...a };
1870
+ for (const [k, v] of Object.entries(b)) {
1871
+ out[k] = k in out ? deepMerge(out[k], v) : v;
1872
+ }
1873
+ return out;
1874
+ }
1875
+ return b;
1876
+ }
1779
1877
  // JSON helpers
1780
1878
  const isPlainObject = (v) => {
1781
1879
  if (v === null || typeof v !== "object")
@@ -1814,7 +1912,7 @@ function setupBasicGraphRegistry() {
1814
1912
  registry.registerType({
1815
1913
  id: "base.object",
1816
1914
  validate: (v) => isJson(v),
1817
- }, { withArray: true, arrayPickFirstDefined: true });
1915
+ }, { withArray: false });
1818
1916
  registry.registerType({
1819
1917
  id: "base.vec3",
1820
1918
  validate: (v) => Array.isArray(v) &&
@@ -2207,6 +2305,195 @@ function setupBasicGraphRegistry() {
2207
2305
  },
2208
2306
  },
2209
2307
  });
2308
+ // ------------------------- JSON/object utilities -------------------------
2309
+ registry.registerNode({
2310
+ id: "base.objectGet",
2311
+ categoryId: "compute",
2312
+ inputs: { Object: "base.object", Pointers: "base.string[]" },
2313
+ outputs: { Values: "base.object" },
2314
+ impl: (ins) => {
2315
+ const obj = ins.Object;
2316
+ const pointers = (ins.Pointers || []).map(String);
2317
+ const out = {};
2318
+ for (const p of pointers)
2319
+ out[p] = jsonPointerGet(obj, p);
2320
+ return { Values: out };
2321
+ },
2322
+ });
2323
+ registry.registerNode({
2324
+ id: "base.objectSet",
2325
+ categoryId: "compute",
2326
+ inputs: {
2327
+ Object: "base.object",
2328
+ Pointers: "base.string[]",
2329
+ NewValues: "base.string[]",
2330
+ },
2331
+ outputs: { Result: "base.object" },
2332
+ impl: (ins) => {
2333
+ const pointers = (ins.Pointers || []).map(String);
2334
+ const values = (ins.NewValues || []).map(String);
2335
+ let cur = structuredClone(ins.Object);
2336
+ for (let i = 0; i < pointers.length; i++) {
2337
+ const p = pointers[i];
2338
+ const raw = values[i];
2339
+ let val = raw;
2340
+ if (typeof raw === "string") {
2341
+ try {
2342
+ val = JSON.parse(raw);
2343
+ }
2344
+ catch {
2345
+ /* keep as string */
2346
+ }
2347
+ }
2348
+ cur = jsonPointerSet(cur, p, val);
2349
+ }
2350
+ return { Result: cur };
2351
+ },
2352
+ });
2353
+ registry.registerNode({
2354
+ id: "base.objectRemove",
2355
+ categoryId: "compute",
2356
+ inputs: { Object: "base.object", Pointers: "base.string[]" },
2357
+ outputs: { Result: "base.object" },
2358
+ impl: (ins) => {
2359
+ const pointers = (ins.Pointers || []).map(String);
2360
+ let cur = structuredClone(ins.Object);
2361
+ for (const p of pointers)
2362
+ cur = jsonPointerRemove(cur, p);
2363
+ return { Result: cur };
2364
+ },
2365
+ });
2366
+ registry.registerNode({
2367
+ id: "base.objectMerge",
2368
+ categoryId: "compute",
2369
+ inputs: { A: "base.object", B: "base.object" },
2370
+ outputs: { Result: "base.object" },
2371
+ impl: (ins) => ({
2372
+ Result: deepMerge(ins.A, ins.B),
2373
+ }),
2374
+ });
2375
+ registry.registerNode({
2376
+ id: "base.objectKeys",
2377
+ categoryId: "compute",
2378
+ inputs: { Object: "base.object" },
2379
+ outputs: { Keys: "base.string[]" },
2380
+ impl: (ins) => {
2381
+ const obj = ins.Object;
2382
+ const keys = isPlainObject(obj)
2383
+ ? Object.keys(obj)
2384
+ : Array.isArray(obj)
2385
+ ? Object.keys(obj)
2386
+ : [];
2387
+ return { Keys: keys };
2388
+ },
2389
+ });
2390
+ registry.registerNode({
2391
+ id: "base.objectValues",
2392
+ categoryId: "compute",
2393
+ inputs: { Object: "base.object" },
2394
+ outputs: { Values: "base.object" },
2395
+ impl: (ins) => {
2396
+ const obj = ins.Object;
2397
+ const vals = isPlainObject(obj)
2398
+ ? Object.values(obj)
2399
+ : Array.isArray(obj)
2400
+ ? Object.values(obj)
2401
+ : [];
2402
+ return { Values: vals };
2403
+ },
2404
+ });
2405
+ registry.registerNode({
2406
+ id: "base.objectPatch",
2407
+ categoryId: "compute",
2408
+ inputs: { Object: "base.object", Ops: "base.object" },
2409
+ outputs: { Result: "base.object" },
2410
+ impl: (ins) => {
2411
+ const root = structuredClone(ins.Object);
2412
+ const opsRaw = ins.Ops;
2413
+ const ops = Array.isArray(opsRaw)
2414
+ ? opsRaw
2415
+ : opsRaw
2416
+ ? [opsRaw]
2417
+ : [];
2418
+ let cur = root;
2419
+ for (const op of ops) {
2420
+ if (!op || typeof op !== "object")
2421
+ continue;
2422
+ const kind = String(op.op || "");
2423
+ const path = String(op.path || "");
2424
+ if (kind === "add" || kind === "replace") {
2425
+ cur = jsonPointerSet(cur, path, op.value);
2426
+ }
2427
+ else if (kind === "remove") {
2428
+ cur = jsonPointerRemove(cur, path);
2429
+ }
2430
+ else if (kind === "test") {
2431
+ const got = jsonPointerGet(cur, path);
2432
+ const expected = op.value;
2433
+ const ok = JSON.stringify(got) === JSON.stringify(expected);
2434
+ if (!ok)
2435
+ throw new Error(`objectPatch test failed at ${path}`);
2436
+ }
2437
+ }
2438
+ return { Result: cur };
2439
+ },
2440
+ });
2441
+ registry.registerNode({
2442
+ id: "base.arrayConcat",
2443
+ categoryId: "compute",
2444
+ inputs: { A: "base.object", B: "base.object" },
2445
+ outputs: { Result: "base.object" },
2446
+ impl: (ins) => {
2447
+ const a = Array.isArray(ins.A) ? ins.A : [];
2448
+ const b = Array.isArray(ins.B) ? ins.B : [];
2449
+ return { Result: [...a, ...b] };
2450
+ },
2451
+ });
2452
+ registry.registerNode({
2453
+ id: "base.arrayFlatten",
2454
+ categoryId: "compute",
2455
+ inputs: { Objects: "base.object" },
2456
+ outputs: { Result: "base.object" },
2457
+ impl: (ins) => {
2458
+ const arr = Array.isArray(ins.Objects) ? ins.Objects : [];
2459
+ const out = [];
2460
+ for (const v of arr) {
2461
+ if (Array.isArray(v))
2462
+ out.push(...v);
2463
+ else
2464
+ out.push(v);
2465
+ }
2466
+ return { Result: out };
2467
+ },
2468
+ });
2469
+ registry.registerNode({
2470
+ id: "base.arraySortBy",
2471
+ categoryId: "compute",
2472
+ inputs: { Objects: "base.object", Pointers: "base.string[]" },
2473
+ outputs: { Result: "base.object" },
2474
+ impl: (ins) => {
2475
+ const arr = Array.isArray(ins.Objects) ? ins.Objects : [];
2476
+ const pointers = (ins.Pointers || []).map(String);
2477
+ const out = [...arr].sort((a, b) => {
2478
+ for (const p of pointers) {
2479
+ const av = jsonPointerGet(a, p);
2480
+ const bv = jsonPointerGet(b, p);
2481
+ if (av === bv)
2482
+ continue;
2483
+ if (av === undefined)
2484
+ return 1;
2485
+ if (bv === undefined)
2486
+ return -1;
2487
+ if (av < bv)
2488
+ return -1;
2489
+ if (av > bv)
2490
+ return 1;
2491
+ }
2492
+ return 0;
2493
+ });
2494
+ return { Result: out };
2495
+ },
2496
+ });
2210
2497
  return registry;
2211
2498
  }
2212
2499
  function registerDelayNode(registry) {
@@ -2465,5 +2752,5 @@ function createValidationGraphRegistry() {
2465
2752
  return registry;
2466
2753
  }
2467
2754
 
2468
- export { BatchedEngine, CompositeCategory, ComputeCategory, GraphBuilder, GraphRuntime, HybridEngine, LocalRunner, PullEngine, PushEngine, Registry, StepEngine, createAsyncGraphDef, createAsyncGraphRegistry, createProgressGraphDef, createProgressGraphRegistry, createSimpleGraphDef, createSimpleGraphRegistry, createValidationGraphDef, createValidationGraphRegistry, getInputTypeId, isInputPrivate, isTypedOutput, registerDelayNode, registerProgressNodes, typed };
2755
+ export { BatchedEngine, CompositeCategory, ComputeCategory, GraphBuilder, GraphRuntime, HybridEngine, LocalRunner, PullEngine, PushEngine, Registry, StepEngine, createAsyncGraphDef, createAsyncGraphRegistry, createProgressGraphDef, createProgressGraphRegistry, createSimpleGraphDef, createSimpleGraphRegistry, createValidationGraphDef, createValidationGraphRegistry, getInputTypeId, getTypedOutputTypeId, getTypedOutputValue, isInputPrivate, isTypedOutput, registerDelayNode, registerProgressNodes, typed };
2469
2756
  //# sourceMappingURL=index.js.map