@allternit/ix 0.1.0

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 (170) hide show
  1. package/README.md +320 -0
  2. package/dist/adapters/json-render.d.ts +211 -0
  3. package/dist/adapters/json-render.d.ts.bak +211 -0
  4. package/dist/adapters/json-render.d.ts.map +1 -0
  5. package/dist/adapters/json-render.js +576 -0
  6. package/dist/adapters/json-render.js.bak +576 -0
  7. package/dist/adapters/json-render.js.map +1 -0
  8. package/dist/catalog/registry.d.ts +65 -0
  9. package/dist/catalog/registry.d.ts.bak +65 -0
  10. package/dist/catalog/registry.d.ts.map +1 -0
  11. package/dist/catalog/registry.js +388 -0
  12. package/dist/catalog/registry.js.bak +388 -0
  13. package/dist/catalog/registry.js.map +1 -0
  14. package/dist/collab/capsule-registry.d.ts +114 -0
  15. package/dist/collab/capsule-registry.d.ts.bak +114 -0
  16. package/dist/collab/capsule-registry.d.ts.map +1 -0
  17. package/dist/collab/capsule-registry.js +271 -0
  18. package/dist/collab/capsule-registry.js.bak +271 -0
  19. package/dist/collab/capsule-registry.js.map +1 -0
  20. package/dist/collab/index.d.ts +21 -0
  21. package/dist/collab/index.d.ts.bak +21 -0
  22. package/dist/collab/index.d.ts.map +1 -0
  23. package/dist/collab/index.js +32 -0
  24. package/dist/collab/index.js.bak +32 -0
  25. package/dist/collab/index.js.map +1 -0
  26. package/dist/collab/visual-editor.d.ts +199 -0
  27. package/dist/collab/visual-editor.d.ts.bak +199 -0
  28. package/dist/collab/visual-editor.d.ts.map +1 -0
  29. package/dist/collab/visual-editor.js +259 -0
  30. package/dist/collab/visual-editor.js.bak +259 -0
  31. package/dist/collab/visual-editor.js.map +1 -0
  32. package/dist/collab/yjs-adapter.d.ts +95 -0
  33. package/dist/collab/yjs-adapter.d.ts.bak +95 -0
  34. package/dist/collab/yjs-adapter.d.ts.map +1 -0
  35. package/dist/collab/yjs-adapter.js +282 -0
  36. package/dist/collab/yjs-adapter.js.bak +282 -0
  37. package/dist/collab/yjs-adapter.js.map +1 -0
  38. package/dist/collab/yjs-client.d.ts +101 -0
  39. package/dist/collab/yjs-client.d.ts.bak +101 -0
  40. package/dist/collab/yjs-client.d.ts.map +1 -0
  41. package/dist/collab/yjs-client.js +193 -0
  42. package/dist/collab/yjs-client.js.bak +193 -0
  43. package/dist/collab/yjs-client.js.map +1 -0
  44. package/dist/collab/yjs-protocols.d.ts +128 -0
  45. package/dist/collab/yjs-protocols.d.ts.bak +128 -0
  46. package/dist/collab/yjs-protocols.d.ts.map +1 -0
  47. package/dist/collab/yjs-protocols.js +245 -0
  48. package/dist/collab/yjs-protocols.js.bak +245 -0
  49. package/dist/collab/yjs-protocols.js.map +1 -0
  50. package/dist/collab/yjs-types.d.ts +201 -0
  51. package/dist/collab/yjs-types.d.ts.bak +201 -0
  52. package/dist/collab/yjs-types.d.ts.map +1 -0
  53. package/dist/collab/yjs-types.js +45 -0
  54. package/dist/collab/yjs-types.js.bak +45 -0
  55. package/dist/collab/yjs-types.js.map +1 -0
  56. package/dist/index.d.ts +38 -0
  57. package/dist/index.d.ts.bak +38 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +48 -0
  60. package/dist/index.js.bak +48 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/pipeline/llm-to-ix.d.ts +249 -0
  63. package/dist/pipeline/llm-to-ix.d.ts.bak +249 -0
  64. package/dist/pipeline/llm-to-ix.d.ts.map +1 -0
  65. package/dist/pipeline/llm-to-ix.js +992 -0
  66. package/dist/pipeline/llm-to-ix.js.bak +992 -0
  67. package/dist/pipeline/llm-to-ix.js.map +1 -0
  68. package/dist/react/index.d.ts +18 -0
  69. package/dist/react/index.d.ts.bak +18 -0
  70. package/dist/react/index.d.ts.map +1 -0
  71. package/dist/react/index.js +18 -0
  72. package/dist/react/index.js.bak +18 -0
  73. package/dist/react/index.js.map +1 -0
  74. package/dist/react/renderer.d.ts +47 -0
  75. package/dist/react/renderer.d.ts.bak +47 -0
  76. package/dist/react/renderer.d.ts.map +1 -0
  77. package/dist/react/renderer.js +420 -0
  78. package/dist/react/renderer.js.bak +420 -0
  79. package/dist/react/renderer.js.map +1 -0
  80. package/dist/renderer/renderer.d.ts +55 -0
  81. package/dist/renderer/renderer.d.ts.bak +55 -0
  82. package/dist/renderer/renderer.d.ts.map +1 -0
  83. package/dist/renderer/renderer.js +232 -0
  84. package/dist/renderer/renderer.js.bak +232 -0
  85. package/dist/renderer/renderer.js.map +1 -0
  86. package/dist/runtime/capsule-runtime.d.ts +227 -0
  87. package/dist/runtime/capsule-runtime.d.ts.bak +227 -0
  88. package/dist/runtime/capsule-runtime.d.ts.map +1 -0
  89. package/dist/runtime/capsule-runtime.js +563 -0
  90. package/dist/runtime/capsule-runtime.js.bak +563 -0
  91. package/dist/runtime/capsule-runtime.js.map +1 -0
  92. package/dist/runtime/policy-gates.d.ts +116 -0
  93. package/dist/runtime/policy-gates.d.ts.bak +116 -0
  94. package/dist/runtime/policy-gates.d.ts.map +1 -0
  95. package/dist/runtime/policy-gates.js +317 -0
  96. package/dist/runtime/policy-gates.js.bak +317 -0
  97. package/dist/runtime/policy-gates.js.map +1 -0
  98. package/dist/schema/ui-ir.d.ts +26 -0
  99. package/dist/schema/ui-ir.d.ts.bak +26 -0
  100. package/dist/schema/ui-ir.d.ts.map +1 -0
  101. package/dist/schema/ui-ir.js +51 -0
  102. package/dist/schema/ui-ir.js.bak +51 -0
  103. package/dist/schema/ui-ir.js.map +1 -0
  104. package/dist/sdk/api.d.ts +101 -0
  105. package/dist/sdk/api.d.ts.bak +101 -0
  106. package/dist/sdk/api.d.ts.map +1 -0
  107. package/dist/sdk/api.js +177 -0
  108. package/dist/sdk/api.js.bak +177 -0
  109. package/dist/sdk/api.js.map +1 -0
  110. package/dist/sdk/index.d.ts +9 -0
  111. package/dist/sdk/index.d.ts.bak +9 -0
  112. package/dist/sdk/index.d.ts.map +1 -0
  113. package/dist/sdk/index.js +10 -0
  114. package/dist/sdk/index.js.bak +10 -0
  115. package/dist/sdk/index.js.map +1 -0
  116. package/dist/sdk/react.d.ts +63 -0
  117. package/dist/sdk/react.d.ts.bak +63 -0
  118. package/dist/sdk/react.d.ts.map +1 -0
  119. package/dist/sdk/react.js +161 -0
  120. package/dist/sdk/react.js.bak +161 -0
  121. package/dist/sdk/react.js.map +1 -0
  122. package/dist/state/index.d.ts +8 -0
  123. package/dist/state/index.d.ts.bak +8 -0
  124. package/dist/state/index.d.ts.map +1 -0
  125. package/dist/state/index.js +8 -0
  126. package/dist/state/index.js.bak +8 -0
  127. package/dist/state/index.js.map +1 -0
  128. package/dist/state/patch.d.ts +73 -0
  129. package/dist/state/patch.d.ts.bak +73 -0
  130. package/dist/state/patch.d.ts.map +1 -0
  131. package/dist/state/patch.js +437 -0
  132. package/dist/state/patch.js.bak +437 -0
  133. package/dist/state/patch.js.map +1 -0
  134. package/dist/state/store.d.ts +50 -0
  135. package/dist/state/store.d.ts.bak +50 -0
  136. package/dist/state/store.d.ts.map +1 -0
  137. package/dist/state/store.js +246 -0
  138. package/dist/state/store.js.bak +246 -0
  139. package/dist/state/store.js.map +1 -0
  140. package/dist/svelte/index.d.ts +15 -0
  141. package/dist/svelte/index.d.ts.bak +15 -0
  142. package/dist/svelte/index.d.ts.map +1 -0
  143. package/dist/svelte/index.js +15 -0
  144. package/dist/svelte/index.js.bak +15 -0
  145. package/dist/svelte/index.js.map +1 -0
  146. package/dist/svelte/renderer.d.ts +35 -0
  147. package/dist/svelte/renderer.d.ts.bak +35 -0
  148. package/dist/svelte/renderer.d.ts.map +1 -0
  149. package/dist/svelte/renderer.js +317 -0
  150. package/dist/svelte/renderer.js.bak +317 -0
  151. package/dist/svelte/renderer.js.map +1 -0
  152. package/dist/types/index.d.ts +349 -0
  153. package/dist/types/index.d.ts.bak +349 -0
  154. package/dist/types/index.d.ts.map +1 -0
  155. package/dist/types/index.js +152 -0
  156. package/dist/types/index.js.bak +152 -0
  157. package/dist/types/index.js.map +1 -0
  158. package/dist/vue/index.d.ts +18 -0
  159. package/dist/vue/index.d.ts.bak +18 -0
  160. package/dist/vue/index.d.ts.map +1 -0
  161. package/dist/vue/index.js +18 -0
  162. package/dist/vue/index.js.bak +18 -0
  163. package/dist/vue/index.js.map +1 -0
  164. package/dist/vue/renderer.d.ts +46 -0
  165. package/dist/vue/renderer.d.ts.bak +46 -0
  166. package/dist/vue/renderer.d.ts.map +1 -0
  167. package/dist/vue/renderer.js +302 -0
  168. package/dist/vue/renderer.js.bak +302 -0
  169. package/dist/vue/renderer.js.map +1 -0
  170. package/package.json +72 -0
