@symbo.ls/sdk 3.1.2 → 3.2.3

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 (65) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/config/environment.js +5 -21
  3. package/dist/cjs/index.js +6 -26
  4. package/dist/cjs/services/AIService.js +3 -3
  5. package/dist/cjs/services/CollabService.js +420 -0
  6. package/dist/cjs/services/CoreService.js +651 -107
  7. package/dist/cjs/services/SocketService.js +207 -59
  8. package/dist/cjs/services/index.js +5 -13
  9. package/dist/cjs/state/RootStateManager.js +86 -0
  10. package/dist/cjs/state/rootEventBus.js +65 -0
  11. package/dist/cjs/utils/CollabClient.js +157 -0
  12. package/dist/cjs/utils/TokenManager.js +62 -27
  13. package/dist/cjs/utils/jsonDiff.js +103 -0
  14. package/dist/cjs/utils/services.js +129 -88
  15. package/dist/cjs/utils/symstoryClient.js +5 -5
  16. package/dist/esm/config/environment.js +5 -21
  17. package/dist/esm/index.js +20459 -9286
  18. package/dist/esm/services/AIService.js +3 -3
  19. package/dist/esm/services/BasedService.js +5 -21
  20. package/dist/esm/services/CollabService.js +18028 -0
  21. package/dist/esm/services/CoreService.js +718 -155
  22. package/dist/esm/services/SocketService.js +323 -58
  23. package/dist/esm/services/SymstoryService.js +10 -26
  24. package/dist/esm/services/index.js +20305 -9158
  25. package/dist/esm/state/RootStateManager.js +102 -0
  26. package/dist/esm/state/rootEventBus.js +47 -0
  27. package/dist/esm/utils/CollabClient.js +17483 -0
  28. package/dist/esm/utils/TokenManager.js +62 -27
  29. package/dist/esm/utils/jsonDiff.js +6096 -0
  30. package/dist/esm/utils/services.js +129 -88
  31. package/dist/esm/utils/symstoryClient.js +10 -26
  32. package/dist/node/config/environment.js +5 -21
  33. package/dist/node/index.js +10 -34
  34. package/dist/node/services/AIService.js +3 -3
  35. package/dist/node/services/CollabService.js +401 -0
  36. package/dist/node/services/CoreService.js +651 -107
  37. package/dist/node/services/SocketService.js +197 -59
  38. package/dist/node/services/index.js +5 -13
  39. package/dist/node/state/RootStateManager.js +57 -0
  40. package/dist/node/state/rootEventBus.js +46 -0
  41. package/dist/node/utils/CollabClient.js +128 -0
  42. package/dist/node/utils/TokenManager.js +62 -27
  43. package/dist/node/utils/jsonDiff.js +74 -0
  44. package/dist/node/utils/services.js +129 -88
  45. package/dist/node/utils/symstoryClient.js +5 -5
  46. package/package.json +12 -6
  47. package/src/config/environment.js +5 -19
  48. package/src/index.js +9 -31
  49. package/src/services/AIService.js +3 -3
  50. package/src/services/BasedService.js +1 -0
  51. package/src/services/CollabService.js +491 -0
  52. package/src/services/CoreService.js +715 -110
  53. package/src/services/SocketService.js +227 -59
  54. package/src/services/index.js +6 -13
  55. package/src/state/RootStateManager.js +71 -0
  56. package/src/state/rootEventBus.js +48 -0
  57. package/src/utils/CollabClient.js +161 -0
  58. package/src/utils/TokenManager.js +68 -30
  59. package/src/utils/jsonDiff.js +109 -0
  60. package/src/utils/services.js +140 -88
  61. package/src/utils/symstoryClient.js +5 -5
  62. package/dist/cjs/services/SocketIOService.js +0 -307
  63. package/dist/esm/services/SocketIOService.js +0 -470
  64. package/dist/node/services/SocketIOService.js +0 -278
  65. package/src/services/SocketIOService.js +0 -334
