@dxos/app-graph 0.8.4-main.dedc0f3 → 0.8.4-main.e00bdcdb52

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 (61) hide show
  1. package/dist/lib/browser/chunk-ZPU7IO6U.mjs +1469 -0
  2. package/dist/lib/browser/chunk-ZPU7IO6U.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-2WLCW7IW.mjs +1470 -0
  9. package/dist/lib/node-esm/chunk-2WLCW7IW.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 +0 -1
  30. package/dist/types/src/stories/EchoGraph.stories.d.ts.map +1 -1
  31. package/dist/types/src/testing/index.d.ts +2 -0
  32. package/dist/types/src/testing/index.d.ts.map +1 -0
  33. package/dist/types/src/testing/setup-graph-builder.d.ts +31 -0
  34. package/dist/types/src/testing/setup-graph-builder.d.ts.map +1 -0
  35. package/dist/types/src/util.d.ts +39 -0
  36. package/dist/types/src/util.d.ts.map +1 -0
  37. package/dist/types/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +42 -38
  39. package/src/atoms.ts +25 -0
  40. package/src/graph-builder.test.ts +1028 -144
  41. package/src/graph-builder.ts +719 -293
  42. package/src/graph.test.ts +451 -123
  43. package/src/graph.ts +1054 -403
  44. package/src/index.ts +10 -3
  45. package/src/node-matcher.test.ts +301 -0
  46. package/src/node-matcher.ts +314 -0
  47. package/src/node.ts +82 -8
  48. package/src/stories/EchoGraph.stories.tsx +167 -131
  49. package/src/stories/Tree.tsx +1 -1
  50. package/src/testing/index.ts +5 -0
  51. package/src/testing/setup-graph-builder.ts +41 -0
  52. package/src/util.ts +99 -0
  53. package/dist/types/src/experimental/graph-projections.test.d.ts +0 -25
  54. package/dist/types/src/experimental/graph-projections.test.d.ts.map +0 -1
  55. package/dist/types/src/signals-integration.test.d.ts +0 -2
  56. package/dist/types/src/signals-integration.test.d.ts.map +0 -1
  57. package/dist/types/src/testing.d.ts +0 -5
  58. package/dist/types/src/testing.d.ts.map +0 -1
  59. package/src/experimental/graph-projections.test.ts +0 -56
  60. package/src/signals-integration.test.ts +0 -218
  61. 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.dedc0f3",
3
+ "version": "0.8.4-main.e00bdcdb52",
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.9.0",
29
35
  "main-thread-scheduling": "^14.1.1",
30
- "@dxos/async": "0.8.4-main.dedc0f3",
31
- "@dxos/debug": "0.8.4-main.dedc0f3",
32
- "@dxos/echo": "0.8.4-main.dedc0f3",
33
- "@dxos/echo-schema": "0.8.4-main.dedc0f3",
34
- "@dxos/echo-signals": "0.8.4-main.dedc0f3",
35
- "@dxos/invariant": "0.8.4-main.dedc0f3",
36
- "@dxos/live-object": "0.8.4-main.dedc0f3",
37
- "@dxos/log": "0.8.4-main.dedc0f3",
38
- "@dxos/util": "0.8.4-main.dedc0f3"
36
+ "@dxos/debug": "0.8.4-main.e00bdcdb52",
37
+ "@dxos/async": "0.8.4-main.e00bdcdb52",
38
+ "@dxos/echo": "0.8.4-main.e00bdcdb52",
39
+ "@dxos/invariant": "0.8.4-main.e00bdcdb52",
40
+ "@dxos/echo-atom": "0.8.4-main.e00bdcdb52",
41
+ "@dxos/util": "0.8.4-main.e00bdcdb52",
42
+ "@dxos/log": "0.8.4-main.e00bdcdb52"
39
43
  },
40
44
  "devDependencies": {
41
- "@effect-rx/rx-react": "0.38.0",
42
- "@effect/platform": "0.90.2",
43
- "@types/react": "~18.2.0",
44
- "@types/react-dom": "~18.2.0",
45
- "effect": "3.17.7",
46
- "react": "~18.2.0",
47
- "react-dom": "~18.2.0",
48
- "vite": "7.1.1",
49
- "@dxos/echo-db": "0.8.4-main.dedc0f3",
50
- "@dxos/random": "0.8.4-main.dedc0f3",
51
- "@dxos/react-client": "0.8.4-main.dedc0f3",
52
- "@dxos/react-ui": "0.8.4-main.dedc0f3",
53
- "@dxos/react-ui-list": "0.8.4-main.dedc0f3",
54
- "@dxos/react-ui-tabs": "0.8.4-main.dedc0f3",
55
- "@dxos/react-ui-theme": "0.8.4-main.dedc0f3",
56
- "@dxos/storybook-utils": "0.8.4-main.dedc0f3"
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/echo-db": "0.8.4-main.e00bdcdb52",
54
+ "@dxos/random": "0.8.4-main.e00bdcdb52",
55
+ "@dxos/react-ui": "0.8.4-main.e00bdcdb52",
56
+ "@dxos/react-client": "0.8.4-main.e00bdcdb52",
57
+ "@dxos/react-ui-list": "0.8.4-main.e00bdcdb52",
58
+ "@dxos/react-ui-tabs": "0.8.4-main.e00bdcdb52",
59
+ "@dxos/ui-theme": "0.8.4-main.e00bdcdb52",
60
+ "@dxos/storybook-utils": "0.8.4-main.e00bdcdb52"
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": "~18.2.0",
63
- "react-dom": "~18.2.0",
64
- "@dxos/react-ui": "0.8.4-main.dedc0f3",
65
- "@dxos/react-ui-theme": "0.8.4-main.dedc0f3"
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/ui-theme": "0.8.4-main.e00bdcdb52",
69
+ "@dxos/react-ui": "0.8.4-main.e00bdcdb52"
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
+ };