@casual-simulation/aux-vm 3.1.12 → 3.1.14-alpha.3661157217
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.
- package/managers/BaseSimulation.d.ts +17 -9
- package/managers/BaseSimulation.js +36 -10
- package/managers/BaseSimulation.js.map +1 -1
- package/managers/BotWatcher.d.ts +3 -0
- package/managers/BotWatcher.js +3 -0
- package/managers/BotWatcher.js.map +1 -1
- package/managers/Simulation.d.ts +8 -0
- package/managers/SimulationManager.d.ts +4 -1
- package/managers/SimulationManager.js +16 -0
- package/managers/SimulationManager.js.map +1 -1
- package/package.json +9 -9
- package/vm/AuxChannel.d.ts +40 -3
- package/vm/AuxConfig.d.ts +1 -1
- package/vm/AuxHelper.d.ts +5 -0
- package/vm/AuxHelper.js +24 -7
- package/vm/AuxHelper.js.map +1 -1
- package/vm/AuxVM.d.ts +25 -0
- package/vm/BaseAuxChannel.d.ts +24 -6
- package/vm/BaseAuxChannel.js +258 -12
- package/vm/BaseAuxChannel.js.map +1 -1
- package/vm/test/TestAuxVM.d.ts +3 -1
- package/vm/test/TestAuxVM.js +2 -0
- package/vm/test/TestAuxVM.js.map +1 -1
package/vm/AuxVM.d.ts
CHANGED
|
@@ -38,6 +38,14 @@ export interface AuxVM extends Initable {
|
|
|
38
38
|
* Gets an observable that resolves whenever an error occurs inside the VM.
|
|
39
39
|
*/
|
|
40
40
|
onError: Observable<AuxChannelErrorType>;
|
|
41
|
+
/**
|
|
42
|
+
* Gets an observable that resolves whenever a VM is added.
|
|
43
|
+
*/
|
|
44
|
+
subVMAdded: Observable<AuxSubVM>;
|
|
45
|
+
/**
|
|
46
|
+
* Gets an observable that resolves whenever a VM is removed.
|
|
47
|
+
*/
|
|
48
|
+
subVMRemoved: Observable<AuxSubVM>;
|
|
41
49
|
/**
|
|
42
50
|
* Sets the user that the VM should be using.
|
|
43
51
|
* @param user The user.
|
|
@@ -90,4 +98,21 @@ export interface AuxVM extends Initable {
|
|
|
90
98
|
*/
|
|
91
99
|
createEndpoint?(): Promise<MessagePort>;
|
|
92
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Defines an interface for a Sub VM.
|
|
103
|
+
*/
|
|
104
|
+
export interface AuxSubVM {
|
|
105
|
+
/**
|
|
106
|
+
* The sub vm.
|
|
107
|
+
*/
|
|
108
|
+
vm: AuxVM;
|
|
109
|
+
/**
|
|
110
|
+
* The ID of the sub vm.
|
|
111
|
+
*/
|
|
112
|
+
id: string;
|
|
113
|
+
/**
|
|
114
|
+
* The user for the sub VM.
|
|
115
|
+
*/
|
|
116
|
+
user: AuxUser;
|
|
117
|
+
}
|
|
93
118
|
//# sourceMappingURL=AuxVM.d.ts.map
|
package/vm/BaseAuxChannel.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Subject, SubscriptionLike } from 'rxjs';
|
|
2
|
-
import { AuxChannel, ChannelActionResult } from './AuxChannel';
|
|
1
|
+
import { Observable, Subject, SubscriptionLike } from 'rxjs';
|
|
2
|
+
import { AuxChannel, AuxSubChannel, ChannelActionResult } from './AuxChannel';
|
|
3
3
|
import { AuxUser } from '../AuxUser';
|
|
4
4
|
import { LocalActions, BotAction, StateUpdatedEvent, AuxPartitions, AuxPartition, PartitionConfig, AuxRuntime, AuxPartitionRealtimeEditModeProvider, LoadSpaceAction, RuntimeStateVersion } from '@casual-simulation/aux-common';
|
|
5
5
|
import { AuxHelper } from './AuxHelper';
|
|
@@ -28,26 +28,32 @@ export declare abstract class BaseAuxChannel implements AuxChannel, Subscription
|
|
|
28
28
|
private _version;
|
|
29
29
|
private _timeSync;
|
|
30
30
|
private _initStartTime;
|
|
31
|
+
private _subChannels;
|
|
31
32
|
private _user;
|
|
32
33
|
private _onLocalEvents;
|
|
33
34
|
private _onDeviceEvents;
|
|
34
35
|
private _onStateUpdated;
|
|
35
36
|
private _onVersionUpdated;
|
|
36
37
|
private _onConnectionStateChanged;
|
|
38
|
+
private _onSubChannelAdded;
|
|
39
|
+
private _onSubChannelRemoved;
|
|
37
40
|
private _onError;
|
|
41
|
+
private _tagNameMapper;
|
|
38
42
|
get onLocalEvents(): Subject<LocalActions[]>;
|
|
39
43
|
get onDeviceEvents(): Subject<DeviceAction[]>;
|
|
40
44
|
get onStateUpdated(): Subject<StateUpdatedEvent>;
|
|
41
45
|
get onVersionUpdated(): Subject<RuntimeStateVersion>;
|
|
42
46
|
get onConnectionStateChanged(): Subject<StatusUpdate>;
|
|
47
|
+
get onSubChannelAdded(): Observable<AuxSubChannel>;
|
|
48
|
+
get onSubChannelRemoved(): Observable<string>;
|
|
43
49
|
get onError(): Subject<AuxChannelErrorType>;
|
|
44
50
|
get helper(): AuxHelper;
|
|
45
51
|
get timesync(): TimeSyncController;
|
|
46
52
|
protected get user(): AuxUser;
|
|
47
53
|
constructor(user: AuxUser, config: AuxConfig, options: AuxChannelOptions);
|
|
48
|
-
init(onLocalEvents?: (events: LocalActions[]) => void, onDeviceEvents?: (events: DeviceAction[]) => void, onStateUpdated?: (state: StateUpdatedEvent) => void, onVersionUpdated?: (version: RuntimeStateVersion) => void, onConnectionStateChanged?: (state: StatusUpdate) => void, onError?: (err: AuxChannelErrorType) => void): Promise<void>;
|
|
49
|
-
initAndWait(onLocalEvents?: (events: LocalActions[]) => void, onDeviceEvents?: (events: DeviceAction[]) => void, onStateUpdated?: (state: StateUpdatedEvent) => void, onVersionUpdated?: (version: RuntimeStateVersion) => void, onConnectionStateChanged?: (state: StatusUpdate) => void, onError?: (err: AuxChannelErrorType) => void): Promise<void>;
|
|
50
|
-
registerListeners(onLocalEvents?: (events: LocalActions[]) => void, onDeviceEvents?: (events: DeviceAction[]) => void, onStateUpdated?: (state: StateUpdatedEvent) => void, onVersionUpdated?: (version: RuntimeStateVersion) => void, onConnectionStateChanged?: (state: StatusUpdate) => void, onError?: (err: AuxChannelErrorType) => void): Promise<void>;
|
|
54
|
+
init(onLocalEvents?: (events: LocalActions[]) => void, onDeviceEvents?: (events: DeviceAction[]) => void, onStateUpdated?: (state: StateUpdatedEvent) => void, onVersionUpdated?: (version: RuntimeStateVersion) => void, onConnectionStateChanged?: (state: StatusUpdate) => void, onError?: (err: AuxChannelErrorType) => void, onSubChannelAdded?: (channel: AuxSubChannel) => void, onSubChannelRemoved?: (channelId: string) => void): Promise<void>;
|
|
55
|
+
initAndWait(onLocalEvents?: (events: LocalActions[]) => void, onDeviceEvents?: (events: DeviceAction[]) => void, onStateUpdated?: (state: StateUpdatedEvent) => void, onVersionUpdated?: (version: RuntimeStateVersion) => void, onConnectionStateChanged?: (state: StatusUpdate) => void, onError?: (err: AuxChannelErrorType) => void, onSubChannelAdded?: (channel: AuxSubChannel) => void, onSubChannelRemoved?: (channelId: string) => void): Promise<void>;
|
|
56
|
+
registerListeners(onLocalEvents?: (events: LocalActions[]) => void, onDeviceEvents?: (events: DeviceAction[]) => void, onStateUpdated?: (state: StateUpdatedEvent) => void, onVersionUpdated?: (version: RuntimeStateVersion) => void, onConnectionStateChanged?: (state: StatusUpdate) => void, onError?: (err: AuxChannelErrorType) => void, onSubChannelAdded?: (channel: AuxSubChannel) => void, onSubChannelRemoved?: (channelId: string) => void): Promise<void>;
|
|
51
57
|
private _init;
|
|
52
58
|
protected _getCleanupSubscriptionsForPartition(partition: AuxPartition): SubscriptionLike[];
|
|
53
59
|
/**
|
|
@@ -75,7 +81,7 @@ export declare abstract class BaseAuxChannel implements AuxChannel, Subscription
|
|
|
75
81
|
protected _createAuxHelper(): AuxHelper;
|
|
76
82
|
protected _createTimeSyncController(): TimeSyncController;
|
|
77
83
|
protected _registerSubscriptions(): void;
|
|
78
|
-
protected _registerStateSubscriptionsForPartition(partition: AuxPartition): void;
|
|
84
|
+
protected _registerStateSubscriptionsForPartition(partition: AuxPartition, runtime: AuxRuntime): void;
|
|
79
85
|
protected _ensureSetup(): Promise<void>;
|
|
80
86
|
protected _handleStatusUpdated(state: StatusUpdate): Promise<void>;
|
|
81
87
|
/**
|
|
@@ -91,6 +97,18 @@ export declare abstract class BaseAuxChannel implements AuxChannel, Subscription
|
|
|
91
97
|
protected _handleLocalEvents(e: LocalActions[]): void;
|
|
92
98
|
protected _handleDeviceEvents(e: DeviceAction[]): void;
|
|
93
99
|
protected _loadPartition(space: string, config: PartitionConfig, event: LoadSpaceAction): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Creates an aux channel using the given runtime.
|
|
102
|
+
* @param runtime The runtime that should be used for the new channel.
|
|
103
|
+
* @param config The configuration that should be used.
|
|
104
|
+
*/
|
|
105
|
+
protected abstract _createSubChannel(user: AuxUser, runtime: AuxRuntime, config: AuxConfig): BaseAuxChannel;
|
|
106
|
+
private _attachRuntime;
|
|
107
|
+
private _detachRuntime;
|
|
108
|
+
protected _handleSubChannelAdded(subChannel: AuxSubChannel): void;
|
|
109
|
+
protected _handleSubChannelRemoved(channelId: string): void;
|
|
110
|
+
private _createTagNameMapper;
|
|
111
|
+
private _mapTagAndSpaceNames;
|
|
94
112
|
private _initUserBot;
|
|
95
113
|
private _initPortalBots;
|
|
96
114
|
private _initBuilderBots;
|
package/vm/BaseAuxChannel.js
CHANGED
|
@@ -9,12 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { Subject } from 'rxjs';
|
|
11
11
|
import { tap, first, startWith } from 'rxjs/operators';
|
|
12
|
-
import { BOT_SPACE_TAG, iteratePartitions, AuxRuntime, AuxPartitionRealtimeEditModeProvider, hasValue, asyncResult, addDebugApi, stateUpdatedEvent, registerBuiltinPortal, defineGlobalBot, isPromise, } from '@casual-simulation/aux-common';
|
|
12
|
+
import { BOT_SPACE_TAG, iteratePartitions, AuxRuntime, AuxPartitionRealtimeEditModeProvider, hasValue, asyncResult, addDebugApi, stateUpdatedEvent, registerBuiltinPortal, defineGlobalBot, isPromise, merge, asyncError, botAdded, botUpdated, createBot, getBotSpace, } from '@casual-simulation/aux-common';
|
|
13
13
|
import { AuxHelper } from './AuxHelper';
|
|
14
14
|
import { buildVersionNumber } from './AuxConfig';
|
|
15
15
|
import { remapProgressPercent, } from '@casual-simulation/causal-trees';
|
|
16
16
|
import { StatusHelper } from './StatusHelper';
|
|
17
|
-
import { flatMap, pick } from 'lodash';
|
|
17
|
+
import { flatMap, mapKeys, mapValues, pick, transform } from 'lodash';
|
|
18
18
|
import { CustomAppHelper } from '../portals/CustomAppHelper';
|
|
19
19
|
import { v4 as uuid } from 'uuid';
|
|
20
20
|
export class BaseAuxChannel {
|
|
@@ -29,8 +29,11 @@ export class BaseAuxChannel {
|
|
|
29
29
|
this._onStateUpdated = new Subject();
|
|
30
30
|
this._onVersionUpdated = new Subject();
|
|
31
31
|
this._onConnectionStateChanged = new Subject();
|
|
32
|
+
this._onSubChannelAdded = new Subject();
|
|
33
|
+
this._onSubChannelRemoved = new Subject();
|
|
32
34
|
this._onError = new Subject();
|
|
33
35
|
this._eventBuffer = [];
|
|
36
|
+
this._subChannels = [];
|
|
34
37
|
this._hasInitialState = false;
|
|
35
38
|
this._version = {
|
|
36
39
|
localSites: {},
|
|
@@ -77,6 +80,12 @@ export class BaseAuxChannel {
|
|
|
77
80
|
get onConnectionStateChanged() {
|
|
78
81
|
return this._onConnectionStateChanged;
|
|
79
82
|
}
|
|
83
|
+
get onSubChannelAdded() {
|
|
84
|
+
return this._onSubChannelAdded;
|
|
85
|
+
}
|
|
86
|
+
get onSubChannelRemoved() {
|
|
87
|
+
return this._onSubChannelRemoved;
|
|
88
|
+
}
|
|
80
89
|
get onError() {
|
|
81
90
|
return this._onError;
|
|
82
91
|
}
|
|
@@ -89,7 +98,7 @@ export class BaseAuxChannel {
|
|
|
89
98
|
get user() {
|
|
90
99
|
return this._user;
|
|
91
100
|
}
|
|
92
|
-
init(onLocalEvents, onDeviceEvents, onStateUpdated, onVersionUpdated, onConnectionStateChanged, onError) {
|
|
101
|
+
init(onLocalEvents, onDeviceEvents, onStateUpdated, onVersionUpdated, onConnectionStateChanged, onError, onSubChannelAdded, onSubChannelRemoved) {
|
|
93
102
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
103
|
if (onLocalEvents) {
|
|
95
104
|
this.onLocalEvents.subscribe((e) => onLocalEvents(e));
|
|
@@ -106,22 +115,28 @@ export class BaseAuxChannel {
|
|
|
106
115
|
if (onDeviceEvents) {
|
|
107
116
|
this.onDeviceEvents.subscribe((e) => onDeviceEvents(e));
|
|
108
117
|
}
|
|
118
|
+
if (onSubChannelAdded) {
|
|
119
|
+
this.onSubChannelAdded.subscribe((s) => onSubChannelAdded(s));
|
|
120
|
+
}
|
|
121
|
+
if (onSubChannelRemoved) {
|
|
122
|
+
this.onSubChannelRemoved.subscribe((s) => onSubChannelRemoved(s));
|
|
123
|
+
}
|
|
109
124
|
// if (onError) {
|
|
110
125
|
// this.onError.subscribe(onError);
|
|
111
126
|
// }
|
|
112
127
|
return yield this._init();
|
|
113
128
|
});
|
|
114
129
|
}
|
|
115
|
-
initAndWait(onLocalEvents, onDeviceEvents, onStateUpdated, onVersionUpdated, onConnectionStateChanged, onError) {
|
|
130
|
+
initAndWait(onLocalEvents, onDeviceEvents, onStateUpdated, onVersionUpdated, onConnectionStateChanged, onError, onSubChannelAdded, onSubChannelRemoved) {
|
|
116
131
|
return __awaiter(this, void 0, void 0, function* () {
|
|
117
132
|
const promise = this.onConnectionStateChanged
|
|
118
133
|
.pipe(first((s) => s.type === 'init'))
|
|
119
134
|
.toPromise();
|
|
120
|
-
yield this.init(onLocalEvents, onDeviceEvents, onStateUpdated, onVersionUpdated, onConnectionStateChanged, onError);
|
|
135
|
+
yield this.init(onLocalEvents, onDeviceEvents, onStateUpdated, onVersionUpdated, onConnectionStateChanged, onError, onSubChannelAdded, onSubChannelRemoved);
|
|
121
136
|
yield promise;
|
|
122
137
|
});
|
|
123
138
|
}
|
|
124
|
-
registerListeners(onLocalEvents, onDeviceEvents, onStateUpdated, onVersionUpdated, onConnectionStateChanged, onError) {
|
|
139
|
+
registerListeners(onLocalEvents, onDeviceEvents, onStateUpdated, onVersionUpdated, onConnectionStateChanged, onError, onSubChannelAdded, onSubChannelRemoved) {
|
|
125
140
|
return __awaiter(this, void 0, void 0, function* () {
|
|
126
141
|
if (onLocalEvents) {
|
|
127
142
|
this.onLocalEvents.subscribe((e) => onLocalEvents(e));
|
|
@@ -146,6 +161,12 @@ export class BaseAuxChannel {
|
|
|
146
161
|
if (onDeviceEvents) {
|
|
147
162
|
this.onDeviceEvents.subscribe((e) => onDeviceEvents(e));
|
|
148
163
|
}
|
|
164
|
+
if (onSubChannelAdded) {
|
|
165
|
+
this.onSubChannelAdded.subscribe((s) => onSubChannelAdded(s));
|
|
166
|
+
}
|
|
167
|
+
if (onSubChannelRemoved) {
|
|
168
|
+
this.onSubChannelRemoved.subscribe((s) => onSubChannelRemoved(s));
|
|
169
|
+
}
|
|
149
170
|
});
|
|
150
171
|
}
|
|
151
172
|
_init() {
|
|
@@ -217,6 +238,21 @@ export class BaseAuxChannel {
|
|
|
217
238
|
sendEvents(events) {
|
|
218
239
|
return __awaiter(this, void 0, void 0, function* () {
|
|
219
240
|
if (this._hasInitialState) {
|
|
241
|
+
if (this._tagNameMapper) {
|
|
242
|
+
let mappedEvents = [];
|
|
243
|
+
for (let event of events) {
|
|
244
|
+
if (event.type === 'update_bot') {
|
|
245
|
+
mappedEvents.push(botUpdated(event.id, mapBotTagsAndSpace(event.update, this._tagNameMapper.reverse, (s) => s, null)));
|
|
246
|
+
}
|
|
247
|
+
else if (event.type === 'add_bot') {
|
|
248
|
+
mappedEvents.push(botAdded(mapBotTagsAndSpace(event.bot, this._tagNameMapper.reverse, (s) => s, 'shared')));
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
mappedEvents.push(event);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
events = mappedEvents;
|
|
255
|
+
}
|
|
220
256
|
yield this._helper.transaction(...events);
|
|
221
257
|
}
|
|
222
258
|
else {
|
|
@@ -308,7 +344,7 @@ export class BaseAuxChannel {
|
|
|
308
344
|
this._sendRemoteEvents(e);
|
|
309
345
|
}));
|
|
310
346
|
for (let [, partition] of iteratePartitions(this._partitions)) {
|
|
311
|
-
this._registerStateSubscriptionsForPartition(partition);
|
|
347
|
+
this._registerStateSubscriptionsForPartition(partition, this._runtime);
|
|
312
348
|
}
|
|
313
349
|
if (this._timeSync) {
|
|
314
350
|
this._subs.push(this._timeSync, this._timeSync.syncUpdated.subscribe(() => {
|
|
@@ -322,7 +358,7 @@ export class BaseAuxChannel {
|
|
|
322
358
|
this._timeSync.init();
|
|
323
359
|
}
|
|
324
360
|
}
|
|
325
|
-
_registerStateSubscriptionsForPartition(partition) {
|
|
361
|
+
_registerStateSubscriptionsForPartition(partition, runtime) {
|
|
326
362
|
this._subs.push(partition.onStateUpdated
|
|
327
363
|
.pipe(tap((e) => {
|
|
328
364
|
if (e.addedBots.length <= 0 &&
|
|
@@ -330,11 +366,15 @@ export class BaseAuxChannel {
|
|
|
330
366
|
e.updatedBots.length <= 0) {
|
|
331
367
|
return;
|
|
332
368
|
}
|
|
333
|
-
|
|
369
|
+
let finalState = runtime.stateUpdated(e);
|
|
370
|
+
if (this._tagNameMapper) {
|
|
371
|
+
finalState = this._mapTagAndSpaceNames(finalState, this._tagNameMapper);
|
|
372
|
+
}
|
|
373
|
+
this._handleStateUpdated(finalState);
|
|
334
374
|
}))
|
|
335
375
|
.subscribe(null, (e) => console.error(e)), partition.onVersionUpdated
|
|
336
376
|
.pipe(tap((v) => {
|
|
337
|
-
this._version =
|
|
377
|
+
this._version = runtime.versionUpdated(v);
|
|
338
378
|
this._onVersionUpdated.next(this._version);
|
|
339
379
|
}))
|
|
340
380
|
.subscribe(null, (e) => console.error(e)));
|
|
@@ -343,7 +383,6 @@ export class BaseAuxChannel {
|
|
|
343
383
|
return __awaiter(this, void 0, void 0, function* () {
|
|
344
384
|
// console.log('[AuxChannel] Got Tree:', this._aux.tree.site.id);
|
|
345
385
|
if (!this._runtime) {
|
|
346
|
-
this._partitions;
|
|
347
386
|
this._runtime = this._createRuntime();
|
|
348
387
|
this._subs.push(this._runtime);
|
|
349
388
|
}
|
|
@@ -440,6 +479,12 @@ export class BaseAuxChannel {
|
|
|
440
479
|
if (event.type === 'load_space') {
|
|
441
480
|
this._loadPartition(event.space, event.config, event);
|
|
442
481
|
}
|
|
482
|
+
else if (event.type === 'attach_runtime') {
|
|
483
|
+
this._attachRuntime(event.runtime, event);
|
|
484
|
+
}
|
|
485
|
+
else if (event.type === 'detach_runtime') {
|
|
486
|
+
this._detachRuntime(event.runtime, event);
|
|
487
|
+
}
|
|
443
488
|
}
|
|
444
489
|
this._portalHelper.handleEvents(e);
|
|
445
490
|
const copiableEvents = e.filter((e) => !e.uncopiable);
|
|
@@ -474,10 +519,176 @@ export class BaseAuxChannel {
|
|
|
474
519
|
}
|
|
475
520
|
partition.connect();
|
|
476
521
|
if (this._hasRegisteredSubs) {
|
|
477
|
-
this._registerStateSubscriptionsForPartition(partition);
|
|
522
|
+
this._registerStateSubscriptionsForPartition(partition, this._runtime);
|
|
523
|
+
}
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
_attachRuntime(runtime, event) {
|
|
527
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
528
|
+
try {
|
|
529
|
+
const newUserId = uuid();
|
|
530
|
+
const channelId = uuid();
|
|
531
|
+
let initialStates = {};
|
|
532
|
+
for (let id in runtime.currentState) {
|
|
533
|
+
const bot = runtime.currentState[id];
|
|
534
|
+
const space = getBotSpace(bot);
|
|
535
|
+
if (!initialStates[space]) {
|
|
536
|
+
initialStates[space] = {};
|
|
537
|
+
}
|
|
538
|
+
initialStates[space][id] = createBot(id, bot.tags, space);
|
|
539
|
+
}
|
|
540
|
+
const partitions = mapValues(this._config.partitions, (p, space) => {
|
|
541
|
+
var _a;
|
|
542
|
+
return {
|
|
543
|
+
type: 'memory',
|
|
544
|
+
initialState: (_a = initialStates[space]) !== null && _a !== void 0 ? _a : {},
|
|
545
|
+
};
|
|
546
|
+
});
|
|
547
|
+
const channel = this._createSubChannel({
|
|
548
|
+
id: newUserId,
|
|
549
|
+
name: newUserId,
|
|
550
|
+
token: newUserId,
|
|
551
|
+
username: newUserId,
|
|
552
|
+
}, runtime, {
|
|
553
|
+
config: Object.assign({}, this._config.config),
|
|
554
|
+
// Map all partitions to memory partitions for now
|
|
555
|
+
partitions,
|
|
556
|
+
});
|
|
557
|
+
channel._runtime.userId = newUserId;
|
|
558
|
+
channel._tagNameMapper = this._createTagNameMapper(event.tagNameMapper);
|
|
559
|
+
const subChannel = {
|
|
560
|
+
getInfo: () => __awaiter(this, void 0, void 0, function* () {
|
|
561
|
+
return ({
|
|
562
|
+
id: channelId,
|
|
563
|
+
user: Object.assign(Object.assign({}, this._user), { id: newUserId }),
|
|
564
|
+
});
|
|
565
|
+
}),
|
|
566
|
+
getChannel: () => __awaiter(this, void 0, void 0, function* () { return channel; }),
|
|
567
|
+
};
|
|
568
|
+
this._subChannels.push({
|
|
569
|
+
channel,
|
|
570
|
+
id: channelId,
|
|
571
|
+
});
|
|
572
|
+
this._subs.push(channel);
|
|
573
|
+
this._handleSubChannelAdded(subChannel);
|
|
574
|
+
if (hasValue(event.taskId)) {
|
|
575
|
+
this.sendEvents([asyncResult(event.taskId, null)]);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
catch (err) {
|
|
579
|
+
if (hasValue(event.taskId)) {
|
|
580
|
+
this.sendEvents([asyncError(event.taskId, err)]);
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
_detachRuntime(runtime, event) {
|
|
586
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
587
|
+
try {
|
|
588
|
+
const index = this._subChannels.findIndex((c) => c.channel._runtime === runtime);
|
|
589
|
+
if (index < 0) {
|
|
590
|
+
if (hasValue(event.taskId)) {
|
|
591
|
+
this.sendEvents([asyncResult(event.taskId, null)]);
|
|
592
|
+
}
|
|
593
|
+
return;
|
|
594
|
+
}
|
|
595
|
+
const { channel, id } = this._subChannels[index];
|
|
596
|
+
channel.unsubscribe();
|
|
597
|
+
this._subChannels.splice(index, 1);
|
|
598
|
+
const subIndex = this._subs.indexOf(channel);
|
|
599
|
+
if (subIndex >= 0) {
|
|
600
|
+
this._subs.splice(subIndex, 1);
|
|
601
|
+
}
|
|
602
|
+
this._handleSubChannelRemoved(id);
|
|
603
|
+
if (hasValue(event.taskId)) {
|
|
604
|
+
this.sendEvents([asyncResult(event.taskId, null)]);
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
catch (err) {
|
|
608
|
+
if (hasValue(event.taskId)) {
|
|
609
|
+
this.sendEvents([asyncError(event.taskId, err)]);
|
|
610
|
+
}
|
|
478
611
|
}
|
|
479
612
|
});
|
|
480
613
|
}
|
|
614
|
+
_handleSubChannelAdded(subChannel) {
|
|
615
|
+
this._onSubChannelAdded.next(subChannel);
|
|
616
|
+
}
|
|
617
|
+
_handleSubChannelRemoved(channelId) {
|
|
618
|
+
this._onSubChannelRemoved.next(channelId);
|
|
619
|
+
}
|
|
620
|
+
_createTagNameMapper(tagNameMapper) {
|
|
621
|
+
const tagNameMap = new Map();
|
|
622
|
+
const reverseTagNameMap = new Map();
|
|
623
|
+
const forwardTagNameMapper = (name) => {
|
|
624
|
+
if (tagNameMap.has(name)) {
|
|
625
|
+
return tagNameMap.get(name);
|
|
626
|
+
}
|
|
627
|
+
if (tagNameMapper === null || tagNameMapper === void 0 ? void 0 : tagNameMapper.forward) {
|
|
628
|
+
const mapped = tagNameMapper.forward(name);
|
|
629
|
+
if (mapped !== name) {
|
|
630
|
+
if (tagNameMap.has(name) &&
|
|
631
|
+
tagNameMap.get(name) !== mapped) {
|
|
632
|
+
console.warn('[BaseAuxChannel] It is not possible to map multiple different tag names to the same name.');
|
|
633
|
+
return name;
|
|
634
|
+
}
|
|
635
|
+
else if (reverseTagNameMap.has(mapped) &&
|
|
636
|
+
reverseTagNameMap.get(mapped) !== name) {
|
|
637
|
+
console.warn('[BaseAuxChannel] It is not possible to map multiple different tag names to the same name.');
|
|
638
|
+
return name;
|
|
639
|
+
}
|
|
640
|
+
tagNameMap.set(name, mapped);
|
|
641
|
+
reverseTagNameMap.set(mapped, name);
|
|
642
|
+
}
|
|
643
|
+
return mapped;
|
|
644
|
+
}
|
|
645
|
+
return name;
|
|
646
|
+
};
|
|
647
|
+
const reverseTagNameMapper = (name) => {
|
|
648
|
+
if (reverseTagNameMap.has(name)) {
|
|
649
|
+
return reverseTagNameMap.get(name);
|
|
650
|
+
}
|
|
651
|
+
if (tagNameMapper === null || tagNameMapper === void 0 ? void 0 : tagNameMapper.reverse) {
|
|
652
|
+
const mapped = tagNameMapper.reverse(name);
|
|
653
|
+
if (mapped !== name) {
|
|
654
|
+
if (reverseTagNameMap.has(name) &&
|
|
655
|
+
reverseTagNameMap.get(name) !== mapped) {
|
|
656
|
+
console.warn('[BaseAuxChannel] It is not possible to map multiple different tag names to the same name.');
|
|
657
|
+
return name;
|
|
658
|
+
}
|
|
659
|
+
else if (tagNameMap.has(mapped) &&
|
|
660
|
+
tagNameMap.get(mapped) !== name) {
|
|
661
|
+
console.warn('[BaseAuxChannel] It is not possible to map multiple different tag names to the same name.');
|
|
662
|
+
return name;
|
|
663
|
+
}
|
|
664
|
+
reverseTagNameMap.set(name, mapped);
|
|
665
|
+
tagNameMap.set(mapped, name);
|
|
666
|
+
}
|
|
667
|
+
return mapped;
|
|
668
|
+
}
|
|
669
|
+
return name;
|
|
670
|
+
};
|
|
671
|
+
return {
|
|
672
|
+
forward: forwardTagNameMapper,
|
|
673
|
+
reverse: reverseTagNameMapper,
|
|
674
|
+
};
|
|
675
|
+
}
|
|
676
|
+
_mapTagAndSpaceNames(update, tagNameMapper) {
|
|
677
|
+
const u = {
|
|
678
|
+
state: Object.assign({}, update.state),
|
|
679
|
+
addedBots: update.addedBots,
|
|
680
|
+
removedBots: update.removedBots,
|
|
681
|
+
updatedBots: update.updatedBots,
|
|
682
|
+
version: update.version,
|
|
683
|
+
};
|
|
684
|
+
for (let added of update.addedBots) {
|
|
685
|
+
u.state[added] = mapBotTagsAndSpace(update.state[added], tagNameMapper.forward, (s) => s, 'shared');
|
|
686
|
+
}
|
|
687
|
+
for (let updated of update.updatedBots) {
|
|
688
|
+
u.state[updated] = mapBotTagsAndSpace(update.state[updated], tagNameMapper.forward, (s) => s, null);
|
|
689
|
+
}
|
|
690
|
+
return u;
|
|
691
|
+
}
|
|
481
692
|
_initUserBot() {
|
|
482
693
|
return __awaiter(this, void 0, void 0, function* () {
|
|
483
694
|
if (!this.user) {
|
|
@@ -556,4 +767,39 @@ export class BaseAuxChannel {
|
|
|
556
767
|
}
|
|
557
768
|
}
|
|
558
769
|
addDebugApi('getChannel', () => null);
|
|
770
|
+
function mapBotTagsAndSpace(bot, tagNameMapper, spaceNameMapper, defaultSpace) {
|
|
771
|
+
if (hasValue(bot.space)) {
|
|
772
|
+
const space = spaceNameMapper(bot.space);
|
|
773
|
+
if (space !== bot.space) {
|
|
774
|
+
bot = merge(bot, {
|
|
775
|
+
space,
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
else if (defaultSpace && defaultSpace !== bot.space) {
|
|
780
|
+
bot = merge(bot, {
|
|
781
|
+
space: defaultSpace,
|
|
782
|
+
});
|
|
783
|
+
}
|
|
784
|
+
let merger = {};
|
|
785
|
+
let hasMerger = false;
|
|
786
|
+
if (hasValue(bot.tags)) {
|
|
787
|
+
merger.tags = mapKeys(bot.tags, (v, k) => tagNameMapper(k));
|
|
788
|
+
hasMerger = true;
|
|
789
|
+
}
|
|
790
|
+
if (hasValue(bot.values)) {
|
|
791
|
+
merger.values = mapKeys(bot.values, (v, k) => tagNameMapper(k));
|
|
792
|
+
hasMerger = true;
|
|
793
|
+
}
|
|
794
|
+
if (hasValue(bot.masks)) {
|
|
795
|
+
merger.masks = transform(bot.masks, (result, value, key) => {
|
|
796
|
+
result[spaceNameMapper(key)] = mapKeys(value, (v, k) => tagNameMapper(k));
|
|
797
|
+
}, {});
|
|
798
|
+
hasMerger = true;
|
|
799
|
+
}
|
|
800
|
+
if (hasMerger) {
|
|
801
|
+
bot = Object.assign({}, bot, merger);
|
|
802
|
+
}
|
|
803
|
+
return bot;
|
|
804
|
+
}
|
|
559
805
|
//# sourceMappingURL=BaseAuxChannel.js.map
|
package/vm/BaseAuxChannel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseAuxChannel.js","sourceRoot":"","sources":["BaseAuxChannel.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseAuxChannel.js","sourceRoot":"","sources":["BaseAuxChannel.ts"],"names":[],"mappings":"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"}
|
package/vm/test/TestAuxVM.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AuxVM } from '../AuxVM';
|
|
1
|
+
import { AuxSubVM, AuxVM } from '../AuxVM';
|
|
2
2
|
import { Observable, Subject } from 'rxjs';
|
|
3
3
|
import { AuxChannelErrorType } from '../AuxChannelErrorTypes';
|
|
4
4
|
import { LocalActions, BotAction, BotsState, StateUpdatedEvent, RuntimeStateVersion } from '@casual-simulation/aux-common';
|
|
@@ -19,6 +19,8 @@ export declare class TestAuxVM implements AuxVM {
|
|
|
19
19
|
connectionStateChanged: Subject<StatusUpdate>;
|
|
20
20
|
versionUpdated: Subject<RuntimeStateVersion>;
|
|
21
21
|
onError: Subject<AuxChannelErrorType>;
|
|
22
|
+
subVMAdded: Subject<AuxSubVM>;
|
|
23
|
+
subVMRemoved: Subject<AuxSubVM>;
|
|
22
24
|
grant: string;
|
|
23
25
|
user: AuxUser;
|
|
24
26
|
get stateUpdated(): Observable<StateUpdatedEvent>;
|
package/vm/test/TestAuxVM.js
CHANGED
|
@@ -35,6 +35,8 @@ export class TestAuxVM {
|
|
|
35
35
|
this.connectionStateChanged = new Subject();
|
|
36
36
|
this.onError = new Subject();
|
|
37
37
|
this.versionUpdated = new Subject();
|
|
38
|
+
this.subVMAdded = new Subject();
|
|
39
|
+
this.subVMRemoved = new Subject();
|
|
38
40
|
}
|
|
39
41
|
get stateUpdated() {
|
|
40
42
|
return this._stateUpdated;
|
package/vm/test/TestAuxVM.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestAuxVM.js","sourceRoot":"","sources":["TestAuxVM.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAc,OAAO,EAAE,MAAM,MAAM,CAAC;AAG3C,OAAO,EAMH,KAAK,EACL,gBAAgB,EAChB,SAAS,EAET,UAAU,EAEV,SAAS,GACZ,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAK/B,MAAM,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"TestAuxVM.js","sourceRoot":"","sources":["TestAuxVM.ts"],"names":[],"mappings":"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"}
|