@casual-simulation/aux-vm-browser 3.3.4-alpha.9230094984 → 3.3.4-alpha.9289538794
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/html/IFrameHelpers.d.ts +1 -1
- package/html/IFrameHelpers.js +12 -4
- package/html/IFrameHelpers.js.map +1 -1
- package/managers/BotManager.d.ts +3 -3
- package/managers/BotManager.js +5 -7
- package/managers/BotManager.js.map +1 -1
- package/package.json +10 -10
- package/vm/AuxVMImpl.d.ts +26 -23
- package/vm/AuxVMImpl.js +3 -21
- package/vm/AuxVMImpl.js.map +1 -1
- package/vm/StaticAuxVMImpl.d.ts +15 -0
- package/vm/StaticAuxVMImpl.js +111 -0
- package/vm/StaticAuxVMImpl.js.map +1 -0
- package/vm/index.d.ts +0 -1
- package/vm/index.js +0 -1
- package/vm/index.js.map +1 -1
package/html/IFrameHelpers.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { Observable } from 'rxjs';
|
|
|
4
4
|
* Creates a new message channel and sends port2 to the iframe in a message.
|
|
5
5
|
* @param iframeWindow The window to send the port to.
|
|
6
6
|
*/
|
|
7
|
-
export declare function setupChannel(iframeWindow: Window): MessageChannel;
|
|
7
|
+
export declare function setupChannel(iframeWindow: Window | Worker): MessageChannel;
|
|
8
8
|
/**
|
|
9
9
|
* Listens for the init_port event from the global context.
|
|
10
10
|
* @param origin The origin that the channels should be recieved from.
|
package/html/IFrameHelpers.js
CHANGED
|
@@ -15,10 +15,18 @@ import { Observable } from 'rxjs';
|
|
|
15
15
|
*/
|
|
16
16
|
export function setupChannel(iframeWindow) {
|
|
17
17
|
const channel = new MessageChannel();
|
|
18
|
-
iframeWindow
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
if (iframeWindow instanceof Worker) {
|
|
19
|
+
iframeWindow.postMessage({
|
|
20
|
+
type: 'init_port',
|
|
21
|
+
port: channel.port2,
|
|
22
|
+
}, [channel.port2]);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
iframeWindow.postMessage({
|
|
26
|
+
type: 'init_port',
|
|
27
|
+
port: channel.port2,
|
|
28
|
+
}, '*', [channel.port2]);
|
|
29
|
+
}
|
|
22
30
|
return channel;
|
|
23
31
|
}
|
|
24
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IFrameHelpers.js","sourceRoot":"","sources":["IFrameHelpers.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,+CAA+C,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"IFrameHelpers.js","sourceRoot":"","sources":["IFrameHelpers.ts"],"names":[],"mappings":"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"}
|
package/managers/BotManager.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bot, BotTags, AuxPartitionConfig } from '@casual-simulation/aux-common';
|
|
1
|
+
import { Bot, BotTags, AuxPartitionConfig, BotsState } from '@casual-simulation/aux-common';
|
|
2
2
|
import { AuxVM, BaseSimulation, LoginManager, AuxConfig, RecordsManager } from '@casual-simulation/aux-vm';
|
|
3
3
|
import { BotPanelManager } from './BotPanelManager';
|
|
4
4
|
import { BrowserSimulation } from './BrowserSimulation';
|
|
@@ -39,9 +39,9 @@ export declare class BotManager extends BaseSimulation implements BrowserSimulat
|
|
|
39
39
|
get livekit(): LivekitManager;
|
|
40
40
|
get consoleMessages(): Observable<ConsoleMessages>;
|
|
41
41
|
get portals(): PortalManager;
|
|
42
|
-
static createDefaultPartitions(id: string, configBotId: string, origin: SimulationOrigin, config: AuxConfig['config']): Partial<AuxPartitionConfig>;
|
|
42
|
+
static createDefaultPartitions(id: string, configBotId: string, origin: SimulationOrigin, config: AuxConfig['config'], initialTempState?: BotsState): Partial<AuxPartitionConfig>;
|
|
43
43
|
static createPartitions(id: string, configBotId: string, origin: SimulationOrigin, config: AuxConfig['config'], defaultHost?: string): AuxPartitionConfig;
|
|
44
|
-
static createStaticPartitions(id: string, configBotId: string, origin: SimulationOrigin, config: AuxConfig['config']): AuxPartitionConfig;
|
|
44
|
+
static createStaticPartitions(id: string, configBotId: string, origin: SimulationOrigin, config: AuxConfig['config'], initialTempState?: BotsState): AuxPartitionConfig;
|
|
45
45
|
constructor(origin: SimulationOrigin, config: AuxConfig['config'], vm: AuxVM, auth?: AuthHelper);
|
|
46
46
|
editBot(bot: Bot | BotTags, tag: string, value: any, space?: string): Promise<void>;
|
|
47
47
|
protected _beforeVmInit(): void;
|
package/managers/BotManager.js
CHANGED
|
@@ -66,17 +66,15 @@ export class BotManager extends BaseSimulation {
|
|
|
66
66
|
get portals() {
|
|
67
67
|
return this._portals;
|
|
68
68
|
}
|
|
69
|
-
static createDefaultPartitions(id, configBotId, origin, config) {
|
|
69
|
+
static createDefaultPartitions(id, configBotId, origin, config, initialTempState = {}) {
|
|
70
70
|
var _a;
|
|
71
71
|
const defaultPartitions = {
|
|
72
72
|
[TEMPORARY_BOT_PARTITION_ID]: {
|
|
73
73
|
type: 'memory',
|
|
74
74
|
private: true,
|
|
75
|
-
initialState: {
|
|
76
|
-
[configBotId]: createBot(configBotId, {
|
|
75
|
+
initialState: Object.assign({ [configBotId]: createBot(configBotId, {
|
|
77
76
|
inst: (_a = origin.inst) !== null && _a !== void 0 ? _a : id,
|
|
78
|
-
}),
|
|
79
|
-
},
|
|
77
|
+
}) }, initialTempState),
|
|
80
78
|
},
|
|
81
79
|
[COOKIE_BOT_PARTITION_ID]: {
|
|
82
80
|
type: 'proxy',
|
|
@@ -146,14 +144,14 @@ export class BotManager extends BaseSimulation {
|
|
|
146
144
|
const finalPartitions = Object.assign({}, defaultPartitions, partitions);
|
|
147
145
|
return finalPartitions;
|
|
148
146
|
}
|
|
149
|
-
static createStaticPartitions(id, configBotId, origin, config) {
|
|
147
|
+
static createStaticPartitions(id, configBotId, origin, config, initialTempState = {}) {
|
|
150
148
|
var _a, _b;
|
|
151
149
|
const localPersistence = (_a = config.staticRepoLocalPersistence) !== null && _a !== void 0 ? _a : true;
|
|
152
150
|
console.log('[BotManager] Using static partitions');
|
|
153
151
|
if (localPersistence) {
|
|
154
152
|
console.log('[BotManager] Enabling local persistence.');
|
|
155
153
|
}
|
|
156
|
-
const defaultPartitions = BotManager.createDefaultPartitions(id, configBotId, origin, config);
|
|
154
|
+
const defaultPartitions = BotManager.createDefaultPartitions(id, configBotId, origin, config, initialTempState);
|
|
157
155
|
let partitions = {
|
|
158
156
|
shared: {
|
|
159
157
|
type: 'memory',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BotManager.js","sourceRoot":"","sources":["BotManager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAIH,SAAS,EAIT,0BAA0B,EAC1B,uBAAuB,EAIvB,KAAK,EAIL,6BAA6B,EAC7B,oCAAoC,EACpC,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,yBAAyB,EAKzB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"BotManager.js","sourceRoot":"","sources":["BotManager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@casual-simulation/aux-vm-browser",
|
|
3
|
-
"version": "3.3.4-alpha.
|
|
3
|
+
"version": "3.3.4-alpha.9289538794",
|
|
4
4
|
"description": "A set of utilities required to securely run an AUX in a web browser.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aux"
|
|
@@ -40,16 +40,16 @@
|
|
|
40
40
|
"url": "https://github.com/casual-simulation/casualos/issues"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@casual-simulation/aux-common": "^3.3.4-alpha.
|
|
44
|
-
"@casual-simulation/aux-records": "^3.3.4-alpha.
|
|
45
|
-
"@casual-simulation/aux-runtime": "^3.3.4-alpha.
|
|
46
|
-
"@casual-simulation/aux-vm": "^3.3.4-alpha.
|
|
47
|
-
"@casual-simulation/aux-vm-client": "^3.3.4-alpha.
|
|
48
|
-
"@casual-simulation/aux-websocket": "^3.3.4-alpha.
|
|
49
|
-
"@casual-simulation/aux-websocket-aws": "^3.3.4-alpha.
|
|
43
|
+
"@casual-simulation/aux-common": "^3.3.4-alpha.9289538794",
|
|
44
|
+
"@casual-simulation/aux-records": "^3.3.4-alpha.9289538794",
|
|
45
|
+
"@casual-simulation/aux-runtime": "^3.3.4-alpha.9289538794",
|
|
46
|
+
"@casual-simulation/aux-vm": "^3.3.4-alpha.9289538794",
|
|
47
|
+
"@casual-simulation/aux-vm-client": "^3.3.4-alpha.9289538794",
|
|
48
|
+
"@casual-simulation/aux-websocket": "^3.3.4-alpha.9289538794",
|
|
49
|
+
"@casual-simulation/aux-websocket-aws": "^3.3.4-alpha.9289538794",
|
|
50
50
|
"@casual-simulation/crypto": "^3.2.7",
|
|
51
51
|
"@casual-simulation/crypto-browser": "^3.2.7",
|
|
52
|
-
"@casual-simulation/websocket": "^3.3.4-alpha.
|
|
52
|
+
"@casual-simulation/websocket": "^3.3.4-alpha.9289538794",
|
|
53
53
|
"axios": "1.6.2",
|
|
54
54
|
"bowser": "^2.4.0",
|
|
55
55
|
"comlink": "4.3.1",
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"rxjs": "8.0.0-alpha.14",
|
|
59
59
|
"uuid": "^8.3.2"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "9619b78554d8fe16e8ad7f72c0afed688c760e3d"
|
|
62
62
|
}
|
package/vm/AuxVMImpl.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { BotAction, StateUpdatedEvent, StoredAux, PartitionAuthMessage } from '@casual-simulation/aux-common';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
2
|
+
import { Observable, Subject } from 'rxjs';
|
|
3
3
|
import { Remote } from 'comlink';
|
|
4
4
|
import { AuxConfig, AuxVM, ChannelActionResult, SimulationOrigin } from '@casual-simulation/aux-vm';
|
|
5
5
|
import { AuxChannel, AuxChannelErrorType } from '@casual-simulation/aux-vm';
|
|
6
6
|
import { StatusUpdate, DeviceAction } from '@casual-simulation/aux-common';
|
|
7
|
-
import { AuxSubVM } from '@casual-simulation/aux-vm/vm';
|
|
7
|
+
import { AuxSubChannel, AuxSubVM } from '@casual-simulation/aux-vm/vm';
|
|
8
8
|
import { AuxDevice, RuntimeActions, RuntimeStateVersion } from '@casual-simulation/aux-runtime';
|
|
9
9
|
export declare const DEFAULT_IFRAME_ALLOW_ATTRIBUTE = "accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking";
|
|
10
10
|
export declare const DEFAULT_IFRAME_SANDBOX_ATTRIBUTE = "allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts allow-downloads";
|
|
@@ -12,24 +12,26 @@ export declare const DEFAULT_IFRAME_SANDBOX_ATTRIBUTE = "allow-forms allow-modal
|
|
|
12
12
|
* Defines an interface for an AUX that is run inside a virtual machine.
|
|
13
13
|
* That is, the AUX is run inside a web worker.
|
|
14
14
|
*/
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
15
|
+
export default class AuxVMImpl implements AuxVM {
|
|
16
|
+
protected _localEvents: Subject<RuntimeActions[]>;
|
|
17
|
+
protected _deviceEvents: Subject<DeviceAction[]>;
|
|
18
|
+
protected _connectionStateChanged: Subject<StatusUpdate>;
|
|
19
|
+
protected _stateUpdated: Subject<StateUpdatedEvent>;
|
|
20
|
+
protected _versionUpdated: Subject<RuntimeStateVersion>;
|
|
21
|
+
protected _onError: Subject<AuxChannelErrorType>;
|
|
22
|
+
protected _subVMAdded: Subject<AuxSubVM>;
|
|
23
|
+
protected _subVMRemoved: Subject<AuxSubVM>;
|
|
24
|
+
protected _subVMMap: Map<string, AuxSubVM & {
|
|
25
|
+
channel: Remote<AuxChannel>;
|
|
26
|
+
}>;
|
|
27
|
+
protected _onAuthMessage: Subject<PartitionAuthMessage>;
|
|
28
|
+
protected _config: AuxConfig;
|
|
29
|
+
protected _iframe: HTMLIFrameElement;
|
|
30
|
+
protected _channel: MessageChannel;
|
|
31
|
+
protected _proxy: Remote<AuxChannel>;
|
|
32
|
+
protected _id: string;
|
|
33
|
+
protected _relaxOrigin: boolean;
|
|
34
|
+
protected _origin: SimulationOrigin;
|
|
33
35
|
closed: boolean;
|
|
34
36
|
/**
|
|
35
37
|
* The ID of the simulation.
|
|
@@ -54,7 +56,7 @@ export declare class AuxVMImpl implements AuxVM {
|
|
|
54
56
|
* Initaializes the VM.
|
|
55
57
|
*/
|
|
56
58
|
init(): Promise<void>;
|
|
57
|
-
|
|
59
|
+
protected _init(): Promise<void>;
|
|
58
60
|
/**
|
|
59
61
|
* The observable list of events that should be produced locally.
|
|
60
62
|
*/
|
|
@@ -96,7 +98,8 @@ export declare class AuxVMImpl implements AuxVM {
|
|
|
96
98
|
sendAuthMessage(message: PartitionAuthMessage): Promise<void>;
|
|
97
99
|
unsubscribe(): void;
|
|
98
100
|
protected _createSubVM(id: string, origin: SimulationOrigin, configBotId: string, channel: Remote<AuxChannel>): AuxVM;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
+
protected _handleAddedSubChannel(subChannel: AuxSubChannel): Promise<void>;
|
|
102
|
+
protected _handleRemovedSubChannel(channelId: string): Promise<void>;
|
|
101
103
|
}
|
|
104
|
+
export declare function processPartitions(config: AuxConfig): AuxConfig;
|
|
102
105
|
//# sourceMappingURL=AuxVMImpl.d.ts.map
|
package/vm/AuxVMImpl.js
CHANGED
|
@@ -10,9 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { ProxyBridgePartitionImpl, } from '@casual-simulation/aux-common';
|
|
11
11
|
import { Subject } from 'rxjs';
|
|
12
12
|
import { wrap, proxy, expose, transfer, createEndpoint } from 'comlink';
|
|
13
|
-
import {
|
|
13
|
+
import { setupChannel, waitForLoad } from '../html/IFrameHelpers';
|
|
14
14
|
import { remapProgressPercent, } from '@casual-simulation/aux-common';
|
|
15
|
-
import axios from 'axios';
|
|
16
15
|
import { RemoteAuxVM } from '@casual-simulation/aux-vm-client';
|
|
17
16
|
import { getBaseOrigin, getVMOrigin } from './AuxVMUtils';
|
|
18
17
|
export const DEFAULT_IFRAME_ALLOW_ATTRIBUTE = 'accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking';
|
|
@@ -21,7 +20,7 @@ export const DEFAULT_IFRAME_SANDBOX_ATTRIBUTE = 'allow-forms allow-modals allow-
|
|
|
21
20
|
* Defines an interface for an AUX that is run inside a virtual machine.
|
|
22
21
|
* That is, the AUX is run inside a web worker.
|
|
23
22
|
*/
|
|
24
|
-
export class AuxVMImpl {
|
|
23
|
+
export default class AuxVMImpl {
|
|
25
24
|
/**
|
|
26
25
|
* The ID of the simulation.
|
|
27
26
|
*/
|
|
@@ -273,7 +272,7 @@ export class AuxVMImpl {
|
|
|
273
272
|
});
|
|
274
273
|
}
|
|
275
274
|
}
|
|
276
|
-
function processPartitions(config) {
|
|
275
|
+
export function processPartitions(config) {
|
|
277
276
|
let transferrables = [];
|
|
278
277
|
for (let key in config.partitions) {
|
|
279
278
|
const partition = config.partitions[key];
|
|
@@ -295,21 +294,4 @@ function processPartitions(config) {
|
|
|
295
294
|
}
|
|
296
295
|
return transfer(config, transferrables);
|
|
297
296
|
}
|
|
298
|
-
/**
|
|
299
|
-
* Loads the script at the given URL into the given iframe window.
|
|
300
|
-
* @param iframeWindow The iframe.
|
|
301
|
-
* @param id The ID of the script.
|
|
302
|
-
* @param url The URL to load.
|
|
303
|
-
*/
|
|
304
|
-
function loadScriptFromUrl(iframeWindow, id, url) {
|
|
305
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
306
|
-
const source = yield axios.get(url);
|
|
307
|
-
if (source.status === 200 && typeof source.data === 'string') {
|
|
308
|
-
return yield loadScript(iframeWindow, id, source.data);
|
|
309
|
-
}
|
|
310
|
-
else {
|
|
311
|
-
throw new Error('Unable to load script: ' + url);
|
|
312
|
-
}
|
|
313
|
-
});
|
|
314
|
-
}
|
|
315
297
|
//# sourceMappingURL=AuxVMImpl.js.map
|
package/vm/AuxVMImpl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuxVMImpl.js","sourceRoot":"","sources":["AuxVMImpl.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAIH,wBAAwB,GAK3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAc,OAAO,EAAE,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAU,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAYhF,OAAO,
|
|
1
|
+
{"version":3,"file":"AuxVMImpl.js","sourceRoot":"","sources":["AuxVMImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import AuxVMImpl from './AuxVMImpl';
|
|
2
|
+
export declare const DEFAULT_IFRAME_ALLOW_ATTRIBUTE = "accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking";
|
|
3
|
+
export declare const DEFAULT_IFRAME_SANDBOX_ATTRIBUTE = "allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts allow-downloads";
|
|
4
|
+
/**
|
|
5
|
+
* Defines an interface for an AUX that is run inside a virtual machine.
|
|
6
|
+
* That is, the AUX is run inside a web worker.
|
|
7
|
+
*
|
|
8
|
+
* This implementation works similarly to the one in AuxVMImpl, but instead of using an iframe, it loads the web worker directly.
|
|
9
|
+
*/
|
|
10
|
+
export default class StaticAuxVMImpl extends AuxVMImpl {
|
|
11
|
+
private _worker;
|
|
12
|
+
protected _init(): Promise<void>;
|
|
13
|
+
unsubscribe(): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=StaticAuxVMImpl.d.ts.map
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { wrap, proxy } from 'comlink';
|
|
11
|
+
import { setupChannel } from '../html/IFrameHelpers';
|
|
12
|
+
import { remapProgressPercent, } from '@casual-simulation/aux-common';
|
|
13
|
+
// import Worker from './AuxWorker';
|
|
14
|
+
import Worker from './AuxChannel.worker?worker&inline';
|
|
15
|
+
import AuxVMImpl, { processPartitions } from './AuxVMImpl';
|
|
16
|
+
export const DEFAULT_IFRAME_ALLOW_ATTRIBUTE = 'accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking';
|
|
17
|
+
export const DEFAULT_IFRAME_SANDBOX_ATTRIBUTE = 'allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts allow-downloads';
|
|
18
|
+
/**
|
|
19
|
+
* Defines an interface for an AUX that is run inside a virtual machine.
|
|
20
|
+
* That is, the AUX is run inside a web worker.
|
|
21
|
+
*
|
|
22
|
+
* This implementation works similarly to the one in AuxVMImpl, but instead of using an iframe, it loads the web worker directly.
|
|
23
|
+
*/
|
|
24
|
+
export default class StaticAuxVMImpl extends AuxVMImpl {
|
|
25
|
+
_init() {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
// let origin = getVMOrigin(
|
|
28
|
+
// this._config.config.vmOrigin,
|
|
29
|
+
// location.origin,
|
|
30
|
+
// this._id
|
|
31
|
+
// );
|
|
32
|
+
// if (this._relaxOrigin) {
|
|
33
|
+
// const baseOrigin = getBaseOrigin(origin);
|
|
34
|
+
// console.log('[AuxVMImpl] Relaxing origin to:', baseOrigin);
|
|
35
|
+
// origin = baseOrigin;
|
|
36
|
+
// }
|
|
37
|
+
// const iframeUrl = new URL('/aux-vm-iframe.html', origin).href;
|
|
38
|
+
// this._connectionStateChanged.next({
|
|
39
|
+
// type: 'progress',
|
|
40
|
+
// message: 'Getting web manifest...',
|
|
41
|
+
// progress: 0.05,
|
|
42
|
+
// });
|
|
43
|
+
// this._connectionStateChanged.next({
|
|
44
|
+
// type: 'progress',
|
|
45
|
+
// message: 'Initializing web worker...',
|
|
46
|
+
// progress: 0.1,
|
|
47
|
+
// });
|
|
48
|
+
// this._iframe = document.createElement('iframe');
|
|
49
|
+
// this._iframe.src = iframeUrl;
|
|
50
|
+
// this._iframe.style.display = 'none';
|
|
51
|
+
// this._iframe.setAttribute('allow', DEFAULT_IFRAME_ALLOW_ATTRIBUTE);
|
|
52
|
+
// this._iframe.setAttribute('sandbox', DEFAULT_IFRAME_SANDBOX_ATTRIBUTE);
|
|
53
|
+
// let promise = waitForLoad(this._iframe);
|
|
54
|
+
// document.body.insertBefore(this._iframe, document.body.firstChild);
|
|
55
|
+
// await promise;
|
|
56
|
+
// this._channel = setupChannel(this._iframe.contentWindow);
|
|
57
|
+
// this._connectionStateChanged.next({
|
|
58
|
+
// type: 'progress',
|
|
59
|
+
// message: 'Creating VM...',
|
|
60
|
+
// progress: 0.2,
|
|
61
|
+
// });
|
|
62
|
+
// const wrapper = wrap<AuxStatic>(this._channel.port1);
|
|
63
|
+
// this._proxy = await new wrapper(
|
|
64
|
+
// location.origin,
|
|
65
|
+
// processPartitions(this._config)
|
|
66
|
+
// );
|
|
67
|
+
// let statusMapper = remapProgressPercent(0.2, 1);
|
|
68
|
+
// return await this._proxy.init(
|
|
69
|
+
// proxy((events) => this._localEvents.next(events)),
|
|
70
|
+
// proxy((events) => this._deviceEvents.next(events)),
|
|
71
|
+
// proxy((state) => this._stateUpdated.next(state)),
|
|
72
|
+
// proxy((version) => this._versionUpdated.next(version)),
|
|
73
|
+
// proxy((state) =>
|
|
74
|
+
// this._connectionStateChanged.next(statusMapper(state))
|
|
75
|
+
// ),
|
|
76
|
+
// proxy((err) => this._onError.next(err)),
|
|
77
|
+
// proxy((channel) => this._handleAddedSubChannel(channel)),
|
|
78
|
+
// proxy((id) => this._handleRemovedSubChannel(id)),
|
|
79
|
+
// proxy((message) => this._onAuthMessage.next(message))
|
|
80
|
+
// );
|
|
81
|
+
this._connectionStateChanged.next({
|
|
82
|
+
type: 'progress',
|
|
83
|
+
message: 'Initializing web worker...',
|
|
84
|
+
progress: 0.1,
|
|
85
|
+
});
|
|
86
|
+
this._worker = new Worker();
|
|
87
|
+
this._channel = setupChannel(this._worker);
|
|
88
|
+
this._connectionStateChanged.next({
|
|
89
|
+
type: 'progress',
|
|
90
|
+
message: 'Creating VM...',
|
|
91
|
+
progress: 0.2,
|
|
92
|
+
});
|
|
93
|
+
const wrapper = wrap(this._channel.port1);
|
|
94
|
+
this._proxy = yield new wrapper(location.origin, processPartitions(this._config));
|
|
95
|
+
let statusMapper = remapProgressPercent(0.2, 1);
|
|
96
|
+
return yield this._proxy.init(proxy((events) => this._localEvents.next(events)), proxy((events) => this._deviceEvents.next(events)), proxy((state) => this._stateUpdated.next(state)), proxy((version) => this._versionUpdated.next(version)), proxy((state) => this._connectionStateChanged.next(statusMapper(state))), proxy((err) => this._onError.next(err)), proxy((channel) => this._handleAddedSubChannel(channel)), proxy((id) => this._handleRemovedSubChannel(id)), proxy((message) => this._onAuthMessage.next(message)));
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
unsubscribe() {
|
|
100
|
+
if (this.closed) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (this._worker) {
|
|
104
|
+
const worker = this._worker;
|
|
105
|
+
this._worker = null;
|
|
106
|
+
worker.terminate();
|
|
107
|
+
}
|
|
108
|
+
super.unsubscribe();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=StaticAuxVMImpl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StaticAuxVMImpl.js","sourceRoot":"","sources":["StaticAuxVMImpl.ts"],"names":[],"mappings":"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"}
|
package/vm/index.d.ts
CHANGED
package/vm/index.js
CHANGED
package/vm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|