@dxos/app-graph 0.8.4-main.ef1bc66f44 → 0.8.4-main.f466a3d56e

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 (56) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/{browser/index.mjs → neutral/chunk-32XXJE6M.mjs} +564 -384
  4. package/dist/lib/neutral/chunk-32XXJE6M.mjs.map +7 -0
  5. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  6. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  7. package/dist/lib/neutral/index.mjs +40 -0
  8. package/dist/lib/neutral/index.mjs.map +7 -0
  9. package/dist/lib/neutral/meta.json +1 -0
  10. package/dist/lib/neutral/scheduler.mjs +15 -0
  11. package/dist/lib/neutral/scheduler.mjs.map +7 -0
  12. package/dist/lib/neutral/testing/index.mjs +40 -0
  13. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  14. package/dist/types/src/atoms.d.ts.map +1 -1
  15. package/dist/types/src/graph-builder.d.ts +13 -9
  16. package/dist/types/src/graph-builder.d.ts.map +1 -1
  17. package/dist/types/src/graph.d.ts +13 -17
  18. package/dist/types/src/graph.d.ts.map +1 -1
  19. package/dist/types/src/index.d.ts +1 -0
  20. package/dist/types/src/index.d.ts.map +1 -1
  21. package/dist/types/src/node-matcher.d.ts +46 -20
  22. package/dist/types/src/node-matcher.d.ts.map +1 -1
  23. package/dist/types/src/node.d.ts +21 -5
  24. package/dist/types/src/node.d.ts.map +1 -1
  25. package/dist/types/src/scheduler.browser.d.ts +2 -0
  26. package/dist/types/src/scheduler.browser.d.ts.map +1 -0
  27. package/dist/types/src/scheduler.d.ts +8 -0
  28. package/dist/types/src/scheduler.d.ts.map +1 -0
  29. package/dist/types/src/stories/EchoGraph.stories.d.ts.map +1 -1
  30. package/dist/types/src/testing/index.d.ts +2 -0
  31. package/dist/types/src/testing/index.d.ts.map +1 -0
  32. package/dist/types/src/testing/setup-graph-builder.d.ts +31 -0
  33. package/dist/types/src/testing/setup-graph-builder.d.ts.map +1 -0
  34. package/dist/types/src/util.d.ts +40 -0
  35. package/dist/types/src/util.d.ts.map +1 -0
  36. package/dist/types/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +38 -27
  38. package/src/graph-builder.test.ts +695 -102
  39. package/src/graph-builder.ts +223 -76
  40. package/src/graph.test.ts +187 -52
  41. package/src/graph.ts +177 -98
  42. package/src/index.ts +1 -0
  43. package/src/node-matcher.ts +61 -31
  44. package/src/node.ts +46 -5
  45. package/src/scheduler.browser.ts +5 -0
  46. package/src/scheduler.ts +17 -0
  47. package/src/stories/EchoGraph.stories.tsx +94 -66
  48. package/src/stories/Tree.tsx +1 -1
  49. package/src/testing/index.ts +5 -0
  50. package/src/testing/setup-graph-builder.ts +41 -0
  51. package/src/util.ts +101 -0
  52. package/dist/lib/browser/index.mjs.map +0 -7
  53. package/dist/lib/browser/meta.json +0 -1
  54. package/dist/lib/node-esm/index.mjs +0 -1298
  55. package/dist/lib/node-esm/index.mjs.map +0 -7
  56. package/dist/lib/node-esm/meta.json +0 -1
@@ -27,8 +27,8 @@ export type ActionsExtension = (node: Atom.Atom<Option.Option<Node.Node>>) => At
27
27
  export type ActionGroupsExtension = (node: Atom.Atom<Option.Option<Node.Node>>) => Atom.Atom<Omit<Node.NodeArg<typeof Node.actionGroupSymbol>, 'type' | 'data' | 'nodes' | 'edges'>[]>;
28
28
  export type BuilderExtension = Readonly<{
29
29
  id: string;
30
- position: Position;
31
- relation?: Node.Relation;
30
+ position?: Position;
31
+ relation?: Node.RelationInput;
32
32
  resolver?: ResolverExtension;
33
33
  connector?: (node: Atom.Atom<Option.Option<Node.Node>>) => Atom.Atom<Node.NodeArg<any>[]>;
34
34
  }>;
@@ -37,7 +37,7 @@ export type GraphBuilderTraverseOptions = {
37
37
  visitor: (node: Node.Node, path: string[]) => MaybePromise<boolean | void>;
38
38
  registry?: Registry.Registry;
39
39
  source?: string;
40
- relation?: Node.Relation;
40
+ relation: Node.RelationInput | Node.RelationInput[];
41
41
  };
