@casual-simulation/aux-vm-browser 3.4.6-alpha.14668890889 → 3.5.0-alpha.15119114602
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.js +28 -39
- package/html/IFrameHelpers.js.map +1 -1
- package/managers/AuthCoordinator.d.ts +9 -0
- package/managers/AuthCoordinator.js +369 -383
- package/managers/AuthCoordinator.js.map +1 -1
- package/managers/AuthEndpointHelper.d.ts +3 -2
- package/managers/AuthEndpointHelper.js +399 -462
- package/managers/AuthEndpointHelper.js.map +1 -1
- package/managers/AuthHelper.js +2 -2
- package/managers/AuthHelper.js.map +1 -1
- package/managers/BotManager.js +54 -58
- package/managers/BotManager.js.map +1 -1
- package/managers/BotPanelManager.js +2 -11
- package/managers/BotPanelManager.js.map +1 -1
- package/managers/BrowserSimulationCalculations.js +1 -1
- package/managers/BrowserSimulationCalculations.js.map +1 -1
- package/managers/IdePortalManager.js +2 -11
- package/managers/IdePortalManager.js.map +1 -1
- package/managers/LivekitManager.js +320 -324
- package/managers/LivekitManager.js.map +1 -1
- package/managers/SystemPortalCoordinator.js +74 -66
- package/managers/SystemPortalCoordinator.js.map +1 -1
- package/package.json +15 -12
- package/partitions/LocalStoragePartition.d.ts +6 -0
- package/partitions/LocalStoragePartition.js +44 -46
- package/partitions/LocalStoragePartition.js.map +1 -1
- package/partitions/ProxyClientPartition.js +28 -40
- package/partitions/ProxyClientPartition.js.map +1 -1
- package/vm/AuxVMImpl.js +120 -153
- package/vm/AuxVMImpl.js.map +1 -1
- package/vm/BrowserAuxChannel.js +9 -22
- package/vm/BrowserAuxChannel.js.map +1 -1
- package/vm/ConnectableAuxVM.js +54 -85
- package/vm/ConnectableAuxVM.js.map +1 -1
- package/vm/StaticAuxVMImpl.d.ts +91 -3
- package/vm/StaticAuxVMImpl.js +198 -108
- package/vm/StaticAuxVMImpl.js.map +1 -1
- package/vm/WorkerEntryHelpers.js.map +1 -1
package/html/IFrameHelpers.js
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
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
1
|
/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences.
|
|
11
2
|
*
|
|
12
3
|
* Copyright (c) 2019-2025 Casual Simulation, Inc.
|
|
@@ -187,37 +178,35 @@ export function reload(iframeWindow) {
|
|
|
187
178
|
* @param options
|
|
188
179
|
* @param properties
|
|
189
180
|
*/
|
|
190
|
-
export function setupCustomIframe(options, properties) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
iframe[key] = properties[key];
|
|
200
|
-
}
|
|
181
|
+
export async function setupCustomIframe(options, properties) {
|
|
182
|
+
const origin = options.vmOrigin || location.origin;
|
|
183
|
+
const iframeUrl = new URL('/aux-vm-iframe.html', origin).href;
|
|
184
|
+
const iframe = document.createElement('iframe');
|
|
185
|
+
iframe.src = iframeUrl;
|
|
186
|
+
iframe.style.display = 'none';
|
|
187
|
+
if (properties) {
|
|
188
|
+
for (let key in properties) {
|
|
189
|
+
iframe[key] = properties[key];
|
|
201
190
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
191
|
+
}
|
|
192
|
+
// Allow the iframe to run scripts, but do nothing else.
|
|
193
|
+
// Because we're not allowing the same origin, this prevents the VM from talking to
|
|
194
|
+
// storage like IndexedDB and therefore prevents different VMs from affecting each other.
|
|
195
|
+
// iframe.sandbox.add('allow-scripts');
|
|
196
|
+
// const bowserResult = Bowser.parse(navigator.userAgent);
|
|
197
|
+
// Safari requires the allow-same-origin option in order to load
|
|
198
|
+
// web workers using a blob.
|
|
199
|
+
// if (
|
|
200
|
+
// bowserResult.browser.name === 'Safari' ||
|
|
201
|
+
// bowserResult.os.name === 'iOS'
|
|
202
|
+
// ) {
|
|
203
|
+
// console.warn('[AuxVMImpl] Adding allow-same-origin for Safari');
|
|
204
|
+
// iframe.sandbox.add('allow-same-origin');
|
|
205
|
+
// }
|
|
206
|
+
let promise = waitForLoad(iframe);
|
|
207
|
+
document.body.insertBefore(iframe, document.body.firstChild);
|
|
208
|
+
await promise;
|
|
209
|
+
return iframe;
|
|
221
210
|
}
|
|
222
211
|
// /**
|
|
223
212
|
// * Loads the script into the iframe window as a portal.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IFrameHelpers.js","sourceRoot":"","sources":["IFrameHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IFrameHelpers.js","sourceRoot":"","sources":["IFrameHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import type { AuthHelper } from './AuthHelper';
|
|
|
5
5
|
import type { ActionKinds, AuthorizeActionMissingPermission, PartitionAuthPermissionResult, PublicUserInfo } from '@casual-simulation/aux-common';
|
|
6
6
|
import type { LoginStatus } from '@casual-simulation/aux-vm/auth';
|
|
7
7
|
import type { GrantMarkerPermissionResult, GrantResourcePermissionResult, ValidateSessionKeyFailure } from '@casual-simulation/aux-records';
|
|
8
|
+
import type { GrantEntitlementsAction } from '@casual-simulation/aux-runtime';
|
|
8
9
|
/**
|
|
9
10
|
* Defines a class that is able to coordinate authentication across multiple simulations.
|
|
10
11
|
*/
|
|
@@ -14,12 +15,14 @@ export declare class AuthCoordinator<TSim extends BrowserSimulation> implements
|
|
|
14
15
|
private _onRequestAccess;
|
|
15
16
|
private _onNotAuthorized;
|
|
16
17
|
private _onShowAccountInfo;
|
|
18
|
+
private _onGrantEntitlements;
|
|
17
19
|
private _onAuthHelper;
|
|
18
20
|
private _sub;
|
|
19
21
|
get onMissingPermission(): Observable<MissingPermissionEvent>;
|
|
20
22
|
get onNotAuthorized(): Observable<NotAuthorizedEvent>;
|
|
21
23
|
get onShowAccountInfo(): Observable<ShowAccountInfoEvent>;
|
|
22
24
|
get onRequestAccess(): Observable<RequestAccessEvent>;
|
|
25
|
+
get onGrantEntitlements(): Observable<GrantEntitlementsEvent>;
|
|
23
26
|
get authEndpoints(): Map<string, AuthHelperInterface>;
|
|
24
27
|
get onAuthEndpointDiscovered(): Observable<{
|
|
25
28
|
endpoint: string;
|
|
@@ -36,6 +39,8 @@ export declare class AuthCoordinator<TSim extends BrowserSimulation> implements
|
|
|
36
39
|
requestAccessToMissingPermission(simId: string, origin: string, reason: AuthorizeActionMissingPermission): Promise<PartitionAuthPermissionResult>;
|
|
37
40
|
grantAccessToMissingPermission(simId: string, origin: string, reason: AuthorizeActionMissingPermission, expireTimeMs?: number, actions?: ActionKinds[]): Promise<GrantMarkerPermissionResult | GrantResourcePermissionResult | ValidateSessionKeyFailure>;
|
|
38
41
|
respondToPermissionRequest(simId: string, origin: string, result: PartitionAuthPermissionResult): Promise<void>;
|
|
42
|
+
grantEntitlements(entitlementGrantEvent: GrantEntitlementsEvent): Promise<void>;
|
|
43
|
+
denyEntitlements(entitlementGrantEvent: GrantEntitlementsEvent): Promise<void>;
|
|
39
44
|
private _handleAuthRequest;
|
|
40
45
|
private _handleNeedIndicator;
|
|
41
46
|
private _handleInvalidIndicator;
|
|
@@ -81,4 +86,8 @@ export interface RequestAccessEvent {
|
|
|
81
86
|
*/
|
|
82
87
|
user: PublicUserInfo | null;
|
|
83
88
|
}
|
|
89
|
+
export interface GrantEntitlementsEvent {
|
|
90
|
+
simulationId: string;
|
|
91
|
+
action: GrantEntitlementsAction;
|
|
92
|
+
}
|
|
84
93
|
//# sourceMappingURL=AuthCoordinator.d.ts.map
|