@casual-simulation/aux-common 3.2.6 → 3.2.7-alpha.6227012901

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 (212) hide show
  1. package/Errors.d.ts +29 -0
  2. package/Errors.js +2 -0
  3. package/Errors.js.map +1 -0
  4. package/{aux-format-2 → bots}/AuxStateHelpers.d.ts +2 -33
  5. package/{aux-format-2 → bots}/AuxStateHelpers.js +1 -116
  6. package/bots/AuxStateHelpers.js.map +1 -0
  7. package/bots/Bot.d.ts +1 -1
  8. package/bots/BotCalculations.d.ts +4 -1
  9. package/bots/BotCalculations.js +62 -0
  10. package/bots/BotCalculations.js.map +1 -1
  11. package/bots/BotEvents.d.ts +859 -3401
  12. package/bots/BotEvents.js +133 -1529
  13. package/bots/BotEvents.js.map +1 -1
  14. package/bots/StateUpdatedEvent.d.ts +1 -1
  15. package/bots/StateUpdatedEvent.js +1 -1
  16. package/bots/StateUpdatedEvent.js.map +1 -1
  17. package/bots/index.d.ts +1 -0
  18. package/bots/index.js +1 -0
  19. package/bots/index.js.map +1 -1
  20. package/common/Action.d.ts +17 -0
  21. package/common/Action.js +2 -0
  22. package/common/Action.js.map +1 -0
  23. package/common/ConnectionIndicator.d.ts +29 -0
  24. package/common/ConnectionIndicator.js +23 -0
  25. package/common/ConnectionIndicator.js.map +1 -0
  26. package/common/ConnectionInfo.d.ts +30 -0
  27. package/common/ConnectionInfo.js +14 -0
  28. package/common/ConnectionInfo.js.map +1 -0
  29. package/common/ConnectionToken.d.ts +37 -0
  30. package/common/ConnectionToken.js +93 -0
  31. package/common/ConnectionToken.js.map +1 -0
  32. package/common/CurrentVersion.d.ts +26 -0
  33. package/common/CurrentVersion.js +2 -0
  34. package/common/CurrentVersion.js.map +1 -0
  35. package/common/Iterators.d.ts +19 -0
  36. package/common/Iterators.js +39 -0
  37. package/common/Iterators.js.map +1 -0
  38. package/common/LoadingProgress.d.ts +26 -0
  39. package/common/LoadingProgress.js +2 -0
  40. package/common/LoadingProgress.js.map +1 -0
  41. package/common/RemoteActions.d.ts +558 -0
  42. package/common/RemoteActions.js +128 -0
  43. package/common/RemoteActions.js.map +1 -0
  44. package/common/StatusUpdate.d.ts +108 -0
  45. package/common/StatusUpdate.js +2 -0
  46. package/common/StatusUpdate.js.map +1 -0
  47. package/common/StatusUpdateUtils.d.ts +3 -0
  48. package/common/StatusUpdateUtils.js +11 -0
  49. package/common/StatusUpdateUtils.js.map +1 -0
  50. package/common/index.d.ts +11 -0
  51. package/common/index.js +11 -0
  52. package/common/index.js.map +1 -0
  53. package/index.d.ts +4 -1
  54. package/index.js +4 -1
  55. package/index.js.map +1 -1
  56. package/package.json +3 -4
  57. package/partitions/AuxPartition.d.ts +1 -11
  58. package/partitions/AuxPartition.js.map +1 -1
  59. package/partitions/AuxPartitionConfig.d.ts +39 -123
  60. package/partitions/MemoryPartition.d.ts +2 -2
  61. package/partitions/MemoryPartition.js +2 -2
  62. package/partitions/MemoryPartition.js.map +1 -1
  63. package/partitions/OtherPlayersPartition.d.ts +6 -7
  64. package/partitions/OtherPlayersPartition.js +40 -54
  65. package/partitions/OtherPlayersPartition.js.map +1 -1
  66. package/partitions/PartitionUtils.d.ts +28 -1
  67. package/partitions/PartitionUtils.js +174 -1
  68. package/partitions/PartitionUtils.js.map +1 -1
  69. package/partitions/ProxyBridgePartition.d.ts +1 -3
  70. package/partitions/ProxyBridgePartition.js +0 -14
  71. package/partitions/ProxyBridgePartition.js.map +1 -1
  72. package/partitions/RemoteYjsPartition.d.ts +7 -6
  73. package/partitions/RemoteYjsPartition.js +55 -75
  74. package/partitions/RemoteYjsPartition.js.map +1 -1
  75. package/partitions/YjsPartition.d.ts +1 -2
  76. package/partitions/YjsPartition.js +3 -6
  77. package/partitions/YjsPartition.js.map +1 -1
  78. package/partitions/index.d.ts +1 -7
  79. package/partitions/index.js +1 -7
  80. package/partitions/index.js.map +1 -1
  81. package/test/FuzzingHelpers.d.ts +1 -1
  82. package/test/FuzzingHelpers.js +1 -1
  83. package/test/FuzzingHelpers.js.map +1 -1
  84. package/test/TestHelpers.d.ts +8 -0
  85. package/test/TestHelpers.js +23 -0
  86. package/test/TestHelpers.js.map +1 -1
  87. package/utils.d.ts +10 -5
  88. package/utils.js +19 -7
  89. package/utils.js.map +1 -1
  90. package/websockets/AuthenticatedConnectionClient.d.ts +26 -0
  91. package/websockets/AuthenticatedConnectionClient.js +61 -0
  92. package/websockets/AuthenticatedConnectionClient.js.map +1 -0
  93. package/websockets/ConnectionClient.d.ts +59 -0
  94. package/websockets/ConnectionClient.js +2 -0
  95. package/websockets/ConnectionClient.js.map +1 -0
  96. package/websockets/InstRecordsClient.d.ts +118 -0
  97. package/websockets/InstRecordsClient.js +387 -0
  98. package/websockets/InstRecordsClient.js.map +1 -0
  99. package/websockets/InstRecordsClientTimeSyncConnection.d.ts +13 -0
  100. package/websockets/InstRecordsClientTimeSyncConnection.js +16 -0
  101. package/websockets/InstRecordsClientTimeSyncConnection.js.map +1 -0
  102. package/websockets/MemoryConnectionClient.d.ts +19 -0
  103. package/websockets/MemoryConnectionClient.js +41 -0
  104. package/websockets/MemoryConnectionClient.js.map +1 -0
  105. package/websockets/WebsocketEvents.d.ts +2670 -0
  106. package/websockets/WebsocketEvents.js +189 -0
  107. package/websockets/WebsocketEvents.js.map +1 -0
  108. package/websockets/index.d.ts +7 -0
  109. package/websockets/index.js +7 -0
  110. package/websockets/index.js.map +1 -0
  111. package/yjs/YjsHelpers.d.ts +1 -1
  112. package/LoadingProgress.d.ts +0 -54
  113. package/LoadingProgress.js +0 -105
  114. package/LoadingProgress.js.map +0 -1
  115. package/aux-format-2/AuxCausalTree2.d.ts +0 -98
  116. package/aux-format-2/AuxCausalTree2.js +0 -616
  117. package/aux-format-2/AuxCausalTree2.js.map +0 -1
  118. package/aux-format-2/AuxOpTypes.d.ts +0 -268
  119. package/aux-format-2/AuxOpTypes.js +0 -240
  120. package/aux-format-2/AuxOpTypes.js.map +0 -1
  121. package/aux-format-2/AuxStateHelpers.js.map +0 -1
  122. package/aux-format-2/AuxWeaveHelpers.d.ts +0 -132
  123. package/aux-format-2/AuxWeaveHelpers.js +0 -335
  124. package/aux-format-2/AuxWeaveHelpers.js.map +0 -1
  125. package/aux-format-2/AuxWeaveReducer.d.ts +0 -37
  126. package/aux-format-2/AuxWeaveReducer.js +0 -980
  127. package/aux-format-2/AuxWeaveReducer.js.map +0 -1
  128. package/aux-format-2/index.d.ts +0 -7
  129. package/aux-format-2/index.js +0 -7
  130. package/aux-format-2/index.js.map +0 -1
  131. package/partitions/AuxPartitionRealtimeEditModeProvider.d.ts +0 -9
  132. package/partitions/AuxPartitionRealtimeEditModeProvider.js +0 -21
  133. package/partitions/AuxPartitionRealtimeEditModeProvider.js.map +0 -1
  134. package/partitions/BotClient.d.ts +0 -24
  135. package/partitions/BotClient.js +0 -2
  136. package/partitions/BotClient.js.map +0 -1
  137. package/partitions/BotPartition.d.ts +0 -45
  138. package/partitions/BotPartition.js +0 -186
  139. package/partitions/BotPartition.js.map +0 -1
  140. package/partitions/CausalRepoPartition.d.ts +0 -45
  141. package/partitions/CausalRepoPartition.js +0 -157
  142. package/partitions/CausalRepoPartition.js.map +0 -1
  143. package/partitions/MemoryBotClient.d.ts +0 -11
  144. package/partitions/MemoryBotClient.js +0 -41
  145. package/partitions/MemoryBotClient.js.map +0 -1
  146. package/partitions/RemoteCausalRepoHistoryPartition.d.ts +0 -53
  147. package/partitions/RemoteCausalRepoHistoryPartition.js +0 -206
  148. package/partitions/RemoteCausalRepoHistoryPartition.js.map +0 -1
  149. package/partitions/RemoteCausalRepoPartition.d.ts +0 -72
  150. package/partitions/RemoteCausalRepoPartition.js +0 -468
  151. package/partitions/RemoteCausalRepoPartition.js.map +0 -1
  152. package/runtime/AuxCompiler.d.ts +0 -258
  153. package/runtime/AuxCompiler.js +0 -722
  154. package/runtime/AuxCompiler.js.map +0 -1
  155. package/runtime/AuxDevice.d.ts +0 -28
  156. package/runtime/AuxDevice.js +0 -2
  157. package/runtime/AuxDevice.js.map +0 -1
  158. package/runtime/AuxGlobalContext.d.ts +0 -571
  159. package/runtime/AuxGlobalContext.js +0 -606
  160. package/runtime/AuxGlobalContext.js.map +0 -1
  161. package/runtime/AuxLibrary.d.ts +0 -2702
  162. package/runtime/AuxLibrary.js +0 -11046
  163. package/runtime/AuxLibrary.js.map +0 -1
  164. package/runtime/AuxLibraryDefinitions.def +0 -13139
  165. package/runtime/AuxRealtimeEditModeProvider.d.ts +0 -35
  166. package/runtime/AuxRealtimeEditModeProvider.js +0 -34
  167. package/runtime/AuxRealtimeEditModeProvider.js.map +0 -1
  168. package/runtime/AuxResults.d.ts +0 -77
  169. package/runtime/AuxResults.js +0 -6
  170. package/runtime/AuxResults.js.map +0 -1
  171. package/runtime/AuxRuntime.d.ts +0 -253
  172. package/runtime/AuxRuntime.js +0 -2700
  173. package/runtime/AuxRuntime.js.map +0 -1
  174. package/runtime/AuxRuntimeDynamicImports.d.ts +0 -14
  175. package/runtime/AuxRuntimeDynamicImports.js +0 -24
  176. package/runtime/AuxRuntimeDynamicImports.js.map +0 -1
  177. package/runtime/AuxVersion.d.ts +0 -39
  178. package/runtime/AuxVersion.js +0 -2
  179. package/runtime/AuxVersion.js.map +0 -1
  180. package/runtime/CasualOSError.d.ts +0 -37
  181. package/runtime/CasualOSError.js +0 -25
  182. package/runtime/CasualOSError.js.map +0 -1
  183. package/runtime/CompiledBot.d.ts +0 -106
  184. package/runtime/CompiledBot.js +0 -44
  185. package/runtime/CompiledBot.js.map +0 -1
  186. package/runtime/PerformanceNowPolyfill.d.ts +0 -1
  187. package/runtime/PerformanceNowPolyfill.js +0 -8
  188. package/runtime/PerformanceNowPolyfill.js.map +0 -1
  189. package/runtime/RuntimeBot.d.ts +0 -176
  190. package/runtime/RuntimeBot.js +0 -732
  191. package/runtime/RuntimeBot.js.map +0 -1
  192. package/runtime/RuntimeStateVersion.d.ts +0 -23
  193. package/runtime/RuntimeStateVersion.js +0 -22
  194. package/runtime/RuntimeStateVersion.js.map +0 -1
  195. package/runtime/Transpiler.d.ts +0 -174
  196. package/runtime/Transpiler.js +0 -611
  197. package/runtime/Transpiler.js.map +0 -1
  198. package/runtime/Utils.d.ts +0 -74
  199. package/runtime/Utils.js +0 -488
  200. package/runtime/Utils.js.map +0 -1
  201. package/runtime/index.d.ts +0 -9
  202. package/runtime/index.js +0 -9
  203. package/runtime/index.js.map +0 -1
  204. package/runtime/test/RuntimeTestHelpers.d.ts +0 -11
  205. package/runtime/test/RuntimeTestHelpers.js +0 -26
  206. package/runtime/test/RuntimeTestHelpers.js.map +0 -1
  207. package/runtime/test/TestScriptBotFactory.d.ts +0 -16
  208. package/runtime/test/TestScriptBotFactory.js +0 -107
  209. package/runtime/test/TestScriptBotFactory.js.map +0 -1
  210. /package/{runtime/BlobPolyfill.d.ts → BlobPolyfill.d.ts} +0 -0
  211. /package/{runtime/BlobPolyfill.js → BlobPolyfill.js} +0 -0
  212. /package/{runtime/BlobPolyfill.js.map → BlobPolyfill.js.map} +0 -0