@@ -0,0 +1,102 @@
1
+ // src/state/RootStateManager.js
2
+ import * as utils from "@domql/utils";
3
+
4
+ // src/state/rootEventBus.js
5
+ var getGlobalBus = () => {
6
+ if (globalThis.__SMBLS_ROOT_BUS__) {
7
+ return globalThis.__SMBLS_ROOT_BUS__;
8
+ }
9
+ const events = {};
10
+ const bus = {
11
+ on(event, handler) {
12
+ (events[event] || (events[event] = [])).push(handler);
13
+ },
14
+ off(event, handler) {
15
+ const list = events[event];
16
+ if (!list) {
17
+ return;
18
+ }
19
+ const idx = list.indexOf(handler);
20
+ if (idx !== -1) {
21
+ list.splice(idx, 1);
22
+ }
23
+ },
24
+ emit(event, payload) {
25
+ const list = events[event];
26
+ if (!list || !list.length) {
27
+ return;
28
+ }
29
+ list.slice().forEach((fn) => {
30
+ try {
31
+ fn(payload);
32
+ } catch (err) {
33
+ console.error("[rootBus] handler error for", event, err);
34
+ }
35
+ });
36
+ }
37
+ };
38
+ Object.defineProperty(bus, "_listeners", {
39
+ value: events,
40
+ enumerable: false
41
+ });
42
+ globalThis.__SMBLS_ROOT_BUS__ = bus;
43
+ return bus;
44
+ };
45
+ var rootBus = getGlobalBus();
46
+
47
+ // src/state/RootStateManager.js
48
+ var { isFunction } = utils.default || utils;
49
+ var RootStateManager = class {
50
+ constructor(rootState) {
51
+ this._rootState = rootState;
52
+ }
53
+ /**
54
+ * Apply change tuples to the root state using the built-in setPathCollection
55
+ * of Symbo.ls APP state tree.
56
+ *
57
+ * @param {Array} changes – eg. ['update', ['foo'], 'bar']
58
+ * @param {Object} opts – forwarded to setPathCollection
59
+ */
60
+ applyChanges(changes = [], opts = {}) {
61
+ if (!this._rootState || !isFunction(this._rootState.setPathCollection)) {
62
+ return;
63
+ }
64
+ const result = this._rootState.setPathCollection(changes, {
65
+ preventUpdate: true,
66
+ ...opts
67
+ });
68
+ try {
69
+ const changedKeys = /* @__PURE__ */ new Set();
70
+ changes.forEach((tuple) => {
71
+ const [, path = []] = tuple;
72
+ if (!Array.isArray(path) || !path.length) {
73
+ return;
74
+ }
75
+ if (path[0] === "components" && typeof path[1] === "string") {
76
+ changedKeys.add(path[1]);
77
+ }
78
+ if (path[0] === "schema" && path[1] === "components" && typeof path[2] === "string") {
79
+ changedKeys.add(path[2]);
80
+ }
81
+ });
82
+ if (changedKeys.size) {
83
+ console.log("emit components:changed", [...changedKeys]);
84
+ rootBus.emit("components:changed", [...changedKeys]);
85
+ }
86
+ } catch (err) {
87
+ console.error("[RootStateManager] emit components:changed failed", err);
88
+ }
89
+ return result;
90
+ }
91
+ setVersion(v) {
92
+ if (this._rootState) {
93
+ this._rootState.version = v;
94
+ }
95
+ }
96
+ get root() {
97
+ return this._rootState;
98
+ }
99
+ };
100
+ export {
101
+ RootStateManager
102
+ };
@@ -0,0 +1,47 @@
1
+ // src/state/rootEventBus.js
2
+ var getGlobalBus = () => {
3
+ if (globalThis.__SMBLS_ROOT_BUS__) {
4
+ return globalThis.__SMBLS_ROOT_BUS__;
5
+ }
6
+ const events = {};
7
+ const bus = {
8
+ on(event, handler) {
9
+ (events[event] || (events[event] = [])).push(handler);
10
+ },
11
+ off(event, handler) {
12
+ const list = events[event];
13
+ if (!list) {
14
+ return;
15
+ }
16
+ const idx = list.indexOf(handler);
17
+ if (idx !== -1) {
18
+ list.splice(idx, 1);
19
+ }
20
+ },
21
+ emit(event, payload) {
22
+ const list = events[event];
23
+ if (!list || !list.length) {
24
+ return;
25
+ }
26
+ list.slice().forEach((fn) => {
27
+ try {
28
+ fn(payload);
29
+ } catch (err) {
30
+ console.error("[rootBus] handler error for", event, err);
31
+ }
32
+ });
33
+ }
34
+ };
35
+ Object.defineProperty(bus, "_listeners", {
36
+ value: events,
37
+ enumerable: false
38
+ });
39
+ globalThis.__SMBLS_ROOT_BUS__ = bus;
40
+ return bus;
41
+ };
42
+ var rootBus = getGlobalBus();
43
+ var rootEventBus_default = rootBus;
44
+ export {
45
+ rootEventBus_default as default,
46
+ rootBus
47
+ };