@@ -0,0 +1,282 @@
1
+ /**
2
+ * Yjs/CRDT Adapter for A2R-IX
3
+ *
4
+ * Real-time collaborative state synchronization using Yjs.
5
+ */
6
+ /**
7
+ * Create Yjs adapter for collaborative state
8
+ */
9
+ export function createYjsAdapter(config) {
10
+ const { doc, provider, mapName = 'a2r-ix-state' } = config;
11
+ const ymap = doc.getMap(mapName);
12
+ // Local state store wrapper
13
+ let localState = {};
14
+ const subscribers = new Map();
15
+ const syncStatusSubscribers = new Set();
16
+ const awarenessSubscribers = new Set();
17
+ let syncStatus = 'syncing';
18
+ const awarenessMap = new Map();
19
+ const clientId = 0;
20
+ /**
21
+ * Initialize from Yjs map
22
+ */
23
+ function initialize() {
24
+ // Load initial state
25
+ localState = { ...ymap.toJSON() };
26
+ // Observe Yjs changes
27
+ ymap.observe((event) => {
28
+ doc.transact(() => {
29
+ event.changes.keys.forEach((change, key) => {
30
+ const newValue = ymap.get(key);
31
+ if (change.action === 'delete') {
32
+ delete localState[key];
33
+ }
34
+ else {
35
+ localState[key] = newValue;
36
+ }
37
+ // Notify local subscribers
38
+ notifySubscribers(key, newValue);
39
+ });
40
+ });
41
+ });
42
+ // Set up provider sync status
43
+ if (provider) {
44
+ provider.on('sync', () => {
45
+ updateSyncStatus('synced');
46
+ });
47
+ provider.on('disconnect', () => {
48
+ updateSyncStatus('disconnected');
49
+ });
50
+ provider.on('connect', () => {
51
+ updateSyncStatus('syncing');
52
+ });
53
+ }
54
+ }
55
+ /**
56
+ * Update sync status
57
+ */
58
+ function updateSyncStatus(status) {
59
+ syncStatus = status;
60
+ syncStatusSubscribers.forEach((cb) => cb(status));
61
+ }
62
+ /**
63
+ * Notify subscribers
64
+ */
65
+ function notifySubscribers(path, value) {
66
+ const pathSubscribers = subscribers.get(path);
67
+ if (pathSubscribers) {
68
+ pathSubscribers.forEach((cb) => cb(value));
69
+ }
70
+ // Notify parent path subscribers
71
+ const parts = path.split('.');
72
+ while (parts.length > 1) {
73
+ parts.pop();
74
+ const parentPath = parts.join('.');
75
+ const parentSubscribers = subscribers.get(parentPath);
76
+ if (parentSubscribers) {
77
+ const parentValue = getValue(parentPath);
78
+ parentSubscribers.forEach((cb) => cb(parentValue));
79
+ }
80
+ }
81
+ }
82
+ /**
83
+ * Get value at path
84
+ */
85
+ function getValue(path) {
86
+ const parts = path.split('.');
87
+ let current = localState;
88
+ for (const part of parts) {
89
+ if (current && typeof current === 'object') {
90
+ current = current[part];
91
+ }
92
+ else {
93
+ return undefined;
94
+ }
95
+ }
96
+ return current;
97
+ }
98
+ /**
99
+ * Set value at path
100
+ */
101
+ function setValue(path, value) {
102
+ const parts = path.split('.');
103
+ doc.transact(() => {
104
+ if (parts.length === 1) {
105
+ if (value === undefined) {
106
+ ymap.delete(path);
107
+ delete localState[path];
108
+ }
109
+ else {
110
+ ymap.set(path, value);
111
+ localState[path] = value;
112
+ }
113
+ }
114
+ else {
115
+ // Handle nested paths
116
+ const rootKey = parts[0];
117
+ let root = ymap.get(rootKey) || {};
118
+ // Clone to avoid modifying shared Yjs object directly
119
+ root = { ...root };
120
+ let current = root;
121
+ for (let i = 1; i < parts.length - 1; i++) {
122
+ const part = parts[i];
123
+ if (!current[part] || typeof current[part] !== 'object') {
124
+ current[part] = {};
125
+ }
126
+ current = current[part];
127
+ }
128
+ if (value === undefined) {
129
+ delete current[parts[parts.length - 1]];
130
+ }
131
+ else {
132
+ current[parts[parts.length - 1]] = value;
133
+ }
134
+ ymap.set(rootKey, root);
135
+ localState[rootKey] = root;
136
+ }
137
+ });
138
+ notifySubscribers(path, value);
139
+ }
140
+ /**
141
+ * Apply JSON Patch
142
+ */
143
+ function applyPatch(patch) {
144
+ doc.transact(() => {
145
+ patch.forEach((op) => {
146
+ const path = op.path.slice(1).replace(/\//g, '.');
147
+ switch (op.op) {
148
+ case 'add':
149
+ case 'replace':
150
+ setValue(path, op.value);
151
+ break;
152
+ case 'remove':
153
+ setValue(path, undefined);
154
+ break;
155
+ }
156
+ });
157
+ });
158
+ }
159
+ /**
160
+ * Create state store interface
161
+ */
162
+ function getStore() {
163
+ return {
164
+ get: (path) => getValue(path),
165
+ set: (path, value) => setValue(path, value),
166
+ subscribe: (path, callback) => {
167
+ if (!subscribers.has(path)) {
168
+ subscribers.set(path, new Set());
169
+ }
170
+ subscribers.get(path).add(callback);
171
+ return () => {
172
+ subscribers.get(path)?.delete(callback);
173
+ };
174
+ },
175
+ batch: (updates) => {
176
+ doc.transact(() => {
177
+ Object.entries(updates).forEach(([path, value]) => {
178
+ setValue(path, value);
179
+ });
180
+ });
181
+ },
182
+ snapshot: () => ({ ...localState }),
183
+ restore: (snapshot) => {
184
+ doc.transact(() => {
185
+ Object.entries(snapshot).forEach(([key, value]) => {
186
+ ymap.set(key, value);
187
+ localState[key] = value;
188
+ });
189
+ });
190
+ },
191
+ reset: () => {
192
+ doc.transact(() => {
193
+ Object.keys(ymap.toJSON()).forEach((key) => {
194
+ ymap.delete(key);
195
+ });
196
+ localState = {};
197
+ });
198
+ },
199
+ compute: () => { },
200
+ bind: () => { },
201
+ getBindings: () => [],
202
+ };
203
+ }
204
+ /**
205
+ * Get awareness state
206
+ */
207
+ function getAwareness() {
208
+ return new Map(awarenessMap);
209
+ }
210
+ /**
211
+ * Set awareness state
212
+ */
213
+ function setAwareness(state) {
214
+ const current = awarenessMap.get(clientId) || {};
215
+ awarenessMap.set(clientId, { ...current, ...state });
216
+ // Broadcast to others (would use y-protocols in production)
217
+ awarenessSubscribers.forEach((cb) => cb(new Map(awarenessMap)));
218
+ }
219
+ /**
220
+ * Subscribe to awareness changes
221
+ */
222
+ function subscribeAwareness(callback) {
223
+ awarenessSubscribers.add(callback);
224
+ return () => awarenessSubscribers.delete(callback);
225
+ }
226
+ /**
227
+ * Get sync status
228
+ */
229
+ function getSyncStatus() {
230
+ return syncStatus;
231
+ }
232
+ /**
233
+ * Subscribe to sync status
234
+ */
235
+ function subscribeSyncStatus(callback) {
236
+ syncStatusSubscribers.add(callback);
237
+ return () => syncStatusSubscribers.delete(callback);
238
+ }
239
+ /**
240
+ * Destroy adapter
241
+ */
242
+ function destroy() {
243
+ subscribers.clear();
244
+ syncStatusSubscribers.clear();
245
+ awarenessSubscribers.clear();
246
+ if (provider) {
247
+ provider.destroy();
248
+ }
249
+ // Clear all keys from ymap
250
+ const keys = Object.keys(ymap.toJSON());
251
+ keys.forEach((key) => ymap.delete(key));
252
+ }
253
+ // Initialize
254
+ initialize();
255
+ // Set initial user awareness
256
+ if (config.userId) {
257
+ setAwareness({
258
+ user: {
259
+ id: config.userId,
260
+ ...config.userInfo,
261
+ },
262
+ });
263
+ }
264
+ return {
265
+ getStore,
266
+ applyPatch,
267
+ getAwareness,
268
+ setAwareness,
269
+ subscribeAwareness,
270
+ getSyncStatus,
271
+ subscribeSyncStatus,
272
+ destroy,
273
+ };
274
+ }
275
+ /**
276
+ * Create collaborative state store
277
+ */
278
+ export function createCollaborativeStore(yjsConfig, localConfig = {}) {
279
+ const adapter = createYjsAdapter(yjsConfig);
280
+ return adapter.getStore();
281
+ }
282
+ //# sourceMappingURL=yjs-adapter.js.map
@@ -0,0 +1,282 @@
1
+ /**
2
+ * Yjs/CRDT Adapter for A2R-IX
3
+ *
4
+ * Real-time collaborative state synchronization using Yjs.
5
+ */
6
+ /**
7
+ * Create Yjs adapter for collaborative state
8
+ */
9
+ export function createYjsAdapter(config) {
10
+ const { doc, provider, mapName = 'a2r-ix-state' } = config;
11
+ const ymap = doc.getMap(mapName);
12
+ // Local state store wrapper
13
+ let localState = {};
14
+ const subscribers = new Map();
15
+ const syncStatusSubscribers = new Set();
16
+ const awarenessSubscribers = new Set();
17
+ let syncStatus = 'syncing';
18
+ const awarenessMap = new Map();
19
+ const clientId = 0;
20
+ /**
21
+ * Initialize from Yjs map
22
+ */
23
+ function initialize() {
24
+ // Load initial state
25
+ localState = { ...ymap.toJSON() };
26
+ // Observe Yjs changes
27
+ ymap.observe((event) => {
28
+ doc.transact(() => {
29
+ event.changes.keys.forEach((change, key) => {
30
+ const newValue = ymap.get(key);
31
+ if (change.action === 'delete') {
32
+ delete localState[key];
33
+ }
34
+ else {
35
+ localState[key] = newValue;
36
+ }
37
+ // Notify local subscribers
38
+ notifySubscribers(key, newValue);
39
+ });
40
+ });
41
+ });
42
+ // Set up provider sync status
43
+ if (provider) {
44
+ provider.on('sync', () => {
45
+ updateSyncStatus('synced');
46
+ });
47
+ provider.on('disconnect', () => {
48
+ updateSyncStatus('disconnected');
49
+ });
50
+ provider.on('connect', () => {
51
+ updateSyncStatus('syncing');
52
+ });
53
+ }
54
+ }
55
+ /**
56
+ * Update sync status
57
+ */
58
+ function updateSyncStatus(status) {
59
+ syncStatus = status;
60
+ syncStatusSubscribers.forEach((cb) => cb(status));
61
+ }
62
+ /**
63
+ * Notify subscribers
64
+ */
65
+ function notifySubscribers(path, value) {
66
+ const pathSubscribers = subscribers.get(path);
67
+ if (pathSubscribers) {
68
+ pathSubscribers.forEach((cb) => cb(value));
69
+ }
70
+ // Notify parent path subscribers
71
+ const parts = path.split('.');
72
+ while (parts.length > 1) {
73
+ parts.pop();
74
+ const parentPath = parts.join('.');
75
+ const parentSubscribers = subscribers.get(parentPath);
76
+ if (parentSubscribers) {
77
+ const parentValue = getValue(parentPath);
78
+ parentSubscribers.forEach((cb) => cb(parentValue));
79
+ }
80
+ }
81
+ }
82
+ /**
83
+ * Get value at path
84
+ */
85
+ function getValue(path) {
86
+ const parts = path.split('.');
87
+ let current = localState;
88
+ for (const part of parts) {
89
+ if (current && typeof current === 'object') {
90
+ current = current[part];
91
+ }
92
+ else {
93
+ return undefined;
94
+ }
95
+ }
96
+ return current;
97
+ }
98
+ /**
99
+ * Set value at path
100
+ */
101
+ function setValue(path, value) {
102
+ const parts = path.split('.');
103
+ doc.transact(() => {
104
+ if (parts.length === 1) {
105
+ if (value === undefined) {
106
+ ymap.delete(path);
107
+ delete localState[path];
108
+ }
109
+ else {
110
+ ymap.set(path, value);
111
+ localState[path] = value;
112
+ }
113
+ }
114
+ else {
115
+ // Handle nested paths
116
+ const rootKey = parts[0];
117
+ let root = ymap.get(rootKey) || {};
118
+ // Clone to avoid modifying shared Yjs object directly
119
+ root = { ...root };
120
+ let current = root;
121
+ for (let i = 1; i < parts.length - 1; i++) {
122
+ const part = parts[i];
123
+ if (!current[part] || typeof current[part] !== 'object') {
124
+ current[part] = {};
125
+ }
126
+ current = current[part];
127
+ }
128
+ if (value === undefined) {
129
+ delete current[parts[parts.length - 1]];
130
+ }
131
+ else {
132
+ current[parts[parts.length - 1]] = value;
133
+ }
134
+ ymap.set(rootKey, root);
135
+ localState[rootKey] = root;
136
+ }
137
+ });
138
+ notifySubscribers(path, value);
139
+ }
140
+ /**
141
+ * Apply JSON Patch
142
+ */
143
+ function applyPatch(patch) {
144
+ doc.transact(() => {
145
+ patch.forEach((op) => {
146
+ const path = op.path.slice(1).replace(/\//g, '.');
147
+ switch (op.op) {
148
+ case 'add':
149
+ case 'replace':
150
+ setValue(path, op.value);
151
+ break;
152
+ case 'remove':
153
+ setValue(path, undefined);
154
+ break;
155
+ }
156
+ });
157
+ });
158
+ }
159
+ /**
160
+ * Create state store interface
161
+ */
162
+ function getStore() {
163
+ return {
164
+ get: (path) => getValue(path),
165
+ set: (path, value) => setValue(path, value),
166
+ subscribe: (path, callback) => {
167
+ if (!subscribers.has(path)) {
168
+ subscribers.set(path, new Set());
169
+ }
170
+ subscribers.get(path).add(callback);
171
+ return () => {
172
+ subscribers.get(path)?.delete(callback);
173
+ };
174
+ },
175
+ batch: (updates) => {
176
+ doc.transact(() => {
177
+ Object.entries(updates).forEach(([path, value]) => {
178
+ setValue(path, value);
179
+ });
180
+ });
181
+ },
182
+ snapshot: () => ({ ...localState }),
183
+ restore: (snapshot) => {
184
+ doc.transact(() => {
185
+ Object.entries(snapshot).forEach(([key, value]) => {
186
+ ymap.set(key, value);
187
+ localState[key] = value;
188
+ });
189
+ });
190
+ },
191
+ reset: () => {
192
+ doc.transact(() => {
193
+ Object.keys(ymap.toJSON()).forEach((key) => {
194
+ ymap.delete(key);
195
+ });
196
+ localState = {};
197
+ });
198
+ },
199
+ compute: () => { },
200
+ bind: () => { },
201
+ getBindings: () => [],
202
+ };
203
+ }
204
+ /**
205
+ * Get awareness state
206
+ */
207
+ function getAwareness() {
208
+ return new Map(awarenessMap);
209
+ }
210
+ /**
211
+ * Set awareness state
212
+ */
213
+ function setAwareness(state) {
214
+ const current = awarenessMap.get(clientId) || {};
215
+ awarenessMap.set(clientId, { ...current, ...state });
216
+ // Broadcast to others (would use y-protocols in production)
217
+ awarenessSubscribers.forEach((cb) => cb(new Map(awarenessMap)));
218
+ }
219
+ /**
220
+ * Subscribe to awareness changes
221
+ */
222
+ function subscribeAwareness(callback) {
223
+ awarenessSubscribers.add(callback);
224
+ return () => awarenessSubscribers.delete(callback);
225
+ }
226
+ /**
227
+ * Get sync status
228
+ */
229
+ function getSyncStatus() {
230
+ return syncStatus;
231
+ }
232
+ /**
233
+ * Subscribe to sync status
234
+ */
235
+ function subscribeSyncStatus(callback) {
236
+ syncStatusSubscribers.add(callback);
237
+ return () => syncStatusSubscribers.delete(callback);
238
+ }
239
+ /**
240
+ * Destroy adapter
241
+ */
242
+ function destroy() {
243
+ subscribers.clear();
244
+ syncStatusSubscribers.clear();
245
+ awarenessSubscribers.clear();
246
+ if (provider) {
247
+ provider.destroy();
248
+ }
249
+ // Clear all keys from ymap
250
+ const keys = Object.keys(ymap.toJSON());
251
+ keys.forEach((key) => ymap.delete(key));
252
+ }
253
+ // Initialize
254
+ initialize();
255
+ // Set initial user awareness
256
+ if (config.userId) {
257
+ setAwareness({
258
+ user: {
259
+ id: config.userId,
260
+ ...config.userInfo,
261
+ },
262
+ });
263
+ }
264
+ return {
265
+ getStore,
266
+ applyPatch,
267
+ getAwareness,
268
+ setAwareness,
269
+ subscribeAwareness,
270
+ getSyncStatus,
271
+ subscribeSyncStatus,
272
+ destroy,
273
+ };
274
+ }
275
+ /**
276
+ * Create collaborative state store
277
+ */
278
+ export function createCollaborativeStore(yjsConfig, localConfig = {}) {
279
+ const adapter = createYjsAdapter(yjsConfig);
280
+ return adapter.getStore();
281
+ }
282
+ //# sourceMappingURL=yjs-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yjs-adapter.js","sourceRoot":"","sources":["../../src/collab/yjs-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * YJS Client Setup - GAP-65
3
+ *
4
+ * Collaborative editing client using YJS CRDTs
5
+ */
6
+ import * as Y from 'yjs';
7
+ import { WebrtcProvider } from 'y-webrtc';
8
+ import { Awareness } from 'y-protocols/awareness';
9
+ export interface YjsConfig {
10
+ signalingUrls: string[];
11
+ iceServers: RTCIceServer[];
12
+ roomPrefix: string;
13
+ maxPeers?: number;
14
+ }
15
+ export interface CollaborationSession {
16
+ roomId: string;
17
+ participants: Participant[];
18
+ doc: Y.Doc;
19
+ provider: WebrtcProvider;
20
+ awareness: Awareness;
21
+ }
22
+ export interface Participant {
23
+ id: string;
24
+ name: string;
25
+ color: string;
26
+ cursor?: CursorPosition;
27
+ selection?: Range;
28
+ }
29
+ export interface CursorPosition {
30
+ x: number;
31
+ y: number;
32
+ line?: number;
33
+ ch?: number;
34
+ }
35
+ export interface Range {
36
+ anchor: CursorPosition;
37
+ head: CursorPosition;
38
+ }
39
+ export declare class YjsClient {
40
+ private doc;
41
+ private provider;
42
+ private awareness;
43
+ private config;
44
+ private roomId;
45
+ private session;
46
+ constructor(roomId: string, config: YjsConfig);
47
+ private setupProvider;
48
+ private setupAwareness;
49
+ private handleAwarenessChange;
50
+ private generateUserId;
51
+ private generateColor;
52
+ /**
53
+ * Get shared text for collaborative editing
54
+ */
55
+ getText(name?: string): Y.Text;
56
+ /**
57
+ * Get shared array
58
+ */
59
+ getArray<T>(name: string): Y.Array<T>;
60
+ /**
61
+ * Get shared map
62
+ */
63
+ getMap<T>(name: string): Y.Map<T>;
64
+ /**
65
+ * Get the underlying Y.Doc
66
+ */
67
+ getDoc(): Y.Doc;
68
+ /**
69
+ * Get current session
70
+ */
71
+ getSession(): CollaborationSession | null;
72
+ /**
73
+ * Get all participants
74
+ */
75
+ getParticipants(): Participant[];
76
+ /**
77
+ * Update local user state
78
+ */
79
+ updateLocalState(state: Partial<Participant>): void;
80
+ /**
81
+ * Update cursor position
82
+ */
83
+ updateCursor(cursor: CursorPosition): void;
84
+ /**
85
+ * Update selection range
86
+ */
87
+ updateSelection(selection: Range): void;
88
+ /**
89
+ * Disconnect from the room
90
+ */
91
+ disconnect(): void;
92
+ }
93
+ /**
94
+ * Create a new YJS client
95
+ */
96
+ export declare function createYjsClient(roomId: string, config: YjsConfig): YjsClient;
97
+ /**
98
+ * Default configuration for common use cases
99
+ */
100
+ export declare const defaultConfig: YjsConfig;
101
+ //# sourceMappingURL=yjs-client.d.ts.map