@dxos/app-graph 0.8.4-main.a4bbb77 → 0.8.4-main.abd8ff62ef

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 (60) hide show
  1. package/dist/lib/browser/chunk-3T75MQOS.mjs +1480 -0
  2. package/dist/lib/browser/chunk-3T75MQOS.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +27 -842
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/testing/index.mjs +39 -0
  7. package/dist/lib/browser/testing/index.mjs.map +7 -0
  8. package/dist/lib/node-esm/chunk-UEXRLXMS.mjs +1481 -0
  9. package/dist/lib/node-esm/chunk-UEXRLXMS.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +27 -843
  11. package/dist/lib/node-esm/index.mjs.map +4 -4
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/lib/node-esm/testing/index.mjs +40 -0
  14. package/dist/lib/node-esm/testing/index.mjs.map +7 -0
  15. package/dist/types/src/atoms.d.ts +8 -0
  16. package/dist/types/src/atoms.d.ts.map +1 -0
  17. package/dist/types/src/graph-builder.d.ts +113 -67
  18. package/dist/types/src/graph-builder.d.ts.map +1 -1
  19. package/dist/types/src/graph.d.ts +188 -222
  20. package/dist/types/src/graph.d.ts.map +1 -1
  21. package/dist/types/src/index.d.ts +7 -3
  22. package/dist/types/src/index.d.ts.map +1 -1
  23. package/dist/types/src/node-matcher.d.ts +244 -0
  24. package/dist/types/src/node-matcher.d.ts.map +1 -0
  25. package/dist/types/src/node-matcher.test.d.ts +2 -0
  26. package/dist/types/src/node-matcher.test.d.ts.map +1 -0
  27. package/dist/types/src/node.d.ts +50 -5
  28. package/dist/types/src/node.d.ts.map +1 -1
  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 +42 -38
  38. package/src/atoms.ts +25 -0
  39. package/src/graph-builder.test.ts +1154 -144
  40. package/src/graph-builder.ts +737 -293
  41. package/src/graph.test.ts +451 -123
  42. package/src/graph.ts +1054 -403
  43. package/src/index.ts +10 -3
  44. package/src/node-matcher.test.ts +301 -0
  45. package/src/node-matcher.ts +314 -0
  46. package/src/node.ts +82 -8
  47. package/src/stories/EchoGraph.stories.tsx +164 -126
  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/types/src/experimental/graph-projections.test.d.ts +0 -25
  53. package/dist/types/src/experimental/graph-projections.test.d.ts.map +0 -1
  54. package/dist/types/src/signals-integration.test.d.ts +0 -2
  55. package/dist/types/src/signals-integration.test.d.ts.map +0 -1
  56. package/dist/types/src/testing.d.ts +0 -5
  57. package/dist/types/src/testing.d.ts.map +0 -1
  58. package/src/experimental/graph-projections.test.ts +0 -56
  59. package/src/signals-integration.test.ts +0 -218
  60. package/src/testing.ts +0 -20
package/package.json CHANGED
@@ -1,12 +1,16 @@
1
1
  {
2
2
  "name": "@dxos/app-graph",
3
- "version": "0.8.4-main.a4bbb77",
3
+ "version": "0.8.4-main.abd8ff62ef",
4
4
  "description": "Constructs knowledge graphs for the purpose of building applications on top of",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/dxos/dxos"
10
+ },
7
11
  "license": "MIT",
8
12
  "author": "DXOS.org",
9
- "sideEffects": true,
13
+ "sideEffects": false,
10
14
  "type": "module",
11
15
  "exports": {
12
16
  ".": {
@@ -14,55 +18,55 @@
14
18
  "types": "./dist/types/src/index.d.ts",
15
19
  "browser": "./dist/lib/browser/index.mjs",
16
20
  "node": "./dist/lib/node-esm/index.mjs"
21
+ },
22
+ "./testing": {
23
+ "source": "./src/testing/index.ts",
24
+ "types": "./dist/types/src/testing/index.d.ts",
25
+ "browser": "./dist/lib/browser/testing/index.mjs",
26
+ "node": "./dist/lib/node-esm/testing/index.mjs"
17
27
  }
18
28
  },
19
29
  "types": "dist/types/src/index.d.ts",
20
- "typesVersions": {
21
- "*": {}
22
- },
23
30
  "files": [
24
31
  "dist",
25
32
  "src"
26
33
  ],