@@ -7,17 +7,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import { SESSION_ID_CLAIM, } from '@casual-simulation/causal-trees';
11
10
  import { getActiveObjects, asyncResult, action, ON_REMOTE_PLAYER_SUBSCRIBED_ACTION_NAME, ON_REMOTE_PLAYER_UNSUBSCRIBED_ACTION_NAME, stateUpdatedEvent, applyUpdates, ON_REMOTE_JOINED_ACTION_NAME, ON_REMOTE_LEAVE_ACTION_NAME, } from '../bots';
12
11
  import { BehaviorSubject, Subject, Subscription } from 'rxjs';
13
12
  import { skip, startWith } from 'rxjs/operators';
14
- import { createCausalRepoClientPartition } from './RemoteCausalRepoPartition';
15
13
  import { sortBy } from 'lodash';
16
14
  import { createRemoteClientYjsPartition } from './RemoteYjsPartition';
17
- export function createOtherPlayersClientPartition(config, user) {
15
+ export function createOtherPlayersClientPartition(config) {
18
16
  return __awaiter(this, void 0, void 0, function* () {
19
17
  if (config.type === 'other_players_client') {
20
- const partition = new OtherPlayersPartitionImpl(user, config.client, config);
18
+ const partition = new OtherPlayersPartitionImpl(config.client, config);
21
19
  return partition;
22
20
  }
23
21
  return undefined;
@@ -81,7 +79,7 @@ export class OtherPlayersPartitionImpl {
81
79
  set forcedOffline(value) {
82
80
  this._client.forcedOffline = value;
83
81
  }
84
- constructor(user, client, config) {
82
+ constructor(client, config) {
85
83
  var _a;
86
84
  this._onBotsAdded = new Subject();
87
85
  this._onBotsRemoved = new Subject();
@@ -102,11 +100,11 @@ export class OtherPlayersPartitionImpl {
102
100
  */
103
101
  this._watchingBranch = false;
104
102
  this.type = 'other_players';
105
- this._user = user;
103
+ this._recordName = config.recordName;
104
+ this._inst = config.inst;
106
105
  this._branch = config.branch;
107
106
  this._client = client;
108
- this._childParitionType =
109
- (_a = config.childPartitionType) !== null && _a !== void 0 ? _a : 'causal_repo_client';
107
+ this._childParitionType = (_a = config.childPartitionType) !== null && _a !== void 0 ? _a : 'yjs_client';
110
108
  this._state = {};
111
109
  this._partitions = new Map();
112
110
  this._partitionPromises = new Map();
@@ -126,32 +124,14 @@ export class OtherPlayersPartitionImpl {
126
124
  const action = event.event;
127
125
  const connectedDevices = [...this._devices.values()];
128
126
  const sessionIds = sortBy([
129
- this._user.id,
130
- ...connectedDevices.map((cd) => cd.deviceInfo.claims[SESSION_ID_CLAIM]),
127
+ this._client.connection.info.connectionId,
128
+ ...connectedDevices.map((cd) => cd.deviceInfo.connectionId),
131
129
  ]);
132
130
  this._onEvents.next([asyncResult(event.taskId, sessionIds)]);
133
131
  }
134
132
  }
135
133
  });
136
134
  }
137
- setUser(user) {
138
- return __awaiter(this, void 0, void 0, function* () {
139
- for (let partition of this._partitions.values()) {
140
- if (partition.setUser) {
141
- yield partition.setUser(user);
142
- }
143
- }
144
- });
145
- }
146
- setGrant(grant) {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- for (let partition of this._partitions.values()) {
149
- if (partition.setGrant) {
150
- yield partition.setGrant(grant);
151
- }
152
- }
153
- });
154
- }
155
135
  connect() {
156
136
  this._sub.add(this._client.connection.connectionState.subscribe((state) => {
157
137
  const connected = state.connected;
@@ -163,7 +143,6 @@ export class OtherPlayersPartitionImpl {
163
143
  this._onStatusUpdated.next({
164
144
  type: 'authentication',
165
145
  authenticated: true,
166
- user: this._user,
167
146
  info: state.info,
168
147
  });
169
148
  this._onStatusUpdated.next({
@@ -175,20 +154,23 @@ export class OtherPlayersPartitionImpl {
175
154
  this._updateSynced(false);
176
155
  }
177
156
  }));
178
- this._sub.add(this._client.watchBranchDevices(this._branch).subscribe((event) => {
157
+ this._sub.add(this._client
158
+ .watchBranchDevices(this._recordName, this._inst, this._branch)
159
+ .subscribe((event) => {
179
160
  if (!this._synced) {
180
161
  this._updateSynced(true);
181
162
  }
182
- if (event.device.claims[SESSION_ID_CLAIM] === this._user.id) {
163
+ if (event.connection.connectionId ===
164
+ this._client.connection.info.connectionId) {
183
165
  return;
184
166
  }
185
- if (event.type === 'repo/device_connected_to_branch') {
186
- this._registerDevice(event.device);
187
- this._tryLoadBranchForDevice(event.device);
167
+ if (event.type === 'repo/connected_to_branch') {
168
+ this._registerDevice(event.connection);
169
+ this._tryLoadBranchForDevice(event.connection);
188
170
  }
189
- else if (event.type === 'repo/device_disconnected_from_branch') {
190
- this._unregisterDevice(event.device);
191
- this._tryUnloadBranchForDevice(event.device);
171
+ else if (event.type === 'repo/disconnected_from_branch') {
172
+ this._unregisterDevice(event.connection);
173
+ this._tryUnloadBranchForDevice(event.connection);
192
174
  }
193
175
  }));
194
176
  }
@@ -200,8 +182,8 @@ export class OtherPlayersPartitionImpl {
200
182
  });
201
183
  }
202
184
  _registerDevice(device) {
203
- if (this._devices.has(device.claims[SESSION_ID_CLAIM])) {
204
- let connected = this._devices.get(device.claims[SESSION_ID_CLAIM]);
185
+ if (this._devices.has(device.connectionId)) {
186
+ let connected = this._devices.get(device.connectionId);
205
187
  connected.connectionCount += 1;
206
188
  }
207
189
  else {
@@ -209,29 +191,29 @@ export class OtherPlayersPartitionImpl {
209
191
  connectionCount: 1,
210
192
  deviceInfo: device,
211
193
  };
212
- this._devices.set(device.claims[SESSION_ID_CLAIM], connected);
194
+ this._devices.set(device.connectionId, connected);
213
195
  this._onEvents.next([
214
196
  action(ON_REMOTE_JOINED_ACTION_NAME, null, null, {
215
- remoteId: device.claims[SESSION_ID_CLAIM],
197
+ remoteId: device.connectionId,
216
198
  }),
217
199
  action(ON_REMOTE_PLAYER_SUBSCRIBED_ACTION_NAME, null, null, {
218
- playerId: device.claims[SESSION_ID_CLAIM],
200
+ playerId: device.connectionId,
219
201
  }),
220
202
  ]);
221
203
  }
222
204
  }
223
205
  _unregisterDevice(device) {
224
- if (this._devices.has(device.claims[SESSION_ID_CLAIM])) {
225
- let connected = this._devices.get(device.claims[SESSION_ID_CLAIM]);
206
+ if (this._devices.has(device.connectionId)) {
207
+ let connected = this._devices.get(device.connectionId);
226
208
  connected.connectionCount -= 1;
227
209
  if (connected.connectionCount <= 0) {
228
- this._devices.delete(device.claims[SESSION_ID_CLAIM]);
210
+ this._devices.delete(device.connectionId);
229
211
  this._onEvents.next([
230
212
  action(ON_REMOTE_LEAVE_ACTION_NAME, null, null, {
231
- remoteId: device.claims[SESSION_ID_CLAIM],
213
+ remoteId: device.connectionId,
232
214
  }),
233
215
  action(ON_REMOTE_PLAYER_UNSUBSCRIBED_ACTION_NAME, null, null, {
234
- playerId: device.claims[SESSION_ID_CLAIM],
216
+ playerId: device.connectionId,
235
217
  }),
236
218
  ]);
237
219
  }
@@ -253,23 +235,27 @@ export class OtherPlayersPartitionImpl {
253
235
  }
254
236
  _loadPartition(branch, device) {
255
237
  return __awaiter(this, void 0, void 0, function* () {
256
- console.log(`[OtherPlayersPartitionImpl] Loading partition for ${device.claims[SESSION_ID_CLAIM]}`);
238
+ console.log(`[OtherPlayersPartitionImpl] Loading partition for ${device.connectionId}`);
257
239
  const sub = new Subscription();
258
240
  const promise = this._childParitionType === 'yjs_client'
259
241
  ? createRemoteClientYjsPartition({
260
242
  type: 'yjs_client',
243
+ recordName: this._recordName,
244
+ inst: this._inst,
261
245
  branch: branch,
262
246
  client: this._client,
263
247
  temporary: true,
264
248
  readOnly: true,
265
- }, this._user)
266
- : createCausalRepoClientPartition({
267
- type: 'causal_repo_client',
249
+ })
250
+ : createRemoteClientYjsPartition({
251
+ type: 'yjs_client',
252
+ recordName: this._recordName,
253
+ inst: this._inst,
268
254
  branch: branch,
269
255
  client: this._client,
270
256
  temporary: true,
271
257
  readOnly: true,
272
- }, this._user);
258
+ });
273
259
  const partition = yield promise;
274
260
  this._partitions.set(branch, partition);
275
261
  this._partitionSubs.set(branch, sub);
@@ -301,7 +287,7 @@ export class OtherPlayersPartitionImpl {
301
287
  return __awaiter(this, void 0, void 0, function* () {
302
288
  const branch = this._branchNameForDevice(device);
303
289
  if (this._partitionPromises.has(branch)) {
304
- console.log(`[OtherPlayersPartitionImpl] Unloading partition for ${device.claims[SESSION_ID_CLAIM]}`);
290
+ console.log(`[OtherPlayersPartitionImpl] Unloading partition for ${device.connectionId}`);
305
291
  const partition = yield this._partitionPromises.get(branch);
306
292
  this._partitions.delete(branch);
307
293
  this._partitionPromises.delete(branch);
@@ -356,7 +342,7 @@ export class OtherPlayersPartitionImpl {
356
342
  });
357
343
  }
358
344
  _branchNameForDevice(device) {
359
- return `${this._branch}-player-${device.claims[SESSION_ID_CLAIM]}`;
345
+ return `${this._branch}-player-${device.connectionId}`;
360
346
  }
361
347
  }
362
348
  //# sourceMappingURL=OtherPlayersPartition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OtherPlayersPartition.js","sourceRoot":"","sources":["OtherPlayersPartition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OtherPlayersPartition.js","sourceRoot":"","sources":["OtherPlayersPartition.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { BotsState, CreateInitializationUpdateAction, GetInstStateFromUpdatesAction, InstUpdate } from '../bots';
1
+ import { Bot, BotsState, CreateInitializationUpdateAction, GetInstStateFromUpdatesAction, InstUpdate } from '../bots';
2
+ import '../BlobPolyfill';
2
3
  /**
3
4
  * Creates a new initialization update using the given action.
4
5
  */
@@ -13,4 +14,30 @@ export declare function getStateFromUpdates(action: GetInstStateFromUpdatesActio
13
14
  * @param updates The list of updates to merge.
14
15
  */
15
16
  export declare function mergeInstUpdates(updates: InstUpdate[], id?: number, timestamp?: number): InstUpdate;
17
+ /**
18
+ * Converts the given error to a copiable value.
19
+ * Returns a new value that can be sent over to web workers.
20
+ * @param err The error to convert.
21
+ */
22
+ export declare function convertErrorToCopiableValue(err: unknown): any;
23
+ /**
24
+ * Converts the given value to a copiable value.
25
+ * Copiable values are strings, numbers, booleans, arrays, and objects made of any of those types.
26
+ * Non-copiable values are functions and errors.
27
+ * @param value
28
+ */
29
+ export declare function convertToCopiableValue(value: any): any;
30
+ export declare class DeepObjectError extends Error {
31
+ constructor();
32
+ }
33
+ /**
34
+ * Checks each of the tags in the given bot to ensure that the bot is copiable and returns a new bot with serializable values if the given bot is contains non-serializable values.
35
+ * @param bot The bot to check.
36
+ */
37
+ export declare function ensureBotIsSerializable(bot: Bot): Bot;
38
+ /**
39
+ * Checks that the given tag is copiable and returns the copiable version of the value if it is not.
40
+ * @param value The value to check.
41
+ */
42
+ export declare function ensureTagIsSerializable(value: any): any;
16
43
  //# sourceMappingURL=PartitionUtils.d.ts.map
@@ -1,7 +1,11 @@
1
1
  import { fromByteArray, toByteArray } from 'base64-js';
2
2
  import { applyUpdate, mergeUpdates } from 'yjs';
3
- import { botAdded, createBot, } from '../bots';
3
+ import { botAdded, createBot, formatBotDate, formatBotRotation, formatBotVector, hasValue, isBot, isRuntimeBot, ORIGINAL_OBJECT, } from '../bots';
4
4
  import { YjsPartitionImpl } from './YjsPartition';
5
+ import { DateTime } from 'luxon';
6
+ import { Rotation, Vector2, Vector3 } from '../math';
7
+ import { forOwn } from 'lodash';
8
+ import '../BlobPolyfill';
5
9
  /**
6
10
  * Creates a new initialization update using the given action.
7
11
  */
@@ -46,4 +50,173 @@ export function mergeInstUpdates(updates, id = updates.length, timestamp = Date.
46
50
  update: fromByteArray(update),
47
51
  };
48
52
  }
53
+ /**
54
+ * Converts the given error to a copiable value.
55
+ * Returns a new value that can be sent over to web workers.
56
+ * @param err The error to convert.
57
+ */
58
+ export function convertErrorToCopiableValue(err) {
59
+ if (err instanceof Error) {
60
+ let obj = {
61
+ message: err.message,
62
+ name: err.name,
63
+ stack: err.stack,
64
+ };
65
+ if (err.response) {
66
+ let response = err.response;
67
+ obj.response = {
68
+ data: response.data,
69
+ headers: response.headers,
70
+ status: response.status,
71
+ statusText: response.statusText,
72
+ };
73
+ }
74
+ return obj;
75
+ }
76
+ else {
77
+ return err;
78
+ }
79
+ }
80
+ /**
81
+ * Converts the given value to a copiable value.
82
+ * Copiable values are strings, numbers, booleans, arrays, and objects made of any of those types.
83
+ * Non-copiable values are functions and errors.
84
+ * @param value
85
+ */
86
+ export function convertToCopiableValue(value) {
87
+ try {
88
+ return _convertToCopiableValue(value, 0, new Map());
89
+ }
90
+ catch (err) {
91
+ if (err instanceof DeepObjectError) {
92
+ return '[Nested object]';
93
+ }
94
+ throw err;
95
+ }
96
+ }
97
+ function _convertToCopiableValue(value, depth, map) {
98
+ if (depth > 1000) {
99
+ throw new DeepObjectError();
100
+ }
101
+ if (typeof value === 'function') {
102
+ return `[Function ${value.name}]`;
103
+ }
104
+ else if (value instanceof Error) {
105
+ return `${value.name}: ${value.message}`;
106
+ }
107
+ else if (typeof value === 'object') {
108
+ if (map.has(value)) {
109
+ return map.get(value);
110
+ }
111
+ if (isRuntimeBot(value)) {
112
+ const result = {
113
+ id: value.id,
114
+ tags: value.tags.toJSON(),
115
+ };
116
+ if (hasValue(value.space)) {
117
+ result.space = value.space;
118
+ }
119
+ map.set(value, result);
120
+ return result;
121
+ }
122
+ else if (isBot(value)) {
123
+ const result = {
124
+ id: value.id,
125
+ tags: value.tags,
126
+ };
127
+ map.set(value, result);
128
+ return result;
129
+ }
130
+ else if (Array.isArray(value)) {
131
+ const result = [];
132
+ map.set(value, result);
133
+ result.push(...value.map((val) => _convertToCopiableValue(val, depth + 1, map)));
134
+ return result;
135
+ }
136
+ else if (value === null || value === undefined) {
137
+ return value;
138
+ }
139
+ else if (value instanceof Date) {
140
+ return value;
141
+ }
142
+ else if (value instanceof Blob) {
143
+ return value;
144
+ }
145
+ else if (value instanceof ArrayBuffer) {
146
+ return value;
147
+ }
148
+ else if (ArrayBuffer.isView(value)) {
149
+ return value;
150
+ }
151
+ else if (value instanceof DateTime) {
152
+ return formatBotDate(value);
153
+ }
154
+ else if (value instanceof Vector2 || value instanceof Vector3) {
155
+ return formatBotVector(value);
156
+ }
157
+ else if (value instanceof Rotation) {
158
+ return formatBotRotation(value);
159
+ }
160
+ else {
161
+ let result = {};
162
+ map.set(value, result);
163
+ forOwn(value, (val, key, object) => {
164
+ result[key] = _convertToCopiableValue(val, depth + 1, map);
165
+ });
166
+ return result;
167
+ }
168
+ }
169
+ return value;
170
+ }
171
+ export class DeepObjectError extends Error {
172
+ constructor() {
173
+ super('Object too deeply nested.');
174
+ }
175
+ }
176
+ /**
177
+ * Checks each of the tags in the given bot to ensure that the bot is copiable and returns a new bot with serializable values if the given bot is contains non-serializable values.
178
+ * @param bot The bot to check.
179
+ */
180
+ export function ensureBotIsSerializable(bot) {
181
+ let newBot;
182
+ for (let tag in bot.tags) {
183
+ const value = bot.tags[tag];
184
+ if (value instanceof DateTime ||
185
+ value instanceof Vector2 ||
186
+ value instanceof Vector3 ||
187
+ value instanceof Rotation) {
188
+ updateTag(tag, convertToCopiableValue(value));
189
+ }
190
+ else if (hasValue(value) &&
191
+ typeof value === 'object' &&
192
+ ORIGINAL_OBJECT in value) {
193
+ updateTag(tag, value[ORIGINAL_OBJECT]);
194
+ }
195
+ }
196
+ return newBot !== null && newBot !== void 0 ? newBot : bot;
197
+ function updateTag(tag, value) {
198
+ if (!newBot) {
199
+ newBot = createBot(bot.id, Object.assign({}, bot.tags), bot.space);
200
+ }
201
+ newBot.tags[tag] = value;
202
+ }
203
+ }
204
+ /**
205
+ * Checks that the given tag is copiable and returns the copiable version of the value if it is not.
206
+ * @param value The value to check.
207
+ */
208
+ export function ensureTagIsSerializable(value) {
209
+ if (value instanceof DateTime ||
210
+ value instanceof Vector2 ||
211
+ value instanceof Vector3 ||
212
+ value instanceof Rotation) {
213
+ return convertToCopiableValue(value);
214
+ }
215
+ else if (hasValue(value) &&
216
+ typeof value === 'object' &&
217
+ ORIGINAL_OBJECT in value) {
218
+ return value[ORIGINAL_OBJECT];
219
+ }
220
+ return value;
221
+ }
49
222
  //# sourceMappingURL=PartitionUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PartitionUtils.js","sourceRoot":"","sources":["PartitionUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EACH,QAAQ,EAER,SAAS,GAIZ,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD;;GAEG;AACH,MAAM,UAAU,6BAA6B,CACzC,MAAwC;IAExC,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC;QACnC,IAAI,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,IAAI,UAAsB,CAAC;IAC3B,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAkB,EAAE,EAAE;QAC9C,UAAU,GAAG;YACT,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;SAChC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,WAAW,CACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC5D,CAAC;IAEF,OAAO,UAAU,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAC/B,MAAqC;IAErC,IAAI,SAAS,GAAG,IAAI,gBAAgB,CAAC;QACjC,IAAI,EAAE,KAAK;KACd,CAAC,CAAC;IAEH,KAAK,IAAI,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,EAAE;QACnC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;KAC3C;IAED,OAAO,SAAS,CAAC,KAAK,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC5B,OAAqB,EACrB,KAAa,OAAO,CAAC,MAAM,EAC3B,YAAoB,IAAI,CAAC,GAAG,EAAE;IAE9B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO;QACH,EAAE;QACF,SAAS;QACT,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;KAChC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"PartitionUtils.js","sourceRoot":"","sources":["PartitionUtils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ProxyBridgePartition, AuxPartitionBase, AuxPartitionRealtimeStrategy } from './AuxPartition';
2
- import { User, StatusUpdate, Action, RemoteActions, CurrentVersion } from '@casual-simulation/causal-trees';
3
2
  import { Bot, UpdatedBot, BotAction, StateUpdatedEvent } from '../bots';
4
3
  import { Observable } from 'rxjs';
4
+ import { Action, CurrentVersion, RemoteActions, StatusUpdate } from '../common';
5
5
  export declare class ProxyBridgePartitionImpl implements ProxyBridgePartition {
6
6
  get private(): boolean;
7
7
  get realtimeStrategy(): AuxPartitionRealtimeStrategy;
@@ -20,8 +20,6 @@ export declare class ProxyBridgePartitionImpl implements ProxyBridgePartition {
20
20
  constructor(partition: AuxPartitionBase);
21
21
  applyEvents(events: BotAction[]): Promise<BotAction[]>;
22
22
  sendRemoteEvents(events: RemoteActions[]): Promise<void>;
23
- setUser(user: User): Promise<void>;
24
- setGrant(grant: string): Promise<void>;
25
23
  connect(): void;
26
24
  addListeners(onBotsAdded?: (bot: Bot[]) => void, onBotsRemoved?: (bot: string[]) => void, onBotsUpdated?: (bots: UpdatedBot[]) => void, onStateUpdated?: (update: StateUpdatedEvent) => void, onError?: (error: any) => void, onEvents?: (actions: Action[]) => void, onStatusUpdated?: (status: StatusUpdate) => void, onVersionUpdated?: (version: CurrentVersion) => void): Promise<void>;
27
25
  setSpace(space: string): Promise<void>;
@@ -59,20 +59,6 @@ export class ProxyBridgePartitionImpl {
59
59
  }
60
60
  });
61
61
  }
62
- setUser(user) {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- if (this._partition.setUser) {
65
- yield this._partition.setUser(user);
66
- }
67
- });
68
- }
69
- setGrant(grant) {
70
- return __awaiter(this, void 0, void 0, function* () {
71
- if (this._partition.setGrant) {
72
- yield this._partition.setGrant(grant);
73
- }
74
- });
75
- }
76
62
  connect() {
77
63
  return this._partition.connect();
78
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyBridgePartition.js","sourceRoot":"","sources":["ProxyBridgePartition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProxyBridgePartition.js","sourceRoot":"","sources":["ProxyBridgePartition.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- import { User, StatusUpdate, Action, RemoteActions } from '@casual-simulation/causal-trees';
2
- import { CausalRepoClient, CurrentVersion } from '@casual-simulation/causal-trees/core2';
3
1
  import { Observable, Subject, BehaviorSubject } from 'rxjs';
4
2
  import { AuxPartitionRealtimeStrategy, YjsPartition } from './AuxPartition';
5
3
  import { BotAction, Bot, UpdatedBot, StateUpdatedEvent, BotsState } from '../bots';
6
4
  import { PartitionConfig, YjsClientPartitionConfig, RemoteYjsPartitionConfig } from './AuxPartitionConfig';
7
5
  import { Doc } from 'yjs';
6
+ import { Action, RemoteActions, StatusUpdate, CurrentVersion } from '../common';
7
+ import { InstRecordsClient } from '../websockets';
8
8
  /**
9
9
  * Attempts to create a YjsPartition from the given config.
10
- * @param user The user.
10
+ * @param indicator The connection indicator.
11
11
  * @param config The config.
12
12
  */
13
- export declare function createRemoteClientYjsPartition(config: PartitionConfig, user: User): YjsPartition;
13
+ export declare function createRemoteClientYjsPartition(config: PartitionConfig): YjsPartition;
14
14
  export declare class RemoteYjsPartitionImpl implements YjsPartition {
15
15
  protected _onVersionUpdated: BehaviorSubject<CurrentVersion>;
16
16
  private _onUpdates;
@@ -30,10 +30,11 @@ export declare class RemoteYjsPartitionImpl implements YjsPartition {
30
30
  private _internalPartition;
31
31
  private _isLocalTransaction;
32
32
  private _isRemoteUpdate;
33
- private _user;
34
33
  private _static;
35
34
  private _watchingBranch;
36
35
  private _synced;
36
+ private _recordName;
37
+ private _inst;
37
38
  private _branch;
38
39
  private _temporary;
39
40
  private _readOnly;
@@ -59,7 +60,7 @@ export declare class RemoteYjsPartitionImpl implements YjsPartition {
59
60
  get doc(): Doc;
60
61
  private get _remoteSite();
61
62
  private get _currentSite();
62
- constructor(user: User, client: CausalRepoClient, config: YjsClientPartitionConfig | RemoteYjsPartitionConfig);
63
+ constructor(client: InstRecordsClient, config: YjsClientPartitionConfig | RemoteYjsPartitionConfig);
63
64
  applyEvents(events: BotAction[]): Promise<BotAction[]>;
64
65
  init(): Promise<void>;
65
66
  connect(): void;