@dxos/app-graph 0.8.4-main.69d29f4 → 0.8.4-main.6fa680abb7
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/dist/lib/browser/index.mjs +480 -198
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +480 -198
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/graph-builder.d.ts +11 -7
- package/dist/types/src/graph-builder.d.ts.map +1 -1
- package/dist/types/src/graph.d.ts +13 -17
- package/dist/types/src/graph.d.ts.map +1 -1
- package/dist/types/src/node-matcher.d.ts +4 -4
- package/dist/types/src/node-matcher.d.ts.map +1 -1
- package/dist/types/src/node.d.ts +15 -5
- package/dist/types/src/node.d.ts.map +1 -1
- package/dist/types/src/stories/EchoGraph.stories.d.ts.map +1 -1
- package/dist/types/src/util.d.ts +34 -0
- package/dist/types/src/util.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -25
- package/src/graph-builder.test.ts +444 -102
- package/src/graph-builder.ts +191 -72
- package/src/graph.test.ts +187 -52
- package/src/graph.ts +179 -98
- package/src/node-matcher.ts +8 -10
- package/src/node.ts +20 -5
- package/src/stories/EchoGraph.stories.tsx +86 -56
- package/src/stories/Tree.tsx +1 -1
- package/src/util.ts +71 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/atoms.ts":{"bytes":2433,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true}],"format":"esm"},"src/node.ts":{"bytes":
|
|
1
|
+
{"inputs":{"src/atoms.ts":{"bytes":2433,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true}],"format":"esm"},"src/node.ts":{"bytes":9423,"imports":[],"format":"esm"},"src/util.ts":{"bytes":8277,"imports":[{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/node.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"src/graph.ts":{"bytes":126760,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Pipeable","kind":"import-statement","external":true},{"path":"effect/Record","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/node.ts","kind":"import-statement","original":"./node"},{"path":"src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/node-matcher.ts":{"bytes":24097,"imports":[{"path":"effect/Option","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"src/node.ts","kind":"import-statement","original":"./node"}],"format":"esm"},"src/graph-builder.ts":{"bytes":85800,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Pipeable","kind":"import-statement","external":true},{"path":"effect/Record","kind":"import-statement","external":true},{"path":"main-thread-scheduling","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/graph.ts","kind":"import-statement","original":"./graph"},{"path":"src/node.ts","kind":"import-statement","original":"./node"},{"path":"src/node-matcher.ts","kind":"import-statement","original":"./node-matcher"},{"path":"src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/index.ts":{"bytes":1468,"imports":[{"path":"src/atoms.ts","kind":"import-statement","original":"./atoms"},{"path":"src/graph.ts","kind":"import-statement","original":"./graph"},{"path":"src/graph-builder.ts","kind":"import-statement","original":"./graph-builder"},{"path":"src/node.ts","kind":"import-statement","original":"./node"},{"path":"src/node-matcher.ts","kind":"import-statement","original":"./node-matcher"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":135667},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Pipeable","kind":"import-statement","external":true},{"path":"effect/Record","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/Array","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"effect/Pipeable","kind":"import-statement","external":true},{"path":"effect/Record","kind":"import-statement","external":true},{"path":"main-thread-scheduling","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"exports":["CreateAtom","Graph","GraphBuilder","Node","NodeMatcher"],"entryPoint":"src/index.ts","inputs":{"src/atoms.ts":{"bytesInOutput":481},"src/index.ts":{"bytesInOutput":0},"src/graph.ts":{"bytesInOutput":27679},"src/node.ts":{"bytesInOutput":1422},"src/util.ts":{"bytesInOutput":1424},"src/graph-builder.ts":{"bytesInOutput":18045},"src/node-matcher.ts":{"bytesInOutput":1682}},"bytes":51356}}}
|
|
@@ -28,7 +28,7 @@ export type ActionGroupsExtension = (node: Atom.Atom<Option.Option<Node.Node>>)
|
|
|
28
28
|
export type BuilderExtension = Readonly<{
|
|
29
29
|
id: string;
|
|
30
30
|
position: Position;
|
|
31
|
-
relation?: Node.
|
|
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
|
|
40
|
+
relation: Node.RelationInput | Node.RelationInput[];
|
|
41
41
|
};
|
|
42
42
|
/**
|
|
43
43
|
* Identifier denoting a GraphBuilder.
|
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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":"AAIA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
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
|
-
|
|
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
|
|
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
|
|
131
|
-
export declare function getConnections(id: string, relation
|
|
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
|
|
188
|
-
export declare function expand(id: string, relation
|
|
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.
|
|
193
|
-
export declare function sortEdges(id: string, relation: Node.
|
|
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":"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;
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -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.
|
|
54
|
+
* match: NodeMatcher.whenNodeType('org.dxos.plugin.space.settings'),
|
|
55
55
|
* connector: (node) => Effect.succeed([...]),
|
|
56
56
|
* });
|
|
57
57
|
* ```
|
|
@@ -82,7 +82,7 @@ export declare const whenNodeType: (type: string) => (node: Node.Node) => Option
|
|
|
82
82
|
*
|
|
83
83
|
* @see {@link whenEchoTypeMatches} - Use instead when composing with whenAll/whenAny.
|
|
84
84
|
*/
|
|
85
|
-
export declare const whenEchoType: <T extends Type.
|
|
85
|
+
export declare const whenEchoType: <T extends Type.AnyEntity>(type: T) => NodeMatcher<Entity.Entity<Schema.Schema.Type<T>>>;
|
|
86
86
|
/**
|
|
87
87
|
* Matches a node whose data is any ECHO object.
|
|
88
88
|
* Returns the **object data** (not the node) for direct use in callbacks.
|
|
@@ -99,7 +99,7 @@ export declare const whenEchoType: <T extends Type.Entity.Any>(type: T) => NodeM
|
|
|
99
99
|
* connector: (object) => {
|
|
100
100
|
* // `object` is typed as Obj.Unknown
|
|
101
101
|
* const id = Obj.getDXN(object).toString();
|
|
102
|
-
* return Effect.succeed([{ id: `${id}
|
|
102
|
+
* return Effect.succeed([{ id: `${id}.settings`, ... }]);
|
|
103
103
|
* },
|
|
104
104
|
* });
|
|
105
105
|
* ```
|
|
@@ -170,7 +170,7 @@ export declare const whenAny: (...matchers: NodeMatcher[]) => NodeMatcher;
|
|
|
170
170
|
*
|
|
171
171
|
* @see {@link whenEchoType} - Use instead when you need the typed entity directly.
|
|
172
172
|
*/
|
|
173
|
-
export declare const whenEchoTypeMatches: <T extends Type.
|
|
173
|
+
export declare const whenEchoTypeMatches: <T extends Type.AnyEntity>(type: T) => NodeMatcher;
|
|
174
174
|
/**
|
|
175
175
|
* Matches a node whose data is any ECHO object.
|
|
176
176
|
* Returns the **node** (not the data) to enable composition with whenAll/whenAny/whenNot.
|
|
@@ -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,
|
|
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,SAAS,EAAE,MAAM,CAAC,KAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAEX,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,WAQ7B,CAAC;AAEJ;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,OAAO,GACjB,GAAG,UAAU,WAAW,EAAE,KAAG,WAQ7B,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,mBAAmB,GAC7B,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAG,WAEgC,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"}
|
package/dist/types/src/node.d.ts
CHANGED
|
@@ -8,15 +8,15 @@ export declare const RootId = "root";
|
|
|
8
8
|
/**
|
|
9
9
|
* Root node type.
|
|
10
10
|
*/
|
|
11
|
-
export declare const RootType = "dxos.
|
|
11
|
+
export declare const RootType = "org.dxos.type.graph-root";
|
|
12
12
|
/**
|
|
13
13
|
* Action node type.
|
|
14
14
|
*/
|
|
15
|
-
export declare const ActionType = "dxos.
|
|
15
|
+
export declare const ActionType = "org.dxos.type.graph-action";
|
|
16
16
|
/**
|
|
17
17
|
* Action group node type.
|
|
18
18
|
*/
|
|
19
|
-
export declare const ActionGroupType = "dxos.
|
|
19
|
+
export declare const ActionGroupType = "org.dxos.type.graph-action-group";
|
|
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
|
|
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,
|
|
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
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/node.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,MAAM,SAAS,CAAC;AAE7B;;GAEG;AACH,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/node.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;;;
|
|
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;;;CAaM,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,KAmItB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as Node from './node';
|
|
2
|
+
/**
|
|
3
|
+
* Key separators for compound string keys used across the app-graph package.
|
|
4
|
+
* `primary` separates top-level components (e.g., node ID from relation).
|
|
5
|
+
* `secondary` separates sub-components within an encoded value (e.g., relation kind from direction).
|
|
6
|
+
* `path` separates segments in qualified node IDs (e.g., parent path from local segment).
|
|
7
|
+
* Two distinct characters are needed because secondary separators appear inside primary-separated fields.
|
|
8
|
+
*/
|
|
9
|
+
export declare const Separators: {
|
|
10
|
+
readonly primary: "\u0001";
|
|
11
|
+
readonly secondary: "\u0002";
|
|
12
|
+
readonly path: "/";
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Normalize a relation input to a full Relation object.
|
|
16
|
+
*/
|
|
17
|
+
export declare const normalizeRelation: (relation?: Node.RelationInput) => Node.Relation;
|
|
18
|
+
/**
|
|
19
|
+
* Shallow-compare two values: same reference, or same own-keys with === values.
|
|
20
|
+
*/
|
|
21
|
+
export declare const shallowEqual: (a: unknown, b: unknown) => boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Returns true if two NodeArg arrays are semantically identical (same id, type, data, properties per index).
|
|
24
|
+
*/
|
|
25
|
+
export declare const nodeArgsUnchanged: (prev: Node.NodeArg<any>[], next: Node.NodeArg<any>[]) => boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Build a qualified node ID by joining a parent path with a local segment.
|
|
28
|
+
*/
|
|
29
|
+
export declare const qualifyId: (parentId: string, segmentId: string) => string;
|
|
30
|
+
/**
|
|
31
|
+
* Validate that a segment ID does not contain the path separator.
|
|
32
|
+
*/
|
|
33
|
+
export declare const validateSegmentId: (id: string) => void;
|
|
34
|
+
//# 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;AAE/B;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,IAAI,CAAC,aAAa,KAAG,IAAI,CAAC,QACsC,CAAC;AAE9G;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,GAAG,OAAO,EAAE,GAAG,OAAO,KAAG,OASrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAG,OAcxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,WAAW,MAAM,KAAG,MAAqD,CAAC;AAEtH;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,KAAG,IAE9C,CAAC"}
|