27
34
  "dependencies": {
28
- "@preact/signals-core": "^1.12.1",
29
35
  "main-thread-scheduling": "^14.1.1",
30
- "@dxos/async": "0.8.4-main.a4bbb77",
31
- "@dxos/debug": "0.8.4-main.a4bbb77",
32
- "@dxos/echo": "0.8.4-main.a4bbb77",
33
- "@dxos/echo-signals": "0.8.4-main.a4bbb77",
34
- "@dxos/echo-schema": "0.8.4-main.a4bbb77",
35
- "@dxos/live-object": "0.8.4-main.a4bbb77",
36
- "@dxos/invariant": "0.8.4-main.a4bbb77",
37
- "@dxos/log": "0.8.4-main.a4bbb77",
38
- "@dxos/util": "0.8.4-main.a4bbb77"
36
+ "@dxos/async": "0.8.4-main.abd8ff62ef",
37
+ "@dxos/debug": "0.8.4-main.abd8ff62ef",
38
+ "@dxos/echo-atom": "0.8.4-main.abd8ff62ef",
39
+ "@dxos/echo": "0.8.4-main.abd8ff62ef",
40
+ "@dxos/log": "0.8.4-main.abd8ff62ef",
41
+ "@dxos/invariant": "0.8.4-main.abd8ff62ef",
42
+ "@dxos/util": "0.8.4-main.abd8ff62ef"
39
43
  },
40
44
  "devDependencies": {
41
- "@effect-rx/rx-react": "0.42.4",
42
- "@effect/platform": "0.92.1",
43
- "@types/react": "~19.2.0",
44
- "@types/react-dom": "~19.2.0",
45
- "effect": "3.18.3",
46
- "react": "~19.2.0",
47
- "react-dom": "~19.2.0",
48
- "vite": "7.1.9",
49
- "@dxos/echo-db": "0.8.4-main.a4bbb77",
50
- "@dxos/random": "0.8.4-main.a4bbb77",
51
- "@dxos/react-client": "0.8.4-main.a4bbb77",
52
- "@dxos/react-ui": "0.8.4-main.a4bbb77",
53
- "@dxos/react-ui-list": "0.8.4-main.a4bbb77",
54
- "@dxos/react-ui-tabs": "0.8.4-main.a4bbb77",
55
- "@dxos/react-ui-theme": "0.8.4-main.a4bbb77",
56
- "@dxos/storybook-utils": "0.8.4-main.a4bbb77"
45
+ "@effect-atom/atom-react": "^0.5.0",
46
+ "@effect/platform": "0.94.4",
47
+ "@types/react": "~19.2.7",
48
+ "@types/react-dom": "~19.2.3",
49
+ "effect": "3.20.0",
50
+ "react": "~19.2.3",
51
+ "react-dom": "~19.2.3",
52
+ "vite": "^8.0.10",
53
+ "@dxos/random": "0.8.4-main.abd8ff62ef",
54
+ "@dxos/echo-db": "0.8.4-main.abd8ff62ef",
55
+ "@dxos/react-client": "0.8.4-main.abd8ff62ef",
56
+ "@dxos/react-ui": "0.8.4-main.abd8ff62ef",
57
+ "@dxos/react-ui-list": "0.8.4-main.abd8ff62ef",
58
+ "@dxos/ui-theme": "0.8.4-main.abd8ff62ef",
59
+ "@dxos/storybook-utils": "0.8.4-main.abd8ff62ef",
60
+ "@dxos/react-ui-tabs": "0.8.4-main.abd8ff62ef"
57
61
  },
58
62
  "peerDependencies": {
59
- "@effect-rx/rx-react": "^0.34.1",
60
- "@effect/platform": "^0.80.12",
61
- "effect": "3.14.21",
62
- "react": "^19.0.0",
63
- "react-dom": "^19.0.0",
64
- "@dxos/react-ui": "0.8.4-main.a4bbb77",
65
- "@dxos/react-ui-theme": "0.8.4-main.a4bbb77"
63
+ "@effect-atom/atom-react": "^0.5.0",
64
+ "@effect/platform": "0.94.4",
65
+ "effect": "3.20.0",
66
+ "react": "~19.2.3",
67
+ "react-dom": "~19.2.3",
68
+ "@dxos/react-ui": "0.8.4-main.abd8ff62ef",
69
+ "@dxos/ui-theme": "0.8.4-main.abd8ff62ef"
66
70
  },
67
71
  "publishConfig": {
68
72
  "access": "public"
package/src/atoms.ts ADDED
@@ -0,0 +1,25 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Atom } from '@effect-atom/atom-react';
6
+
7
+ import { type MulticastObservable } from '@dxos/async';
8
+
9
+ const observableFamily = Atom.family((observable: MulticastObservable<any>) => {
10
+ return Atom.make((get) => {
11
+ const subscription = observable.subscribe((value) => get.setSelf(value));
12
+
13
+ get.addFinalizer(() => subscription.unsubscribe());
14
+
15
+ return observable.get();
16
+ });
17
+ });
18
+
19
+ /**
20
+ * Creates an Atom.Atom<T> from a MulticastObservable<T>
21
+ * Will return the same atom instance for the same observable.
22
+ */
23
+ export const fromObservable = <T>(observable: MulticastObservable<T>): Atom.Atom<T> => {
24
+ return observableFamily(observable) as Atom.Atom<T>;
25
+ };