42
42
  /**
43
43
  * Identifier denoting a GraphBuilder.
@@ -55,7 +55,7 @@ export interface GraphBuilder extends Pipeable.Pipeable {
55
55
  /**
56
56
  * Creates a new GraphBuilder instance.
57
57
  */
58
- export declare const make: (params?: Pick<Graph.GraphProps, "registry" | "nodes" | "edges">) => GraphBuilder;
58
+ export declare const make: (params?: Pick<Graph.GraphProps, 'registry' | 'nodes' | 'edges'>) => GraphBuilder;
59
59
  /**
60
60
  * Creates a GraphBuilder from a serialized pickle string.
61
61
  */
@@ -80,6 +80,10 @@ export declare function explore(options: GraphBuilderTraverseOptions, path?: str
80
80
  */
81
81
  export declare function destroy(builder: GraphBuilder): void;
82
82
  export declare function destroy(): (builder: GraphBuilder) => void;
83
+ /**
84
+ * Wait for all pending connector updates to be flushed.
85
+ */
86
+ export declare const flush: (builder: GraphBuilder) => Promise<void>;
83
87
  /**
84
88
  * A graph builder extension is used to add nodes to the graph.
85
89
  *
@@ -93,7 +97,7 @@ export declare function destroy(): (builder: GraphBuilder) => void;
93
97
  */
94
98
  export type CreateExtensionRawOptions = {
95
99
  id: string;
96
- relation?: Node.Relation;
100
+ relation?: Node.RelationInput;
97
101
  position?: Position;
98
102
  resolver?: ResolverExtension;
99
103
  connector?: ConnectorExtension;
@@ -115,7 +119,7 @@ export type CreateExtensionOptions<TMatched = Node.Node, R = never> = {
115
119
  actions?: (matched: TMatched, get: Atom.Context) => Effect.Effect<Omit<Node.NodeArg<Node.ActionData<any>, any>, 'type'>[], Error, R>;
116
120
  connector?: (matched: TMatched, get: Atom.Context) => Effect.Effect<Node.NodeArg<any, any>[], Error, R>;
117
121
  resolver?: (id: string, get: Atom.Context) => Effect.Effect<Node.NodeArg<any, any> | null, Error, R>;
118
- relation?: Node.Relation;
122
+ relation?: Node.RelationInput;
119
123
  position?: Position;
120
124
  };
121
125
  /**
@@ -133,12 +137,12 @@ export declare const createConnector: <TData>(matcher: (node: Node.Node) => Opti
133
137
  * All callbacks must return Effects for dependency injection.
134
138
  * Effects may fail - errors are caught, logged, and the extension returns empty results.
135
139
  */
136
- export type CreateTypeExtensionOptions<T extends Type.Entity.Any = Type.Entity.Any, R = never> = {
140
+ export type CreateTypeExtensionOptions<T extends Type.AnyEntity = Type.AnyEntity, R = never> = {
137
141
  id: string;
138
142
  type: T;
139
143
  actions?: (object: Entity.Entity<Schema.Schema.Type<T>>, get: Atom.Context) => Effect.Effect<Omit<Node.NodeArg<Node.ActionData<any>>, 'type'>[], Error, R>;
140
144
  connector?: (object: Entity.Entity<Schema.Schema.Type<T>>, get: Atom.Context) => Effect.Effect<Node.NodeArg<any>[], Error, R>;
141
- relation?: Node.Relation;
145
+ relation?: Node.RelationInput;
142
146
  position?: Position;
143
147
  };
144
148
  /**
@@ -146,6 +150,6 @@ export type CreateTypeExtensionOptions<T extends Type.Entity.Any = Type.Entity.A
146
150
  * The entity type is inferred from the schema type and works for both object and relation schemas.
147
151
  * Returns an Effect to allow callbacks to access services via dependency injection.
148
152
  */
149
- export declare const createTypeExtension: <T extends Type.Entity.Any, R = never>(options: CreateTypeExtensionOptions<T, R>) => Effect.Effect<BuilderExtension[], never, R>;
153
+ export declare const createTypeExtension: <T extends Type.AnyEntity, R = never>(options: CreateTypeExtensionOptions<T, R>) => Effect.Effect<BuilderExtension[], never, R>;
150
154
  export declare const flattenExtensions: (extension: BuilderExtensions, acc?: BuilderExtension[]) => BuilderExtension[];
151
155
  //# sourceMappingURL=graph-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-builder.d.ts","sourceRoot":"","sources":["../../../src/graph-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-builder.d.ts","sourceRoot":"","sources":["../../../src/graph-builder.ts"],"names":[],"mappings":"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"}
@@ -21,12 +21,8 @@ export type GraphTraversalOptions = {
21
21
  * @default ROOT_ID
22
22
  */
23
23
  source?: string;
24
- /**
25
- * The relation to traverse graph edges.
26
- *
27
- * @default 'outbound'
28
- */
29
- relation?: Node.Relation;
24
+ /** The relation(s) to traverse graph edges. */
25
+ relation: Node.RelationInput | Node.RelationInput[];
30
26
  };
31
27
  export type GraphProps = {
32
28
  registry?: Registry.Registry;
@@ -39,11 +35,9 @@ export type GraphProps = {
39
35
  export type Edge = {
40
36
  source: string;
41
37
  target: string;
38
+ relation: Node.RelationInput;
42
39
  };
43
- export type Edges = {
44
- inbound: string[];
45
- outbound: string[];
46
- };
40
+ export type Edges = Record<string, string[]>;
47
41
  /**
48
42
  * Identifier denoting a Graph.
49
43
  */
@@ -80,7 +74,7 @@ export interface BaseGraph extends Pipeable.Pipeable {
80
74
  /**
81
75
  * Get the atom key for the connections of the node with the given id.
82
76
  */
83
- connections(id: string, relation?: Node.Relation): Atom.Atom<Node.Node[]>;
77
+ connections(id: string, relation: Node.RelationInput): Atom.Atom<Node.Node[]>;
84
78
  /**
85
79
  * Get the atom key for the actions of the node with the given id.
86
80
  */
@@ -127,8 +121,8 @@ export declare function getRoot(graph: BaseGraph): Node.Node;
127
121
  /**
128
122
  * Get all nodes connected to the node with the given id by the given relation from the graph's registry.
129
123
  */
130
- export declare function getConnections(graph: BaseGraph, id: string, relation?: Node.Relation): Node.Node[];
131
- export declare function getConnections(id: string, relation?: Node.Relation): (graph: BaseGraph) => Node.Node[];
124
+ export declare function getConnections(graph: BaseGraph, id: string, relation: Node.RelationInput): Node.Node[];
125
+ export declare function getConnections(id: string, relation: Node.RelationInput): (graph: BaseGraph) => Node.Node[];
132
126
  /**
133
127
  * Get all actions connected to the node with the given id from the graph's registry.
134
128
  */
@@ -184,13 +178,13 @@ export declare function initialize(id: string): <T extends ExpandableGraph | Wri
184
178
  *
185
179
  * Fires the `onExpand` callback to add connections to the node.
186
180
  */
187
- export declare function expand<T extends ExpandableGraph | WritableGraph>(graph: T, id: string, relation?: Node.Relation): T;
188
- export declare function expand(id: string, relation?: Node.Relation): <T extends ExpandableGraph | WritableGraph>(graph: T) => T;
181
+ export declare function expand<T extends ExpandableGraph | WritableGraph>(graph: T, id: string, relation: Node.RelationInput): T;
182
+ export declare function expand(id: string, relation: Node.RelationInput): <T extends ExpandableGraph | WritableGraph>(graph: T) => T;
189
183
  /**
190
184
  * Sort the edges of the node with the given id.
191
185
  */
192
- export declare function sortEdges<T extends ExpandableGraph | WritableGraph>(graph: T, id: string, relation: Node.Relation, order: string[]): T;
193
- export declare function sortEdges(id: string, relation: Node.Relation, order: string[]): <T extends ExpandableGraph | WritableGraph>(graph: T) => T;
186
+ export declare function sortEdges<T extends ExpandableGraph | WritableGraph>(graph: T, id: string, relation: Node.RelationInput, order: string[]): T;
187
+ export declare function sortEdges(id: string, relation: Node.RelationInput, order: string[]): <T extends ExpandableGraph | WritableGraph>(graph: T) => T;
194
188
  /**
195
189
  * Add nodes to the graph.
196
190
  */
@@ -235,4 +229,6 @@ export declare function removeEdge(edgeArg: Edge, removeOrphans?: boolean): <T e
235
229
  * Creates a new Graph instance.
236
230
  */
237
231
  export declare const make: (params?: GraphProps) => Graph;
232
+ export declare const relationKey: (relation: Node.RelationInput) => string;
233
+ export declare const relationFromKey: (encoded: string) => Node.Relation;
238
234
  //# sourceMappingURL=graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/graph.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,KAAK,EAAW,MAAM,aAAa,CAAC;AAI7C,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,YAAY,CAAC;AAE9D,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAW/B;;GAEG;AACH,eAAO,MAAM,QAAQ,SAAU,IAAI,CAAC,IAAI,KAAG,KAI1C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;;OAIG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;IAE7D;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,+CAA+C;IAC/C,QAAQ,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC;IACzD,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAA;CAAE,CAAC;AACpF,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,OAAO,MAA4C,CAAC;AAC9E,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,OAAO,MAAgD,CAAC;AAChF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC;AAEzC,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;AAEnE,MAAM,WAAW,SAAU,SAAQ,QAAQ,CAAC,QAAQ;IAClD,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACpC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC,CAAC;IAC9E;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC;;OAEG;IACH,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E;;OAEG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACnE;;OAEG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;CACrC;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,UAAU,CAAA;CAAE,CAAC;AACzG,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;CAAE,CAAC;AAC9F,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,aAAa,CAAC;AAkLlC;;GAEG;AACH,eAAO,MAAM,MAAM,UAAW,SAAS,kBAAqB,MAG3D,CAAC;AA0DF;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChF,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAwBpF;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;AACxE,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC;AAgB5E;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,IAAI,CAEnD;AAUD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACxG,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;AA6B5G;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACtE,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;AAwB1E;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,CAAC;AAC9D,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,CAAC;AA4ClE;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;AAClG,wBAAgB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AA+CtG;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAChH,wBAAgB,OAAO,CAAC,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAyCpH;;GAEG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC3C,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACrB,wBAAgB,WAAW,CACzB,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC3C,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAiC3C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,eAAe,GAAG,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACxG,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,eAAe,GAAG,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AA6C5G;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,eAAe,GAAG,aAAa,EAC9D,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,IAAI,CAAC,aAAa,GAC3B,CAAC,CAAC;AACL,wBAAgB,MAAM,CACpB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,IAAI,CAAC,aAAa,GAC3B,CAAC,CAAC,SAAS,eAAe,GAAG,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAgD9D;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,eAAe,GAAG,aAAa,EACjE,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,KAAK,EAAE,MAAM,EAAE,GACd,CAAC,CAAC;AACL,wBAAgB,SAAS,CACvB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,IAAI,CAAC,aAAa,EAC5B,KAAK,EAAE,MAAM,EAAE,GACd,CAAC,CAAC,SAAS,eAAe,GAAG,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAgC9D;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAwFpH;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/G,wBAAgB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AA0BnH;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;AAClG,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAqDtG;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;AAC9F,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AA8BlG;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAC9E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AA6ClF;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC;AAC7E,wBAAgB,OAAO,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AA0BjF;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;AAC1G,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AA0D9G;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC;AACzG,wBAAgB,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAwB7G;;GAEG;AACH,eAAO,MAAM,IAAI,YAAa,UAAU,KAAG,KAE1C,CAAC;AAMF,eAAO,MAAM,WAAW,aAAc,IAAI,CAAC,aAAa,KAAG,MAG1D,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,IAAI,CAAC,QAMtD,CAAC"}
@@ -3,5 +3,6 @@ export * as Graph from './graph';
3
3
  export * as GraphBuilder from './graph-builder';
4
4
  export * as Node from './node';
5
5
  export * as NodeMatcher from './node-matcher';
6
+ export { qualifyId, getParentId, getSegmentId } from './util';
6
7
  export type { BuilderExtensions } from './graph-builder';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAG9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAG9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -51,7 +51,7 @@ export declare const whenId: (id: string) => (node: Node.Node) => Option.Option<
51
51
  * ```ts
52
52
  * GraphBuilder.createExtension({
53
53
  * id: 'space-settings-extension',
54
- * match: NodeMatcher.whenNodeType('dxos.org/plugin/space/settings'),
54
+ * match: NodeMatcher.whenNodeType('org.dxos.plugin.space.settings'),
55
55
  * connector: (node) => Effect.succeed([...]),
56
56
  * });
57
57
  * ```
@@ -80,9 +80,12 @@ export declare const whenNodeType: (type: string) => (node: Node.Node) => Option
80
80
  * });
81
81
  * ```
82
82
  *
83
- * @see {@link whenEchoTypeMatches} - Use instead when composing with whenAll/whenAny.
83
+ * Can be composed directly with {@link whenAll}/{@link whenAny}/{@link whenNot} while
84
+ * preserving the typed entity data in the result.
85
+ *
86
+ * @see {@link whenEchoTypeMatches} - Returns the node instead of data for legacy composition.
84
87
  */
85
- export declare const whenEchoType: <T extends Type.Entity.Any>(type: T) => NodeMatcher<Entity.Entity<Schema.Schema.Type<T>>>;
88
+ export declare const whenEchoType: <T extends Type.AnyEntity>(type: T) => NodeMatcher<Entity.Entity<Schema.Schema.Type<T>>>;
86
89
  /**
87
90
  * Matches a node whose data is any ECHO object.
88
91
  * Returns the **object data** (not the node) for direct use in callbacks.
@@ -94,53 +97,72 @@ export declare const whenEchoType: <T extends Type.Entity.Any>(type: T) => NodeM
94
97
  * @example
95
98
  * ```ts
96
99
  * GraphBuilder.createExtension({
97
- * id: 'object-settings',
100
+ * id: 'object-properties',
98
101
  * match: NodeMatcher.whenEchoObject,
99
102
  * connector: (object) => {
100
103
  * // `object` is typed as Obj.Unknown
101
104
  * const id = Obj.getDXN(object).toString();
102
- * return Effect.succeed([{ id: `${id}/settings`, ... }]);
105
+ * return Effect.succeed([{ id: `${id}.settings`, ... }]);
103
106
  * },
104
107
  * });
105
108
  * ```
106
109
  *
107
- * @see {@link whenEchoObjectMatches} - Use instead when composing with whenAll/whenAny.
110
+ * Can be composed directly with {@link whenAll}/{@link whenAny}/{@link whenNot} while
111
+ * preserving the `Obj.Unknown` data type in the result.
112
+ *
113
+ * @see {@link whenEchoObjectMatches} - Returns the node instead of data for legacy composition.
108
114
  */
109
115
  export declare const whenEchoObject: (node: Node.Node) => Option.Option<Obj.Unknown>;
110
116
  /**
111
117
  * Composes multiple matchers with AND logic - all matchers must match for success.
112
- * Returns the **node** (not the matched data) to enable further composition.
118
+ * The result data type is the intersection of all matchers' data types.
119
+ * Filter matchers like {@link whenNot} return `unknown`, making them transparent
120
+ * in the intersection (since `T & unknown = T`).
113
121
  *
114
122
  * @param matchers - The matchers to combine. All must return Option.some for success.
115
- * @returns A matcher that returns Option.some(node) if all match, Option.none() otherwise.
123
+ * @returns A matcher whose data type is the intersection of all input matchers' data types.
124
+ * Returns the first matcher's value when all match, Option.none() otherwise.
116
125
  *
117
126
  * @example
118
127
  * ```ts
119
- * // Match ECHO objects that are NOT Channels
128
+ * // Match ECHO objects that are NOT Channels — result is NodeMatcher<Obj.Unknown>.
120
129
  * const whenCommentable = NodeMatcher.whenAll(
121
- * NodeMatcher.whenEchoObjectMatches,
130
+ * NodeMatcher.whenEchoObject,
122
131
  * NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Channel.Channel)),
123
132
  * );
124
133
  * ```
125
134
  */
126
- export declare const whenAll: (...matchers: NodeMatcher[]) => NodeMatcher;
135
+ export declare const whenAll: {
136
+ <A>(a: NodeMatcher<A>, b: NodeMatcher<unknown>): NodeMatcher<A>;
137
+ <A>(a: NodeMatcher<unknown>, b: NodeMatcher<A>): NodeMatcher<A>;
138
+ <A, B>(a: NodeMatcher<A>, b: NodeMatcher<B>): NodeMatcher<A & B>;
139
+ <A, B, C>(a: NodeMatcher<A>, b: NodeMatcher<B>, c: NodeMatcher<C>): NodeMatcher<A & B & C>;
140
+ <A, B, C, D>(a: NodeMatcher<A>, b: NodeMatcher<B>, c: NodeMatcher<C>, d: NodeMatcher<D>): NodeMatcher<A & B & C & D>;
141
+ (...matchers: NodeMatcher<any>[]): NodeMatcher<any>;
142
+ };
127
143
  /**
128
144
  * Composes multiple matchers with OR logic - at least one matcher must match.
129
- * Returns the **node** (not the matched data) to enable further composition.
145
+ * The result data type is the union of all matchers' data types.
130
146
  *
131
147
  * @param matchers - The matchers to combine. At least one must return Option.some.
132
- * @returns A matcher that returns Option.some(node) if any match, Option.none() otherwise.
148
+ * @returns A matcher whose data type is the union of all input matchers' data types.
149
+ * Returns the first matching matcher's value, or Option.none() if none match.
133
150
  *
134
151
  * @example
135
152
  * ```ts
136
- * // Match nodes that are either Sequences or Prompts
153
+ * // Match nodes that are either Sequences or Routines
137
154
  * const whenInvocable = NodeMatcher.whenAny(
138
155
  * NodeMatcher.whenEchoTypeMatches(Sequence),
139
- * NodeMatcher.whenEchoTypeMatches(Prompt.Prompt),
156
+ * NodeMatcher.whenEchoTypeMatches(Routine.Routine),
140
157
  * );
141
158
  * ```
142
159
  */
143
- export declare const whenAny: (...matchers: NodeMatcher[]) => NodeMatcher;
160
+ export declare const whenAny: {
161
+ <A, B>(a: NodeMatcher<A>, b: NodeMatcher<B>): NodeMatcher<A | B>;
162
+ <A, B, C>(a: NodeMatcher<A>, b: NodeMatcher<B>, c: NodeMatcher<C>): NodeMatcher<A | B | C>;
163
+ <A, B, C, D>(a: NodeMatcher<A>, b: NodeMatcher<B>, c: NodeMatcher<C>, d: NodeMatcher<D>): NodeMatcher<A | B | C | D>;
164
+ (...matchers: NodeMatcher<any>[]): NodeMatcher<any>;
165
+ };
144
166
  /**
145
167
  * Matches a node whose data is an instance of the given ECHO schema type.
146
168
  * Returns the **node** (not the data) to enable composition with whenAll/whenAny/whenNot.
@@ -170,7 +192,7 @@ export declare const whenAny: (...matchers: NodeMatcher[]) => NodeMatcher;
170
192
  *
171
193
  * @see {@link whenEchoType} - Use instead when you need the typed entity directly.
172
194
  */
173
- export declare const whenEchoTypeMatches: <T extends Type.Entity.Any>(type: T) => NodeMatcher;
195
+ export declare const whenEchoTypeMatches: <T extends Type.AnyEntity>(type: T) => NodeMatcher;
174
196
  /**
175
197
  * Matches a node whose data is any ECHO object.
176
198
  * Returns the **node** (not the data) to enable composition with whenAll/whenAny/whenNot.
@@ -198,15 +220,19 @@ export declare const whenEchoObjectMatches: (node: Node.Node) => Option.Option<N
198
220
  * Negates a matcher - matches when the given matcher does NOT match.
199
221
  * Useful for exclusion patterns like "any object EXCEPT type X".
200
222
  *
223
+ * Returns `NodeMatcher<unknown>` because negation is a filter — it doesn't provide
224
+ * typed data. This makes it transparent in {@link whenAll} intersections
225
+ * (since `T & unknown = T`).
226
+ *
201
227
  * @param matcher - The matcher to negate.
202
228
  * @returns A matcher that returns Option.some(node) if the input matcher returns none,
203
229
  * and Option.none() if the input matcher returns some.
204
230
  *
205
231
  * @example
206
232
  * ```ts
207
- * // Match any ECHO object that is NOT a Channel
233
+ * // Match any ECHO object that is NOT a Channel — result is NodeMatcher<Obj.Unknown>.
208
234
  * const whenCommentable = NodeMatcher.whenAll(
209
- * NodeMatcher.whenEchoObjectMatches,
235
+ * NodeMatcher.whenEchoObject,
210
236
  * NodeMatcher.whenNot(NodeMatcher.whenEchoTypeMatches(Channel.Channel)),
211
237
  * );
212
238
  *
@@ -214,5 +240,5 @@ export declare const whenEchoObjectMatches: (node: Node.Node) => Option.Option<N
214
240
  * const whenNotRoot = NodeMatcher.whenNot(NodeMatcher.whenRoot);
215
241
  * ```
216
242
  */
217
- export declare const whenNot: (matcher: NodeMatcher) => NodeMatcher;
243
+ export declare const whenNot: (matcher: NodeMatcher<any>) => NodeMatcher<unknown>;
218
244
  //# sourceMappingURL=node-matcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-matcher.d.ts","sourceRoot":"","sources":["../../../src/node-matcher.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAMvF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,IAAI,CAAC,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACL,CAAC;AAE9D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,MAAM,GAChB,IAAI,MAAM,MACV,MAAM,IAAI,CAAC,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACU,CAAC;AAEvD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,GACtB,MAAM,MAAM,MACZ,MAAM,IAAI,CAAC,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACc,CAAC;AAM3D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,YAAY,GACtB,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAEZ,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,IAAI,CAAC,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CACR,CAAC;AAMnE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,GACjB,GAAG,UAAU,WAAW,EAAE,KAAG,WAS7B,CAAC;AAEJ;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,GACjB,GAAG,UAAU,WAAW,EAAE,KAAG,WAS7B,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,mBAAmB,GAC7B,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAG,WAE+B,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,IAAI,CAAC,IAAI,KAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAClB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,OAAO,GACjB,SAAS,WAAW,KAAG,WAE0C,CAAC"}
1
+ {"version":3,"file":"node-matcher.d.ts","sourceRoot":"","sources":["../../../src/node-matcher.ts"],"names":[],"mappings":"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"}
@@ -8,15 +8,15 @@ export declare const RootId = "root";
8
8
  /**
9
9
  * Root node type.
10
10
  */
11
- export declare const RootType = "dxos.org/type/GraphRoot";
11
+ export declare const RootType = "org.dxos.type.graphRoot";
12
12
  /**
13
13
  * Action node type.
14
14
  */
15
- export declare const ActionType = "dxos.org/type/GraphAction";
15
+ export declare const ActionType = "org.dxos.type.graphAction";
16
16
  /**
17
17
  * Action group node type.
18
18
  */
19
- export declare const ActionGroupType = "dxos.org/type/GraphActionGroup";
19
+ export declare const ActionGroupType = "org.dxos.type.graphActionGroup";
20
20
  /**
21
21
  * Represents a node in the graph.
22
22
  */
@@ -45,17 +45,27 @@ export type Node<TData = any, TProperties extends Record<string, any> = Record<s
45
45
  data: TData;
46
46
  }>;
47
47
  export type NodeFilter<TData = any, TProperties extends Record<string, any> = Record<string, any>> = (node: Node<unknown, Record<string, any>>, connectedNode: Node) => node is Node<TData, TProperties>;
48
- export type Relation = 'outbound' | 'inbound';
48
+ export type RelationDirection = 'outbound' | 'inbound';
49
+ export type Relation = Readonly<{
50
+ kind: string;
51
+ direction: RelationDirection;
52
+ }>;
53
+ export type RelationInput = Relation | string;
54
+ export declare const relation: (kind: string, direction?: RelationDirection) => Relation;
55
+ export declare const childRelation: (direction?: RelationDirection) => Relation;
56
+ export declare const actionRelation: (direction?: RelationDirection) => Relation;
49
57
  export declare const isGraphNode: (data: unknown) => data is Node;
50
58
  export type NodeArg<TData, TProperties extends Record<string, any> = Record<string, any>> = MakeOptional<Node<TData, TProperties>, 'data' | 'properties' | 'cacheable'> & {
51
59
  /** Will automatically add nodes with an edge from this node to each. */
52
60
  nodes?: NodeArg<unknown>[];
53
61
  /** Will automatically add specified edges. */
54
- edges?: [string, Relation][];
62
+ edges?: [string, RelationInput][];
55
63
  };
56
64
  export type InvokeProps = {
57
65
  /** Node the invoked action is connected to. */
58
66
  parent?: Node;
67
+ /** Path from root to the node in the current tree context. */
68
+ path?: string[];
59
69
  caller?: string;
60
70
  };
61
71
  /**
@@ -81,4 +91,10 @@ export type ActionGroup<TProperties extends Record<string, any> = Record<string,
81
91
  export declare const isActionGroup: (data: unknown) => data is ActionGroup;
82
92
  export type ActionLike = Action | ActionGroup;
83
93
  export declare const isActionLike: (data: unknown) => data is Action | ActionGroup;
94
+ /** Typed factory for constructing a NodeArg. Provides auto-complete and type validation. */
95
+ export declare const make: <TData = any, TProperties extends Record<string, any> = Record<string, any>>(arg: NodeArg<TData, TProperties>) => NodeArg<TData, TProperties>;
96
+ /** Create an action node. Automatically sets `type: ActionType`. */
97
+ export declare const makeAction: <R = never>(arg: Omit<NodeArg<ActionData<R>>, 'type' | 'nodes' | 'edges'>) => NodeArg<ActionData<R>>;
98
+ /** Create an action group node. Automatically sets `type` and `data`. */
99
+ export declare const makeActionGroup: (arg: Omit<NodeArg<typeof actionGroupSymbol>, 'type' | 'data' | 'nodes' | 'edges'>) => NodeArg<typeof actionGroupSymbol>;
84
100
  //# sourceMappingURL=node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { scheduleTask, yieldOrContinue } from 'main-thread-scheduling';
2
+ //# sourceMappingURL=scheduler.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.browser.d.ts","sourceRoot":"","sources":["../../../src/scheduler.browser.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ type ScheduleOptions = {
2
+ strategy?: 'smooth' | 'interactive' | 'idle';
3
+ signal?: AbortSignal;
4
+ };
5
+ export declare const scheduleTask: <T>(callback: () => T | Promise<T>, _options?: ScheduleOptions) => Promise<T>;
6
+ export declare const yieldOrContinue: (_priority: 'smooth' | 'interactive' | 'idle') => Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/scheduler.ts"],"names":[],"mappings":"AAOA,KAAK,eAAe,GAAG;IAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAE9F,eAAO,MAAM,YAAY,GAAU,CAAC,YAAY,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,aAAa,eAAe,KAAG,OAAO,CAAC,CAAC,CAG3G,CAAC;AAEF,eAAO,MAAM,eAAe,cAAqB,QAAQ,GAAG,aAAa,GAAG,MAAM,KAAG,OAAO,CAAC,IAAI,CAEhG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EchoGraph.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/EchoGraph.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAsPjE,QAAA,MAAM,IAAI;;;CAYM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,QAAQ,EAAE,KActB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAsGtB,CAAC"}
1
+ {"version":3,"file":"EchoGraph.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/EchoGraph.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAoPjE,QAAA,MAAM,IAAI;;;CAaM,CAAC;eAEF,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,QAAQ,EAAE,KActB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAmItB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './setup-graph-builder';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { Registry } from '@effect-atom/atom-react';
2
+ import * as Graph from '../graph';
3
+ import * as GraphBuilder from '../graph-builder';
4
+ import * as Node from '../node';
5
+ export type SetupGraphBuilderOptions = {
6
+ registry?: Registry.Registry;
7
+ extensions?: GraphBuilder.BuilderExtensions;
8
+ };
9
+ export declare const setupGraphBuilder: ({ registry, extensions }?: SetupGraphBuilderOptions) => {
10
+ registry: Registry.Registry;
11
+ builder: GraphBuilder.GraphBuilder;
12
+ graph: Graph.ExpandableGraph;
13
+ addExtensions: (nextExtensions: GraphBuilder.BuilderExtensions) => void;
14
+ expand: (id: string, relation?: Node.RelationInput) => Promise<void>;
15
+ flush: () => Promise<void>;
16
+ getConnections: (id: string, relation?: Node.RelationInput) => Readonly<{
17
+ id: string;
18
+ type: string;
19
+ cacheable?: string[];
20
+ properties: Readonly<Record<string, any>>;
21
+ data: any;
22
+ }>[];
23
+ getNode: (id: string) => Readonly<{
24
+ id: string;
25
+ type: string;
26
+ cacheable?: string[];
27
+ properties: Readonly<Record<string, any>>;
28
+ data: any;
29
+ }> | null;
30
+ };
31
+ //# sourceMappingURL=setup-graph-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/testing/setup-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnD,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,YAAY,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC7B,UAAU,CAAC,EAAE,YAAY,CAAC,iBAAiB,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,8BAAgD,wBAAwB;;;;oCAYlE,YAAY,CAAC,iBAAiB;iBAG3C,MAAM,aAAY,IAAI,CAAC,aAAa;;yBAKlC,MAAM,aAAY,IAAI,CAAC,aAAa;;;;;;;kBAE3C,MAAM;;;;;;;CAEvB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import * as Node from './node';
2
+ /** Join parts with the primary separator. */
3
+ export declare const primaryKey: (...parts: string[]) => string;
4
+ /** Split a key on the primary separator. */
5
+ export declare const primaryParts: (key: string) => string[];
6
+ /** Join parts with the secondary separator. */
7
+ export declare const secondaryKey: (...parts: string[]) => string;
8
+ /** Split a key on the secondary separator. */
9
+ export declare const secondaryParts: (key: string) => string[];
10
+ /**
11
+ * Normalize a relation input to a full Relation object.
12
+ */
13
+ export declare const normalizeRelation: (relation?: Node.RelationInput) => Node.Relation;
14
+ /**
15
+ * Shallow-compare two values: same reference, or same own-keys with === values.
16
+ */
17
+ export declare const shallowEqual: (a: unknown, b: unknown) => boolean;
18
+ /**
19
+ * Returns true if two NodeArg arrays are semantically identical (same id, type, data, properties per index).
20
+ * Inline child nodes (the `nodes` field) are compared recursively.
21
+ */
22
+ export declare const nodeArgsUnchanged: (prev: Node.NodeArg<any>[], next: Node.NodeArg<any>[]) => boolean;
23
+ /**
24
+ * Build a qualified node ID by joining path segments.
25
+ */
26
+ export declare const qualifyId: (parentId: string, ...segmentIds: string[]) => string;
27
+ /**
28
+ * Validate that a segment ID does not contain the path separator.
29
+ */
30
+ export declare const validateSegmentId: (id: string) => void;
31
+ /**
32
+ * Extract the parent qualified ID (everything before the last path separator).
33
+ * Returns undefined for IDs with no parent (single segment).
34
+ */
35
+ export declare const getParentId: (qualifiedId: string) => string | undefined;
36
+ /**
37
+ * Extract the last segment of a qualified ID.
38
+ */
39
+ export declare const getSegmentId: (qualifiedId: string) => string;
40
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAW/B,6CAA6C;AAC7C,eAAO,MAAM,UAAU,aAAc,MAAM,EAAE,KAAG,MAA6B,CAAC;AAE9E,4CAA4C;AAC5C,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,MAAM,EAAwB,CAAC;AAE1E,+CAA+C;AAC/C,eAAO,MAAM,YAAY,aAAc,MAAM,EAAE,KAAG,MAA+B,CAAC;AAElF,8CAA8C;AAC9C,eAAO,MAAM,cAAc,QAAS,MAAM,KAAG,MAAM,EAA0B,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,iBAAiB,cAAe,IAAI,CAAC,aAAa,KAAG,IAAI,CAAC,QACsC,CAAC;AAE9G;;GAEG;AACH,eAAO,MAAM,YAAY,MAAO,OAAO,KAAK,OAAO,KAAG,OAarD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,SAAU,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAG,OAexF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,aAAc,MAAM,iBAAiB,MAAM,EAAE,KAAG,MAA8C,CAAC;AAErH;;GAEG;AACH,eAAO,MAAM,iBAAiB,OAAQ,MAAM,KAAG,IAE9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,gBAAiB,MAAM,KAAG,MAAM,GAAG,SAG1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,gBAAiB,MAAM,KAAG,MAElD,CAAC"}