@vived/host 5.2.4 → 5.3.1

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 (26) hide show
  1. package/dist/cjs/AppSandbox/Entities/AppSandboxEntity.js +2 -2
  2. package/dist/cjs/AppSandbox/Entities/AppSandboxEntity.js.map +1 -1
  3. package/dist/cjs/Apps/UCs/Mounters/SandboxMounterUC.js +0 -1
  4. package/dist/cjs/Apps/UCs/Mounters/SandboxMounterUC.js.map +1 -1
  5. package/dist/cjs/Handler/UCs/GetAssetStreamURLHandler.js +70 -0
  6. package/dist/cjs/Handler/UCs/GetAssetStreamURLHandler.js.map +1 -0
  7. package/dist/cjs/Handler/UCs/index.js +1 -0
  8. package/dist/cjs/Handler/UCs/index.js.map +1 -1
  9. package/dist/cjs/Handler/setupStandardHostHandlers.js +1 -0
  10. package/dist/cjs/Handler/setupStandardHostHandlers.js.map +1 -1
  11. package/dist/esm/AppSandbox/Entities/AppSandboxEntity.js +2 -2
  12. package/dist/esm/AppSandbox/Entities/AppSandboxEntity.js.map +1 -1
  13. package/dist/esm/Apps/UCs/Mounters/SandboxMounterUC.js +0 -1
  14. package/dist/esm/Apps/UCs/Mounters/SandboxMounterUC.js.map +1 -1
  15. package/dist/esm/Handler/UCs/GetAssetStreamURLHandler.js +65 -0
  16. package/dist/esm/Handler/UCs/GetAssetStreamURLHandler.js.map +1 -0
  17. package/dist/esm/Handler/UCs/index.js +1 -0
  18. package/dist/esm/Handler/UCs/index.js.map +1 -1
  19. package/dist/esm/Handler/setupStandardHostHandlers.js +2 -1
  20. package/dist/esm/Handler/setupStandardHostHandlers.js.map +1 -1
  21. package/dist/types/Handler/UCs/GetAssetStreamURLHandler.d.ts +11 -0
  22. package/dist/types/Handler/UCs/GetAssetStreamURLHandler.d.ts.map +1 -0
  23. package/dist/types/Handler/UCs/index.d.ts +1 -0
  24. package/dist/types/Handler/UCs/index.d.ts.map +1 -1
  25. package/dist/types/Handler/setupStandardHostHandlers.d.ts.map +1 -1
  26. package/package.json +1 -1
@@ -78,8 +78,8 @@ class AppSandboxEntityImp extends AppSandboxEntity {
78
78
  }
79
79
  constructor(appObject) {
80
80
  super(appObject, AppSandboxEntity.type);
81
- this.mockActivityID = "74ec8149-ced4-44b7-a4e4-5238593ab36f";
82
- this.channelID = "abad8cd4-6379-4325-a7c0-3679c358ebe6";
81
+ this.mockActivityID = "93701ef1-ee94-4765-b27f-e1ddbee7c989";
82
+ this.channelID = "93701ef1-ee94-4765-b27f-e1ddbee7c989";
83
83
  this.channelName = "Development Channel";
84
84
  this.memoizedStartInZSpace = new core_1.MemoizedBoolean(false, this.notifyOnChange);
85
85
  this.memoizedShowInspector = new core_1.MemoizedBoolean(false, this.notifyOnChange);
@@ -1 +1 @@
1
- {"version":3,"file":"AppSandboxEntity.js","sourceRoot":"","sources":["../../../../src/AppSandbox/Entities/AppSandboxEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo,\r\n getSingletonComponent,\r\n MemoizedBoolean\r\n} from \"@vived/core\";\r\nimport { AppEntity, makeAppEntity } from \"../../Apps/Entities/AppEntity\";\r\n\r\nexport enum SandboxState {\r\n UNMOUNTED = \"UNMOUNTED\",\r\n LOADING = \"LOADING\",\r\n MOUNTED = \"MOUNTED\",\r\n PLAYING = \"PLAYING\",\r\n FATAL_ERROR = \"FATAL_ERROR\",\r\n EDIT_ASSET = \"EDIT_ASSET\",\r\n NEW_APP_ASSET = \"NEW_APP_ASSET\"\r\n}\r\n\r\nexport abstract class AppSandboxEntity extends AppObjectEntity {\r\n static type = \"AppSandboxEntity\";\r\n\r\n abstract get appID(): string;\r\n\r\n abstract get appContainer(): HTMLDivElement | undefined;\r\n abstract set appContainer(container: HTMLDivElement | undefined);\r\n\r\n abstract get channelID(): string;\r\n abstract set channelID(id: string);\r\n\r\n abstract get channelName(): string;\r\n abstract set channelName(id: string);\r\n\r\n abstract get state(): SandboxState;\r\n abstract set state(val: SandboxState);\r\n\r\n abstract get startInZSpace(): boolean;\r\n abstract set startInZSpace(val: boolean);\r\n\r\n abstract get showBabylonInspector(): boolean;\r\n abstract set showBabylonInspector(render: boolean);\r\n\r\n abstract get babylonInspectorSupported(): boolean;\r\n abstract set babylonInspectorSupported(val: boolean);\r\n\r\n abstract get isDevMode(): boolean;\r\n abstract set isDevMode(val: boolean);\r\n\r\n abstract get enableDevFeatures(): boolean;\r\n abstract set enableDevFeatures(enable: boolean);\r\n\r\n abstract mockActivityID: string;\r\n\r\n abstract devFeatures: string[];\r\n\r\n abstract readonly app: AppEntity;\r\n\r\n static get(appObjects: AppObjectRepo) {\r\n return getSingletonComponent<AppSandboxEntity>(\r\n AppSandboxEntity.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\nexport function makeAppSandboxEntity(appObject: AppObject): AppSandboxEntity {\r\n return new AppSandboxEntityImp(appObject);\r\n}\r\n\r\nclass AppSandboxEntityImp extends AppSandboxEntity {\r\n readonly app: AppEntity;\r\n\r\n get appID() {\r\n return this.appObject.id;\r\n }\r\n\r\n mockActivityID = \"74ec8149-ced4-44b7-a4e4-5238593ab36f\";\r\n channelID = \"abad8cd4-6379-4325-a7c0-3679c358ebe6\";\r\n channelName = \"Development Channel\";\r\n\r\n private memoizedStartInZSpace = new MemoizedBoolean(\r\n false,\r\n this.notifyOnChange\r\n );\r\n get startInZSpace() {\r\n return this.memoizedStartInZSpace.val;\r\n }\r\n set startInZSpace(val: boolean) {\r\n this.memoizedStartInZSpace.val = val;\r\n }\r\n\r\n private _playerContainer?: HTMLDivElement | undefined;\r\n get appContainer() {\r\n return this._playerContainer;\r\n }\r\n set appContainer(container: HTMLDivElement | undefined) {\r\n if (container === this._playerContainer) return;\r\n this._playerContainer = container;\r\n this.notifyOnChange();\r\n }\r\n\r\n private memoizedShowInspector = new MemoizedBoolean(\r\n false,\r\n this.notifyOnChange\r\n );\r\n get showBabylonInspector() {\r\n return this.memoizedShowInspector.val;\r\n }\r\n set showBabylonInspector(val: boolean) {\r\n this.memoizedShowInspector.val = val;\r\n }\r\n\r\n private memoizedBabylonInspectorSupported = new MemoizedBoolean(\r\n true,\r\n this.notifyOnChange\r\n );\r\n get babylonInspectorSupported() {\r\n return this.memoizedBabylonInspectorSupported.val;\r\n }\r\n set babylonInspectorSupported(val: boolean) {\r\n this.memoizedBabylonInspectorSupported.val = val;\r\n }\r\n\r\n private memoisedEnableDevFeatures = new MemoizedBoolean(\r\n true,\r\n this.notifyOnChange\r\n );\r\n get enableDevFeatures(): boolean {\r\n return this.memoisedEnableDevFeatures.val;\r\n }\r\n set enableDevFeatures(val: boolean) {\r\n this.memoisedEnableDevFeatures.val = val;\r\n }\r\n\r\n private memoizedIsDevMode = new MemoizedBoolean(true, this.notifyOnChange);\r\n get isDevMode(): boolean {\r\n return this.memoizedIsDevMode.val;\r\n }\r\n set isDevMode(val: boolean) {\r\n this.memoizedIsDevMode.val = val;\r\n }\r\n\r\n devFeatures: string[] = [];\r\n\r\n private _state = SandboxState.UNMOUNTED;\r\n get state(): SandboxState {\r\n return this._state;\r\n }\r\n set state(val: SandboxState) {\r\n if (this._state === val) return;\r\n\r\n this._state = val;\r\n this.notifyOnChange();\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, AppSandboxEntity.type);\r\n this.app = makeAppEntity(appObject);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"AppSandboxEntity.js","sourceRoot":"","sources":["../../../../src/AppSandbox/Entities/AppSandboxEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo,\r\n getSingletonComponent,\r\n MemoizedBoolean\r\n} from \"@vived/core\";\r\nimport { AppEntity, makeAppEntity } from \"../../Apps/Entities/AppEntity\";\r\n\r\nexport enum SandboxState {\r\n UNMOUNTED = \"UNMOUNTED\",\r\n LOADING = \"LOADING\",\r\n MOUNTED = \"MOUNTED\",\r\n PLAYING = \"PLAYING\",\r\n FATAL_ERROR = \"FATAL_ERROR\",\r\n EDIT_ASSET = \"EDIT_ASSET\",\r\n NEW_APP_ASSET = \"NEW_APP_ASSET\"\r\n}\r\n\r\nexport abstract class AppSandboxEntity extends AppObjectEntity {\r\n static type = \"AppSandboxEntity\";\r\n\r\n abstract get appID(): string;\r\n\r\n abstract get appContainer(): HTMLDivElement | undefined;\r\n abstract set appContainer(container: HTMLDivElement | undefined);\r\n\r\n abstract get channelID(): string;\r\n abstract set channelID(id: string);\r\n\r\n abstract get channelName(): string;\r\n abstract set channelName(id: string);\r\n\r\n abstract get state(): SandboxState;\r\n abstract set state(val: SandboxState);\r\n\r\n abstract get startInZSpace(): boolean;\r\n abstract set startInZSpace(val: boolean);\r\n\r\n abstract get showBabylonInspector(): boolean;\r\n abstract set showBabylonInspector(render: boolean);\r\n\r\n abstract get babylonInspectorSupported(): boolean;\r\n abstract set babylonInspectorSupported(val: boolean);\r\n\r\n abstract get isDevMode(): boolean;\r\n abstract set isDevMode(val: boolean);\r\n\r\n abstract get enableDevFeatures(): boolean;\r\n abstract set enableDevFeatures(enable: boolean);\r\n\r\n abstract mockActivityID: string;\r\n\r\n abstract devFeatures: string[];\r\n\r\n abstract readonly app: AppEntity;\r\n\r\n static get(appObjects: AppObjectRepo) {\r\n return getSingletonComponent<AppSandboxEntity>(\r\n AppSandboxEntity.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\nexport function makeAppSandboxEntity(appObject: AppObject): AppSandboxEntity {\r\n return new AppSandboxEntityImp(appObject);\r\n}\r\n\r\nclass AppSandboxEntityImp extends AppSandboxEntity {\r\n readonly app: AppEntity;\r\n\r\n get appID() {\r\n return this.appObject.id;\r\n }\r\n\r\n mockActivityID = \"93701ef1-ee94-4765-b27f-e1ddbee7c989\";\r\n channelID = \"93701ef1-ee94-4765-b27f-e1ddbee7c989\";\r\n channelName = \"Development Channel\";\r\n\r\n private memoizedStartInZSpace = new MemoizedBoolean(\r\n false,\r\n this.notifyOnChange\r\n );\r\n get startInZSpace() {\r\n return this.memoizedStartInZSpace.val;\r\n }\r\n set startInZSpace(val: boolean) {\r\n this.memoizedStartInZSpace.val = val;\r\n }\r\n\r\n private _playerContainer?: HTMLDivElement | undefined;\r\n get appContainer() {\r\n return this._playerContainer;\r\n }\r\n set appContainer(container: HTMLDivElement | undefined) {\r\n if (container === this._playerContainer) return;\r\n this._playerContainer = container;\r\n this.notifyOnChange();\r\n }\r\n\r\n private memoizedShowInspector = new MemoizedBoolean(\r\n false,\r\n this.notifyOnChange\r\n );\r\n get showBabylonInspector() {\r\n return this.memoizedShowInspector.val;\r\n }\r\n set showBabylonInspector(val: boolean) {\r\n this.memoizedShowInspector.val = val;\r\n }\r\n\r\n private memoizedBabylonInspectorSupported = new MemoizedBoolean(\r\n true,\r\n this.notifyOnChange\r\n );\r\n get babylonInspectorSupported() {\r\n return this.memoizedBabylonInspectorSupported.val;\r\n }\r\n set babylonInspectorSupported(val: boolean) {\r\n this.memoizedBabylonInspectorSupported.val = val;\r\n }\r\n\r\n private memoisedEnableDevFeatures = new MemoizedBoolean(\r\n true,\r\n this.notifyOnChange\r\n );\r\n get enableDevFeatures(): boolean {\r\n return this.memoisedEnableDevFeatures.val;\r\n }\r\n set enableDevFeatures(val: boolean) {\r\n this.memoisedEnableDevFeatures.val = val;\r\n }\r\n\r\n private memoizedIsDevMode = new MemoizedBoolean(true, this.notifyOnChange);\r\n get isDevMode(): boolean {\r\n return this.memoizedIsDevMode.val;\r\n }\r\n set isDevMode(val: boolean) {\r\n this.memoizedIsDevMode.val = val;\r\n }\r\n\r\n devFeatures: string[] = [];\r\n\r\n private _state = SandboxState.UNMOUNTED;\r\n get state(): SandboxState {\r\n return this._state;\r\n }\r\n set state(val: SandboxState) {\r\n if (this._state === val) return;\r\n\r\n this._state = val;\r\n this.notifyOnChange();\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, AppSandboxEntity.type);\r\n this.app = makeAppEntity(appObject);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
@@ -148,7 +148,6 @@ class SandboxMounterUC extends MounterUC_1.MounterUC {
148
148
  this.error("No App Interface");
149
149
  return Promise.reject();
150
150
  }
151
- this.sandbox.state = AppSandboxEntity_1.SandboxState.LOADING;
152
151
  const appHandler = appInterface.mount(this.hostHandler.handler);
153
152
  this.hostDispatcher.registerAppHandler(appHandler);
154
153
  const app = this.appEntity;
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxMounterUC.js","sourceRoot":"","sources":["../../../../../src/Apps/UCs/Mounters/SandboxMounterUC.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, Version, VIVEDApp_3 } from \"@vived/core\";\nimport {\n AppSandboxEntity,\n SandboxState\n} from \"../../../AppSandbox/Entities/AppSandboxEntity\";\nimport { HostDispatchEntity } from \"../../../Dispatcher/Entities/HostDispatchEntity\";\nimport { HostHandlerEntity } from \"../../../Handler/Entities/HostHandler\";\nimport { AppEntity, AppState } from \"../../Entities/AppEntity\";\nimport { MounterUC } from \"./MounterUC\";\n\n/**\n * Factory function to create a sandbox mounter for apps.\n *\n * The sandbox mounter is designed to mount apps in a sandboxed environment,\n * providing isolation and security for app execution.\n *\n * @param appObject - The app object to attach the mounter to\n * @returns A new SandboxMounterUC instance\n */\nexport function makeSandboxMounter(appObject: AppObject): MounterUC {\n return new SandboxMounterUC(appObject);\n}\n\n/**\n * Implementation of MounterUC for mounting apps in a sandbox environment.\n *\n * The SandboxMounterUC is responsible for safely loading and initializing apps\n * in a sandboxed context, handling app lifecycle events, and managing the\n * communication between the host and app.\n */\nclass SandboxMounterUC extends MounterUC {\n /**\n * Gets the app entity representing the app being mounted\n */\n private get appEntity() {\n return this.getCachedLocalComponent<AppEntity>(AppEntity.type);\n }\n\n /**\n * Gets the host dispatcher entity for sending messages to apps\n */\n private get hostDispatcher() {\n return this.getCachedLocalComponent<HostDispatchEntity>(\n HostDispatchEntity.type\n );\n }\n\n /**\n * Gets the host handler entity for receiving messages from apps\n */\n private get hostHandler() {\n return this.getCachedLocalComponent<HostHandlerEntity>(\n HostHandlerEntity.type\n );\n }\n\n /**\n * Gets the sandbox entity that manages the sandbox state\n */\n private get sandbox() {\n return this.getCachedSingleton<AppSandboxEntity>(AppSandboxEntity.type);\n }\n\n /**\n * Mounts the latest version of the app.\n *\n * @returns A promise that resolves when the app is mounted or rejects if an error occurs\n */\n mountLatestVersion = (): Promise<void> => {\n if (!this.appEntity) {\n this.error(\"Missing Components\");\n return Promise.reject();\n }\n\n const version = this.appEntity.latestVersion;\n if (!version) {\n this.error(\"No Version\");\n return Promise.reject();\n }\n\n return this.mount(version.major, version.minor);\n };\n\n /**\n * Mounts a specific version of the app.\n *\n * @param majorVersion - The major version number\n * @param minorVersion - The minor version number\n * @returns A promise that resolves when the app is mounted or rejects if an error occurs\n */\n mount = (majorVersion: number, minorVersion: number): Promise<void> => {\n if (\n !this.appEntity ||\n !this.hostDispatcher ||\n !this.hostHandler ||\n !this.sandbox\n ) {\n this.error(\"Missing Components\");\n return Promise.reject();\n }\n\n const version = this.getAppVersion(majorVersion, minorVersion);\n if (!version) {\n this.error(\"No Version\");\n return Promise.reject();\n }\n\n const appInterface = this.getAppInterface(version);\n if (!appInterface) {\n this.error(\"No App Interface\");\n return Promise.reject();\n }\n\n this.sandbox.state = SandboxState.LOADING;\n\n const appHandler = appInterface.mount(this.hostHandler.handler);\n this.hostDispatcher.registerAppHandler(appHandler);\n\n const app = this.appEntity;\n const sandbox = this.sandbox;\n\n return new Promise((resolve) => {\n const waitForReady = () => {\n if (app.state === AppState.READY) {\n sandbox.state = SandboxState.MOUNTED;\n app.removeChangeObserver(waitForReady);\n resolve();\n }\n };\n\n app.addChangeObserver(waitForReady);\n waitForReady();\n });\n };\n\n /**\n * Helper method to find a specific version of the app.\n *\n * @param major - Major version number\n * @param minor - Minor version number\n * @returns The Version object or undefined if not found\n */\n private getAppVersion(major: number, minor: number): Version | undefined {\n if (!this.appEntity) {\n return;\n }\n\n let appVersion = Version.GetLatestWithMajorMinor(\n this.appEntity.versions,\n major,\n minor\n );\n\n if (!appVersion) {\n appVersion = Version.GetLatestWithMajor(this.appEntity.versions, major);\n }\n\n if (!appVersion) {\n this.error(\n `Unable to find version ${major}.${minor}.X for App ${this.appEntity.name}`\n );\n }\n\n return appVersion;\n }\n\n /**\n * Unmounts the app from the sandbox.\n */\n unmount = (): void => {\n if (!this.sandbox || !this.hostDispatcher) {\n this.error(\"Missing Components\");\n return;\n }\n\n this.hostDispatcher.clearAppHandler();\n\n this.sandbox.state = SandboxState.UNMOUNTED;\n };\n\n /**\n * Loads a script into the document.\n * This is a placeholder implementation for sandbox mounting.\n *\n * @param scriptURL - URL of the script to load\n * @param appIDWithVersion - Versioned ID of the app\n * @returns A promise that resolves when the script is loaded\n */\n loadScriptIntoDocument(\n scriptURL: string,\n appIDWithVersion: string\n ): Promise<void> {\n // Unused during dev\n return Promise.resolve();\n }\n\n /**\n * Gets the app interface for a specific version.\n *\n * @param version - The version to get the interface for\n * @returns The app interface or undefined if not found\n */\n getAppInterface(version: Version): VIVEDApp_3 | undefined {\n const modifiedVersion = version.baseVersionString.split(\".\").join(\"_\");\n const idWithVersion = `${this.appObject.id}-${modifiedVersion}`;\n const appInterface = (window as any)[idWithVersion] as VIVEDApp_3;\n if (!appInterface) {\n this.appObjects.submitFatal(\n \"LocalMounterUC\",\n \"Unable to find App Interface\"\n );\n return;\n }\n\n return appInterface;\n }\n\n /**\n * Creates a new SandboxMounterUC instance.\n *\n * @param appObject - The app object to attach to\n */\n constructor(appObject: AppObject) {\n super(appObject, MounterUC.type);\n }\n}\n"]}
1
+ {"version":3,"file":"SandboxMounterUC.js","sourceRoot":"","sources":["../../../../../src/Apps/UCs/Mounters/SandboxMounterUC.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, Version, VIVEDApp_3 } from \"@vived/core\";\r\nimport {\r\n AppSandboxEntity,\r\n SandboxState\r\n} from \"../../../AppSandbox/Entities/AppSandboxEntity\";\r\nimport { HostDispatchEntity } from \"../../../Dispatcher/Entities/HostDispatchEntity\";\r\nimport { HostHandlerEntity } from \"../../../Handler/Entities/HostHandler\";\r\nimport { AppEntity, AppState } from \"../../Entities/AppEntity\";\r\nimport { MounterUC } from \"./MounterUC\";\r\n\r\n/**\r\n * Factory function to create a sandbox mounter for apps.\r\n *\r\n * The sandbox mounter is designed to mount apps in a sandboxed environment,\r\n * providing isolation and security for app execution.\r\n *\r\n * @param appObject - The app object to attach the mounter to\r\n * @returns A new SandboxMounterUC instance\r\n */\r\nexport function makeSandboxMounter(appObject: AppObject): MounterUC {\r\n return new SandboxMounterUC(appObject);\r\n}\r\n\r\n/**\r\n * Implementation of MounterUC for mounting apps in a sandbox environment.\r\n *\r\n * The SandboxMounterUC is responsible for safely loading and initializing apps\r\n * in a sandboxed context, handling app lifecycle events, and managing the\r\n * communication between the host and app.\r\n */\r\nclass SandboxMounterUC extends MounterUC {\r\n /**\r\n * Gets the app entity representing the app being mounted\r\n */\r\n private get appEntity() {\r\n return this.getCachedLocalComponent<AppEntity>(AppEntity.type);\r\n }\r\n\r\n /**\r\n * Gets the host dispatcher entity for sending messages to apps\r\n */\r\n private get hostDispatcher() {\r\n return this.getCachedLocalComponent<HostDispatchEntity>(\r\n HostDispatchEntity.type\r\n );\r\n }\r\n\r\n /**\r\n * Gets the host handler entity for receiving messages from apps\r\n */\r\n private get hostHandler() {\r\n return this.getCachedLocalComponent<HostHandlerEntity>(\r\n HostHandlerEntity.type\r\n );\r\n }\r\n\r\n /**\r\n * Gets the sandbox entity that manages the sandbox state\r\n */\r\n private get sandbox() {\r\n return this.getCachedSingleton<AppSandboxEntity>(AppSandboxEntity.type);\r\n }\r\n\r\n /**\r\n * Mounts the latest version of the app.\r\n *\r\n * @returns A promise that resolves when the app is mounted or rejects if an error occurs\r\n */\r\n mountLatestVersion = (): Promise<void> => {\r\n if (!this.appEntity) {\r\n this.error(\"Missing Components\");\r\n return Promise.reject();\r\n }\r\n\r\n const version = this.appEntity.latestVersion;\r\n if (!version) {\r\n this.error(\"No Version\");\r\n return Promise.reject();\r\n }\r\n\r\n return this.mount(version.major, version.minor);\r\n };\r\n\r\n /**\r\n * Mounts a specific version of the app.\r\n *\r\n * @param majorVersion - The major version number\r\n * @param minorVersion - The minor version number\r\n * @returns A promise that resolves when the app is mounted or rejects if an error occurs\r\n */\r\n mount = (majorVersion: number, minorVersion: number): Promise<void> => {\r\n if (\r\n !this.appEntity ||\r\n !this.hostDispatcher ||\r\n !this.hostHandler ||\r\n !this.sandbox\r\n ) {\r\n this.error(\"Missing Components\");\r\n return Promise.reject();\r\n }\r\n\r\n const version = this.getAppVersion(majorVersion, minorVersion);\r\n if (!version) {\r\n this.error(\"No Version\");\r\n return Promise.reject();\r\n }\r\n\r\n const appInterface = this.getAppInterface(version);\r\n if (!appInterface) {\r\n this.error(\"No App Interface\");\r\n return Promise.reject();\r\n }\r\n\r\n const appHandler = appInterface.mount(this.hostHandler.handler);\r\n this.hostDispatcher.registerAppHandler(appHandler);\r\n\r\n const app = this.appEntity;\r\n const sandbox = this.sandbox;\r\n\r\n return new Promise((resolve) => {\r\n const waitForReady = () => {\r\n if (app.state === AppState.READY) {\r\n sandbox.state = SandboxState.MOUNTED;\r\n app.removeChangeObserver(waitForReady);\r\n resolve();\r\n }\r\n };\r\n\r\n app.addChangeObserver(waitForReady);\r\n waitForReady();\r\n });\r\n };\r\n\r\n /**\r\n * Helper method to find a specific version of the app.\r\n *\r\n * @param major - Major version number\r\n * @param minor - Minor version number\r\n * @returns The Version object or undefined if not found\r\n */\r\n private getAppVersion(major: number, minor: number): Version | undefined {\r\n if (!this.appEntity) {\r\n return;\r\n }\r\n\r\n let appVersion = Version.GetLatestWithMajorMinor(\r\n this.appEntity.versions,\r\n major,\r\n minor\r\n );\r\n\r\n if (!appVersion) {\r\n appVersion = Version.GetLatestWithMajor(this.appEntity.versions, major);\r\n }\r\n\r\n if (!appVersion) {\r\n this.error(\r\n `Unable to find version ${major}.${minor}.X for App ${this.appEntity.name}`\r\n );\r\n }\r\n\r\n return appVersion;\r\n }\r\n\r\n /**\r\n * Unmounts the app from the sandbox.\r\n */\r\n unmount = (): void => {\r\n if (!this.sandbox || !this.hostDispatcher) {\r\n this.error(\"Missing Components\");\r\n return;\r\n }\r\n\r\n this.hostDispatcher.clearAppHandler();\r\n\r\n this.sandbox.state = SandboxState.UNMOUNTED;\r\n };\r\n\r\n /**\r\n * Loads a script into the document.\r\n * This is a placeholder implementation for sandbox mounting.\r\n *\r\n * @param scriptURL - URL of the script to load\r\n * @param appIDWithVersion - Versioned ID of the app\r\n * @returns A promise that resolves when the script is loaded\r\n */\r\n loadScriptIntoDocument(\r\n scriptURL: string,\r\n appIDWithVersion: string\r\n ): Promise<void> {\r\n // Unused during dev\r\n return Promise.resolve();\r\n }\r\n\r\n /**\r\n * Gets the app interface for a specific version.\r\n *\r\n * @param version - The version to get the interface for\r\n * @returns The app interface or undefined if not found\r\n */\r\n getAppInterface(version: Version): VIVEDApp_3 | undefined {\r\n const modifiedVersion = version.baseVersionString.split(\".\").join(\"_\");\r\n const idWithVersion = `${this.appObject.id}-${modifiedVersion}`;\r\n const appInterface = (window as any)[idWithVersion] as VIVEDApp_3;\r\n if (!appInterface) {\r\n this.appObjects.submitFatal(\r\n \"LocalMounterUC\",\r\n \"Unable to find App Interface\"\r\n );\r\n return;\r\n }\r\n\r\n return appInterface;\r\n }\r\n\r\n /**\r\n * Creates a new SandboxMounterUC instance.\r\n *\r\n * @param appObject - The app object to attach to\r\n */\r\n constructor(appObject: AppObject) {\r\n super(appObject, MounterUC.type);\r\n }\r\n}\r\n"]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetAssetStreamURLHandler = void 0;
4
+ exports.makeGetAssetStreamURLHandler = makeGetAssetStreamURLHandler;
5
+ const core_1 = require("@vived/core");
6
+ const Assets_1 = require("../../Assets");
7
+ const Entities_1 = require("../Entities");
8
+ class GetAssetStreamURLHandler extends core_1.AppObjectUC {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.requestType = "GET_ASSET_STREAM_URL";
12
+ }
13
+ }
14
+ exports.GetAssetStreamURLHandler = GetAssetStreamURLHandler;
15
+ GetAssetStreamURLHandler.type = "GetAssetStreamURLHandler";
16
+ function makeGetAssetStreamURLHandler(appObject) {
17
+ return new GetAssetStreamURLHandlerImp(appObject);
18
+ }
19
+ class GetAssetStreamURLHandlerImp extends GetAssetStreamURLHandler {
20
+ get getAssetUC() {
21
+ try {
22
+ return this.getCachedSingleton(Assets_1.GetAssetUC.type);
23
+ }
24
+ catch {
25
+ return undefined;
26
+ }
27
+ }
28
+ castPayloadV1(payload) {
29
+ const castPayload = payload;
30
+ if (!castPayload.assetID || !castPayload.callback) {
31
+ throw new Entities_1.UnableToParsePayload(this.requestType, 1, JSON.stringify(payload));
32
+ }
33
+ return castPayload;
34
+ }
35
+ constructor(appObject) {
36
+ super(appObject, GetAssetStreamURLHandler.type);
37
+ this.action = (assetID, callback) => {
38
+ if (!this.getAssetUC) {
39
+ this.error("Unable to find GetAssetUC");
40
+ callback(undefined);
41
+ return;
42
+ }
43
+ this.getAssetUC
44
+ .getAsset(assetID)
45
+ .then((asset) => {
46
+ callback(asset.fileURL ? asset.fileURL : undefined);
47
+ })
48
+ .catch((e) => {
49
+ this.error(e.message);
50
+ callback(undefined);
51
+ });
52
+ };
53
+ this.handleRequest = (version, payload) => {
54
+ if (version === 1) {
55
+ const { assetID, callback } = this.castPayloadV1(payload);
56
+ this.action(assetID, callback);
57
+ }
58
+ else {
59
+ throw new Entities_1.UnsupportedRequestVersion(this.requestType, version);
60
+ }
61
+ };
62
+ const hostHandler = Entities_1.HostHandlerEntity.get(appObject);
63
+ if (!hostHandler) {
64
+ this.error("UC added to an entity that does not have HostHandlerEntity");
65
+ return;
66
+ }
67
+ hostHandler.registerRequestHandler(this);
68
+ }
69
+ }
70
+ //# sourceMappingURL=GetAssetStreamURLHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetAssetStreamURLHandler.js","sourceRoot":"","sources":["../../../../src/Handler/UCs/GetAssetStreamURLHandler.ts"],"names":[],"mappings":";;;AA0BA,oEAIC;AA9BD,sCAAqD;AACrD,yCAA0C;AAC1C,0CAKqB;AAOrB,MAAsB,wBACpB,SAAQ,kBAAW;IADrB;;QAMW,gBAAW,GAAG,sBAAsB,CAAC;IAIhD,CAAC;;AAVD,4DAUC;AANiB,6BAAI,GAAG,0BAA0B,AAA7B,CAA8B;AAQpD,SAAgB,4BAA4B,CAC1C,SAAoB;IAEpB,OAAO,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,2BAA4B,SAAQ,wBAAwB;IAChE,IAAY,UAAU;QACpB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,kBAAkB,CAAa,mBAAU,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IA6BO,aAAa,CAAC,OAAgB;QACpC,MAAM,WAAW,GAAG,OAAqB,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,+BAAoB,CAC5B,IAAI,CAAC,WAAW,EAChB,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACxB,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAzClD,WAAM,GAA4B,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACxC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,UAAU;iBACZ,QAAQ,CAAC,OAAO,CAAC;iBACjB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACd,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtD,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACtB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,kBAAa,GAAG,CAAC,OAAe,EAAE,OAAgB,EAAE,EAAE;YACpD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,oCAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC;QAkBA,MAAM,WAAW,GAAG,4BAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\r\nimport { GetAssetUC } from \"../../Assets\";\r\nimport {\r\n HostHandlerEntity,\r\n RequestHandler,\r\n UnableToParsePayload,\r\n UnsupportedRequestVersion\r\n} from \"../Entities\";\r\n\r\nexport type GetAssetStreamURLAction = (\r\n assetID: string,\r\n callback: (url: string | undefined) => void\r\n) => void;\r\n\r\nexport abstract class GetAssetStreamURLHandler\r\n extends AppObjectUC\r\n implements RequestHandler\r\n{\r\n static readonly type = \"GetAssetStreamURLHandler\";\r\n\r\n readonly requestType = \"GET_ASSET_STREAM_URL\";\r\n\r\n abstract action: GetAssetStreamURLAction;\r\n abstract handleRequest: (version: number, payload?: unknown) => void;\r\n}\r\n\r\nexport function makeGetAssetStreamURLHandler(\r\n appObject: AppObject\r\n): GetAssetStreamURLHandler {\r\n return new GetAssetStreamURLHandlerImp(appObject);\r\n}\r\n\r\nclass GetAssetStreamURLHandlerImp extends GetAssetStreamURLHandler {\r\n private get getAssetUC() {\r\n try {\r\n return this.getCachedSingleton<GetAssetUC>(GetAssetUC.type);\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n\r\n action: GetAssetStreamURLAction = (assetID, callback) => {\r\n if (!this.getAssetUC) {\r\n this.error(\"Unable to find GetAssetUC\");\r\n callback(undefined);\r\n return;\r\n }\r\n\r\n this.getAssetUC\r\n .getAsset(assetID)\r\n .then((asset) => {\r\n callback(asset.fileURL ? asset.fileURL : undefined);\r\n })\r\n .catch((e: Error) => {\r\n this.error(e.message);\r\n callback(undefined);\r\n });\r\n };\r\n\r\n handleRequest = (version: number, payload: unknown) => {\r\n if (version === 1) {\r\n const { assetID, callback } = this.castPayloadV1(payload);\r\n this.action(assetID, callback);\r\n } else {\r\n throw new UnsupportedRequestVersion(this.requestType, version);\r\n }\r\n };\r\n\r\n private castPayloadV1(payload: unknown): Payload_V1 {\r\n const castPayload = payload as Payload_V1;\r\n if (!castPayload.assetID || !castPayload.callback) {\r\n throw new UnableToParsePayload(\r\n this.requestType,\r\n 1,\r\n JSON.stringify(payload)\r\n );\r\n }\r\n\r\n return castPayload;\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, GetAssetStreamURLHandler.type);\r\n\r\n const hostHandler = HostHandlerEntity.get(appObject);\r\n if (!hostHandler) {\r\n this.error(\"UC added to an entity that does not have HostHandlerEntity\");\r\n return;\r\n }\r\n\r\n hostHandler.registerRequestHandler(this);\r\n }\r\n}\r\n\r\ntype Payload_V1 = {\r\n assetID: string;\r\n callback: (url: string | undefined) => void;\r\n};\r\n"]}
@@ -19,6 +19,7 @@ __exportStar(require("./CloseAssetSystemPlugin"), exports);
19
19
  __exportStar(require("./GetAssetBlobURLHandler"), exports);
20
20
  __exportStar(require("./GetAssetFolderURLHandler"), exports);
21
21
  __exportStar(require("./GetAssetMetaHandler"), exports);
22
+ __exportStar(require("./GetAssetStreamURLHandler"), exports);
22
23
  __exportStar(require("./GetAssetsForOwnerHandler"), exports);
23
24
  __exportStar(require("./GetLinkedAssetsHandler"), exports);
24
25
  __exportStar(require("./GoToNextStateHandler"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Handler/UCs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2DAAyC;AACzC,2DAAyC;AACzC,6DAA2C;AAC3C,wDAAsC;AACtC,6DAA2C;AAC3C,2DAAyC;AACzC,yDAAuC;AACvC,6DAA2C;AAC3C,wDAAsC;AACtC,4DAA0C;AAC1C,0DAAwC;AACxC,6DAA2C;AAC3C,4DAA0C;AAC1C,wDAAsC;AACtC,yDAAuC;AACvC,2DAAyC;AACzC,uEAAqD;AACrD,+DAA6C;AAC7C,qDAAmC;AACnC,uDAAqC;AACrC,8DAA4C;AAC5C,2DAAyC;AACzC,uDAAqC;AACrC,uDAAqC;AACrC,sDAAoC;AACpC,+DAA6C;AAC7C,qDAAmC;AACnC,wDAAsC","sourcesContent":["export * from \"./CallbackAssetDTO\";\nexport * from \"./CloseAssetSystemPlugin\";\nexport * from \"./GetAssetBlobURLHandler\";\nexport * from \"./GetAssetFolderURLHandler\";\nexport * from \"./GetAssetMetaHandler\";\nexport * from \"./GetAssetsForOwnerHandler\";\nexport * from \"./GetLinkedAssetsHandler\";\nexport * from \"./GoToNextStateHandler\";\nexport * from \"./GoToPreviousStateHandler\";\nexport * from \"./HasNextStateHandler\";\nexport * from \"./HasPreviousStateHandler\";\nexport * from \"./IsAssetFetchedHandler\";\nexport * from \"./IsZSpaceAvailableHandler\";\nexport * from \"./NewActivityAssetHandler\";\nexport * from \"./OnAppIsReadyHandler\";\nexport * from \"./OnStateChangeHandler\";\nexport * from \"./OnStateCompleteHandler\";\nexport * from \"./RegisterExternalStyleSheetsHandler\";\nexport * from \"./RestoreCurrentStateHandler\";\nexport * from \"./ShowAlertHandler\";\nexport * from \"./ShowConfirmHandler\";\nexport * from \"./ShowMarkDownEditorHandler\";\nexport * from \"./ShowSelectModelHandler\";\nexport * from \"./ShowSpinnerHandler\";\nexport * from \"./StartZSpaceHandler\";\nexport * from \"./StopZSpaceHandler\";\nexport * from \"./SubmitActivityAssetHandler\";\nexport * from \"./SubmitLogHandler\";\nexport * from \"./SubmitResultHandler\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Handler/UCs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,2DAAyC;AACzC,2DAAyC;AACzC,6DAA2C;AAC3C,wDAAsC;AACtC,6DAA2C;AAC3C,6DAA2C;AAC3C,2DAAyC;AACzC,yDAAuC;AACvC,6DAA2C;AAC3C,wDAAsC;AACtC,4DAA0C;AAC1C,0DAAwC;AACxC,6DAA2C;AAC3C,4DAA0C;AAC1C,wDAAsC;AACtC,yDAAuC;AACvC,2DAAyC;AACzC,uEAAqD;AACrD,+DAA6C;AAC7C,qDAAmC;AACnC,uDAAqC;AACrC,8DAA4C;AAC5C,2DAAyC;AACzC,uDAAqC;AACrC,uDAAqC;AACrC,sDAAoC;AACpC,+DAA6C;AAC7C,qDAAmC;AACnC,wDAAsC","sourcesContent":["export * from \"./CallbackAssetDTO\";\r\nexport * from \"./CloseAssetSystemPlugin\";\r\nexport * from \"./GetAssetBlobURLHandler\";\r\nexport * from \"./GetAssetFolderURLHandler\";\r\nexport * from \"./GetAssetMetaHandler\";\r\nexport * from \"./GetAssetStreamURLHandler\";\r\nexport * from \"./GetAssetsForOwnerHandler\";\r\nexport * from \"./GetLinkedAssetsHandler\";\r\nexport * from \"./GoToNextStateHandler\";\r\nexport * from \"./GoToPreviousStateHandler\";\r\nexport * from \"./HasNextStateHandler\";\r\nexport * from \"./HasPreviousStateHandler\";\r\nexport * from \"./IsAssetFetchedHandler\";\r\nexport * from \"./IsZSpaceAvailableHandler\";\r\nexport * from \"./NewActivityAssetHandler\";\r\nexport * from \"./OnAppIsReadyHandler\";\r\nexport * from \"./OnStateChangeHandler\";\r\nexport * from \"./OnStateCompleteHandler\";\r\nexport * from \"./RegisterExternalStyleSheetsHandler\";\r\nexport * from \"./RestoreCurrentStateHandler\";\r\nexport * from \"./ShowAlertHandler\";\r\nexport * from \"./ShowConfirmHandler\";\r\nexport * from \"./ShowMarkDownEditorHandler\";\r\nexport * from \"./ShowSelectModelHandler\";\r\nexport * from \"./ShowSpinnerHandler\";\r\nexport * from \"./StartZSpaceHandler\";\r\nexport * from \"./StopZSpaceHandler\";\r\nexport * from \"./SubmitActivityAssetHandler\";\r\nexport * from \"./SubmitLogHandler\";\r\nexport * from \"./SubmitResultHandler\";\r\n"]}
@@ -6,6 +6,7 @@ function setupStandardHostHandlers(appObject) {
6
6
  (0, UCs_1.makeGetAssetBlobURLHandler)(appObject);
7
7
  (0, UCs_1.makeGetAssetFolderURLHandler)(appObject);
8
8
  (0, UCs_1.makeGetAssetMetaHandler)(appObject);
9
+ (0, UCs_1.makeGetAssetStreamURLHandler)(appObject);
9
10
  (0, UCs_1.makeGetLinkedAssetsHandler)(appObject);
10
11
  (0, UCs_1.makeGoToNextStateHandler)(appObject);
11
12
  (0, UCs_1.makeGoToPreviousStateHandler)(appObject);
@@ -1 +1 @@
1
- {"version":3,"file":"setupStandardHostHandlers.js","sourceRoot":"","sources":["../../../src/Handler/setupStandardHostHandlers.ts"],"names":[],"mappings":";;AA2BA,8DAwBC;AAlDD,+BAwBe;AAEf,SAAgB,yBAAyB,CAAC,SAAoB;IAC5D,IAAA,gCAA0B,EAAC,SAAS,CAAC,CAAC;IACtC,IAAA,kCAA4B,EAAC,SAAS,CAAC,CAAC;IACxC,IAAA,6BAAuB,EAAC,SAAS,CAAC,CAAC;IACnC,IAAA,gCAA0B,EAAC,SAAS,CAAC,CAAC;IACtC,IAAA,8BAAwB,EAAC,SAAS,CAAC,CAAC;IACpC,IAAA,kCAA4B,EAAC,SAAS,CAAC,CAAC;IACxC,IAAA,6BAAuB,EAAC,SAAS,CAAC,CAAC;IACnC,IAAA,iCAA2B,EAAC,SAAS,CAAC,CAAC;IACvC,IAAA,kCAA4B,EAAC,SAAS,CAAC,CAAC;IACxC,IAAA,6BAAuB,EAAC,SAAS,CAAC,CAAC;IACnC,IAAA,8BAAwB,EAAC,SAAS,CAAC,CAAC;IACpC,IAAA,gCAA0B,EAAC,SAAS,CAAC,CAAC;IACtC,IAAA,4CAAsC,EAAC,SAAS,CAAC,CAAC;IAClD,IAAA,0BAAoB,EAAC,SAAS,CAAC,CAAC;IAChC,IAAA,4BAAsB,EAAC,SAAS,CAAC,CAAC;IAClC,IAAA,mCAA6B,EAAC,SAAS,CAAC,CAAC;IACzC,IAAA,gCAA0B,EAAC,SAAS,CAAC,CAAC;IACtC,IAAA,4BAAsB,EAAC,SAAS,CAAC,CAAC;IAClC,IAAA,4BAAsB,EAAC,SAAS,CAAC,CAAC;IAClC,IAAA,2BAAqB,EAAC,SAAS,CAAC,CAAC;IACjC,IAAA,oCAA8B,EAAC,SAAS,CAAC,CAAC;IAC1C,IAAA,0BAAoB,EAAC,SAAS,CAAC,CAAC;IAChC,IAAA,6BAAuB,EAAC,SAAS,CAAC,CAAC;AACrC,CAAC","sourcesContent":["import { AppObject } from \"@vived/core\";\nimport {\n makeGetAssetBlobURLHandler,\n makeGetAssetFolderURLHandler,\n makeGetAssetMetaHandler,\n makeGetLinkedAssetsHandler,\n makeGoToNextStateHandler,\n makeGoToPreviousStateHandler,\n makeHasNextStateHandler,\n makeHasPreviousStateHandler,\n makeIsZSpaceAvailableHandler,\n makeOnAppIsReadyHandler,\n makeOnStateChangeHandler,\n makeOnStateCompleteHandler,\n makeRegisterExternalStyleSheetsHandler,\n makeShowAlertHandler,\n makeShowConfirmHandler,\n makeShowMarkDownEditorHandler,\n makeShowSelectModelHandler,\n makeShowSpinnerHandler,\n makeStartZSpaceHandler,\n makeStopZSpaceHandler,\n makeSubmitActivityAssetHandler,\n makeSubmitLogHandler,\n makeSubmitResultHandler\n} from \"./UCs\";\n\nexport function setupStandardHostHandlers(appObject: AppObject) {\n makeGetAssetBlobURLHandler(appObject);\n makeGetAssetFolderURLHandler(appObject);\n makeGetAssetMetaHandler(appObject);\n makeGetLinkedAssetsHandler(appObject);\n makeGoToNextStateHandler(appObject);\n makeGoToPreviousStateHandler(appObject);\n makeHasNextStateHandler(appObject);\n makeHasPreviousStateHandler(appObject);\n makeIsZSpaceAvailableHandler(appObject);\n makeOnAppIsReadyHandler(appObject);\n makeOnStateChangeHandler(appObject);\n makeOnStateCompleteHandler(appObject);\n makeRegisterExternalStyleSheetsHandler(appObject);\n makeShowAlertHandler(appObject);\n makeShowConfirmHandler(appObject);\n makeShowMarkDownEditorHandler(appObject);\n makeShowSelectModelHandler(appObject);\n makeShowSpinnerHandler(appObject);\n makeStartZSpaceHandler(appObject);\n makeStopZSpaceHandler(appObject);\n makeSubmitActivityAssetHandler(appObject);\n makeSubmitLogHandler(appObject);\n makeSubmitResultHandler(appObject);\n}\n"]}
1
+ {"version":3,"file":"setupStandardHostHandlers.js","sourceRoot":"","sources":["../../../src/Handler/setupStandardHostHandlers.ts"],"names":[],"mappings":";;AA4BA,8DAyBC;AApDD,+BAyBe;AAEf,SAAgB,yBAAyB,CAAC,SAAoB;IAC5D,IAAA,gCAA0B,EAAC,SAAS,CAAC,CAAC;IACtC,IAAA,kCAA4B,EAAC,SAAS,CAAC,CAAC;IACxC,IAAA,6BAAuB,EAAC,SAAS,CAAC,CAAC;IACnC,IAAA,kCAA4B,EAAC,SAAS,CAAC,CAAC;IACxC,IAAA,gCAA0B,EAAC,SAAS,CAAC,CAAC;IACtC,IAAA,8BAAwB,EAAC,SAAS,CAAC,CAAC;IACpC,IAAA,kCAA4B,EAAC,SAAS,CAAC,CAAC;IACxC,IAAA,6BAAuB,EAAC,SAAS,CAAC,CAAC;IACnC,IAAA,iCAA2B,EAAC,SAAS,CAAC,CAAC;IACvC,IAAA,kCAA4B,EAAC,SAAS,CAAC,CAAC;IACxC,IAAA,6BAAuB,EAAC,SAAS,CAAC,CAAC;IACnC,IAAA,8BAAwB,EAAC,SAAS,CAAC,CAAC;IACpC,IAAA,gCAA0B,EAAC,SAAS,CAAC,CAAC;IACtC,IAAA,4CAAsC,EAAC,SAAS,CAAC,CAAC;IAClD,IAAA,0BAAoB,EAAC,SAAS,CAAC,CAAC;IAChC,IAAA,4BAAsB,EAAC,SAAS,CAAC,CAAC;IAClC,IAAA,mCAA6B,EAAC,SAAS,CAAC,CAAC;IACzC,IAAA,gCAA0B,EAAC,SAAS,CAAC,CAAC;IACtC,IAAA,4BAAsB,EAAC,SAAS,CAAC,CAAC;IAClC,IAAA,4BAAsB,EAAC,SAAS,CAAC,CAAC;IAClC,IAAA,2BAAqB,EAAC,SAAS,CAAC,CAAC;IACjC,IAAA,oCAA8B,EAAC,SAAS,CAAC,CAAC;IAC1C,IAAA,0BAAoB,EAAC,SAAS,CAAC,CAAC;IAChC,IAAA,6BAAuB,EAAC,SAAS,CAAC,CAAC;AACrC,CAAC","sourcesContent":["import { AppObject } from \"@vived/core\";\r\nimport {\r\n makeGetAssetBlobURLHandler,\r\n makeGetAssetFolderURLHandler,\r\n makeGetAssetMetaHandler,\r\n makeGetAssetStreamURLHandler,\r\n makeGetLinkedAssetsHandler,\r\n makeGoToNextStateHandler,\r\n makeGoToPreviousStateHandler,\r\n makeHasNextStateHandler,\r\n makeHasPreviousStateHandler,\r\n makeIsZSpaceAvailableHandler,\r\n makeOnAppIsReadyHandler,\r\n makeOnStateChangeHandler,\r\n makeOnStateCompleteHandler,\r\n makeRegisterExternalStyleSheetsHandler,\r\n makeShowAlertHandler,\r\n makeShowConfirmHandler,\r\n makeShowMarkDownEditorHandler,\r\n makeShowSelectModelHandler,\r\n makeShowSpinnerHandler,\r\n makeStartZSpaceHandler,\r\n makeStopZSpaceHandler,\r\n makeSubmitActivityAssetHandler,\r\n makeSubmitLogHandler,\r\n makeSubmitResultHandler\r\n} from \"./UCs\";\r\n\r\nexport function setupStandardHostHandlers(appObject: AppObject) {\r\n makeGetAssetBlobURLHandler(appObject);\r\n makeGetAssetFolderURLHandler(appObject);\r\n makeGetAssetMetaHandler(appObject);\r\n makeGetAssetStreamURLHandler(appObject);\r\n makeGetLinkedAssetsHandler(appObject);\r\n makeGoToNextStateHandler(appObject);\r\n makeGoToPreviousStateHandler(appObject);\r\n makeHasNextStateHandler(appObject);\r\n makeHasPreviousStateHandler(appObject);\r\n makeIsZSpaceAvailableHandler(appObject);\r\n makeOnAppIsReadyHandler(appObject);\r\n makeOnStateChangeHandler(appObject);\r\n makeOnStateCompleteHandler(appObject);\r\n makeRegisterExternalStyleSheetsHandler(appObject);\r\n makeShowAlertHandler(appObject);\r\n makeShowConfirmHandler(appObject);\r\n makeShowMarkDownEditorHandler(appObject);\r\n makeShowSelectModelHandler(appObject);\r\n makeShowSpinnerHandler(appObject);\r\n makeStartZSpaceHandler(appObject);\r\n makeStopZSpaceHandler(appObject);\r\n makeSubmitActivityAssetHandler(appObject);\r\n makeSubmitLogHandler(appObject);\r\n makeSubmitResultHandler(appObject);\r\n}\r\n"]}
@@ -73,8 +73,8 @@ class AppSandboxEntityImp extends AppSandboxEntity {
73
73
  }
74
74
  constructor(appObject) {
75
75
  super(appObject, AppSandboxEntity.type);
76
- this.mockActivityID = "74ec8149-ced4-44b7-a4e4-5238593ab36f";
77
- this.channelID = "abad8cd4-6379-4325-a7c0-3679c358ebe6";
76
+ this.mockActivityID = "93701ef1-ee94-4765-b27f-e1ddbee7c989";
77
+ this.channelID = "93701ef1-ee94-4765-b27f-e1ddbee7c989";
78
78
  this.channelName = "Development Channel";
79
79
  this.memoizedStartInZSpace = new MemoizedBoolean(false, this.notifyOnChange);
80
80
  this.memoizedShowInspector = new MemoizedBoolean(false, this.notifyOnChange);
@@ -1 +1 @@
1
- {"version":3,"file":"AppSandboxEntity.js","sourceRoot":"","sources":["../../../../src/AppSandbox/Entities/AppSandboxEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo,\r\n getSingletonComponent,\r\n MemoizedBoolean\r\n} from \"@vived/core\";\r\nimport { AppEntity, makeAppEntity } from \"../../Apps/Entities/AppEntity\";\r\n\r\nexport enum SandboxState {\r\n UNMOUNTED = \"UNMOUNTED\",\r\n LOADING = \"LOADING\",\r\n MOUNTED = \"MOUNTED\",\r\n PLAYING = \"PLAYING\",\r\n FATAL_ERROR = \"FATAL_ERROR\",\r\n EDIT_ASSET = \"EDIT_ASSET\",\r\n NEW_APP_ASSET = \"NEW_APP_ASSET\"\r\n}\r\n\r\nexport abstract class AppSandboxEntity extends AppObjectEntity {\r\n static type = \"AppSandboxEntity\";\r\n\r\n abstract get appID(): string;\r\n\r\n abstract get appContainer(): HTMLDivElement | undefined;\r\n abstract set appContainer(container: HTMLDivElement | undefined);\r\n\r\n abstract get channelID(): string;\r\n abstract set channelID(id: string);\r\n\r\n abstract get channelName(): string;\r\n abstract set channelName(id: string);\r\n\r\n abstract get state(): SandboxState;\r\n abstract set state(val: SandboxState);\r\n\r\n abstract get startInZSpace(): boolean;\r\n abstract set startInZSpace(val: boolean);\r\n\r\n abstract get showBabylonInspector(): boolean;\r\n abstract set showBabylonInspector(render: boolean);\r\n\r\n abstract get babylonInspectorSupported(): boolean;\r\n abstract set babylonInspectorSupported(val: boolean);\r\n\r\n abstract get isDevMode(): boolean;\r\n abstract set isDevMode(val: boolean);\r\n\r\n abstract get enableDevFeatures(): boolean;\r\n abstract set enableDevFeatures(enable: boolean);\r\n\r\n abstract mockActivityID: string;\r\n\r\n abstract devFeatures: string[];\r\n\r\n abstract readonly app: AppEntity;\r\n\r\n static get(appObjects: AppObjectRepo) {\r\n return getSingletonComponent<AppSandboxEntity>(\r\n AppSandboxEntity.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\nexport function makeAppSandboxEntity(appObject: AppObject): AppSandboxEntity {\r\n return new AppSandboxEntityImp(appObject);\r\n}\r\n\r\nclass AppSandboxEntityImp extends AppSandboxEntity {\r\n readonly app: AppEntity;\r\n\r\n get appID() {\r\n return this.appObject.id;\r\n }\r\n\r\n mockActivityID = \"74ec8149-ced4-44b7-a4e4-5238593ab36f\";\r\n channelID = \"abad8cd4-6379-4325-a7c0-3679c358ebe6\";\r\n channelName = \"Development Channel\";\r\n\r\n private memoizedStartInZSpace = new MemoizedBoolean(\r\n false,\r\n this.notifyOnChange\r\n );\r\n get startInZSpace() {\r\n return this.memoizedStartInZSpace.val;\r\n }\r\n set startInZSpace(val: boolean) {\r\n this.memoizedStartInZSpace.val = val;\r\n }\r\n\r\n private _playerContainer?: HTMLDivElement | undefined;\r\n get appContainer() {\r\n return this._playerContainer;\r\n }\r\n set appContainer(container: HTMLDivElement | undefined) {\r\n if (container === this._playerContainer) return;\r\n this._playerContainer = container;\r\n this.notifyOnChange();\r\n }\r\n\r\n private memoizedShowInspector = new MemoizedBoolean(\r\n false,\r\n this.notifyOnChange\r\n );\r\n get showBabylonInspector() {\r\n return this.memoizedShowInspector.val;\r\n }\r\n set showBabylonInspector(val: boolean) {\r\n this.memoizedShowInspector.val = val;\r\n }\r\n\r\n private memoizedBabylonInspectorSupported = new MemoizedBoolean(\r\n true,\r\n this.notifyOnChange\r\n );\r\n get babylonInspectorSupported() {\r\n return this.memoizedBabylonInspectorSupported.val;\r\n }\r\n set babylonInspectorSupported(val: boolean) {\r\n this.memoizedBabylonInspectorSupported.val = val;\r\n }\r\n\r\n private memoisedEnableDevFeatures = new MemoizedBoolean(\r\n true,\r\n this.notifyOnChange\r\n );\r\n get enableDevFeatures(): boolean {\r\n return this.memoisedEnableDevFeatures.val;\r\n }\r\n set enableDevFeatures(val: boolean) {\r\n this.memoisedEnableDevFeatures.val = val;\r\n }\r\n\r\n private memoizedIsDevMode = new MemoizedBoolean(true, this.notifyOnChange);\r\n get isDevMode(): boolean {\r\n return this.memoizedIsDevMode.val;\r\n }\r\n set isDevMode(val: boolean) {\r\n this.memoizedIsDevMode.val = val;\r\n }\r\n\r\n devFeatures: string[] = [];\r\n\r\n private _state = SandboxState.UNMOUNTED;\r\n get state(): SandboxState {\r\n return this._state;\r\n }\r\n set state(val: SandboxState) {\r\n if (this._state === val) return;\r\n\r\n this._state = val;\r\n this.notifyOnChange();\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, AppSandboxEntity.type);\r\n this.app = makeAppEntity(appObject);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"AppSandboxEntity.js","sourceRoot":"","sources":["../../../../src/AppSandbox/Entities/AppSandboxEntity.ts"],"names":[],"mappings":"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","sourcesContent":["import {\r\n AppObject,\r\n AppObjectEntity,\r\n AppObjectRepo,\r\n getSingletonComponent,\r\n MemoizedBoolean\r\n} from \"@vived/core\";\r\nimport { AppEntity, makeAppEntity } from \"../../Apps/Entities/AppEntity\";\r\n\r\nexport enum SandboxState {\r\n UNMOUNTED = \"UNMOUNTED\",\r\n LOADING = \"LOADING\",\r\n MOUNTED = \"MOUNTED\",\r\n PLAYING = \"PLAYING\",\r\n FATAL_ERROR = \"FATAL_ERROR\",\r\n EDIT_ASSET = \"EDIT_ASSET\",\r\n NEW_APP_ASSET = \"NEW_APP_ASSET\"\r\n}\r\n\r\nexport abstract class AppSandboxEntity extends AppObjectEntity {\r\n static type = \"AppSandboxEntity\";\r\n\r\n abstract get appID(): string;\r\n\r\n abstract get appContainer(): HTMLDivElement | undefined;\r\n abstract set appContainer(container: HTMLDivElement | undefined);\r\n\r\n abstract get channelID(): string;\r\n abstract set channelID(id: string);\r\n\r\n abstract get channelName(): string;\r\n abstract set channelName(id: string);\r\n\r\n abstract get state(): SandboxState;\r\n abstract set state(val: SandboxState);\r\n\r\n abstract get startInZSpace(): boolean;\r\n abstract set startInZSpace(val: boolean);\r\n\r\n abstract get showBabylonInspector(): boolean;\r\n abstract set showBabylonInspector(render: boolean);\r\n\r\n abstract get babylonInspectorSupported(): boolean;\r\n abstract set babylonInspectorSupported(val: boolean);\r\n\r\n abstract get isDevMode(): boolean;\r\n abstract set isDevMode(val: boolean);\r\n\r\n abstract get enableDevFeatures(): boolean;\r\n abstract set enableDevFeatures(enable: boolean);\r\n\r\n abstract mockActivityID: string;\r\n\r\n abstract devFeatures: string[];\r\n\r\n abstract readonly app: AppEntity;\r\n\r\n static get(appObjects: AppObjectRepo) {\r\n return getSingletonComponent<AppSandboxEntity>(\r\n AppSandboxEntity.type,\r\n appObjects\r\n );\r\n }\r\n}\r\n\r\nexport function makeAppSandboxEntity(appObject: AppObject): AppSandboxEntity {\r\n return new AppSandboxEntityImp(appObject);\r\n}\r\n\r\nclass AppSandboxEntityImp extends AppSandboxEntity {\r\n readonly app: AppEntity;\r\n\r\n get appID() {\r\n return this.appObject.id;\r\n }\r\n\r\n mockActivityID = \"93701ef1-ee94-4765-b27f-e1ddbee7c989\";\r\n channelID = \"93701ef1-ee94-4765-b27f-e1ddbee7c989\";\r\n channelName = \"Development Channel\";\r\n\r\n private memoizedStartInZSpace = new MemoizedBoolean(\r\n false,\r\n this.notifyOnChange\r\n );\r\n get startInZSpace() {\r\n return this.memoizedStartInZSpace.val;\r\n }\r\n set startInZSpace(val: boolean) {\r\n this.memoizedStartInZSpace.val = val;\r\n }\r\n\r\n private _playerContainer?: HTMLDivElement | undefined;\r\n get appContainer() {\r\n return this._playerContainer;\r\n }\r\n set appContainer(container: HTMLDivElement | undefined) {\r\n if (container === this._playerContainer) return;\r\n this._playerContainer = container;\r\n this.notifyOnChange();\r\n }\r\n\r\n private memoizedShowInspector = new MemoizedBoolean(\r\n false,\r\n this.notifyOnChange\r\n );\r\n get showBabylonInspector() {\r\n return this.memoizedShowInspector.val;\r\n }\r\n set showBabylonInspector(val: boolean) {\r\n this.memoizedShowInspector.val = val;\r\n }\r\n\r\n private memoizedBabylonInspectorSupported = new MemoizedBoolean(\r\n true,\r\n this.notifyOnChange\r\n );\r\n get babylonInspectorSupported() {\r\n return this.memoizedBabylonInspectorSupported.val;\r\n }\r\n set babylonInspectorSupported(val: boolean) {\r\n this.memoizedBabylonInspectorSupported.val = val;\r\n }\r\n\r\n private memoisedEnableDevFeatures = new MemoizedBoolean(\r\n true,\r\n this.notifyOnChange\r\n );\r\n get enableDevFeatures(): boolean {\r\n return this.memoisedEnableDevFeatures.val;\r\n }\r\n set enableDevFeatures(val: boolean) {\r\n this.memoisedEnableDevFeatures.val = val;\r\n }\r\n\r\n private memoizedIsDevMode = new MemoizedBoolean(true, this.notifyOnChange);\r\n get isDevMode(): boolean {\r\n return this.memoizedIsDevMode.val;\r\n }\r\n set isDevMode(val: boolean) {\r\n this.memoizedIsDevMode.val = val;\r\n }\r\n\r\n devFeatures: string[] = [];\r\n\r\n private _state = SandboxState.UNMOUNTED;\r\n get state(): SandboxState {\r\n return this._state;\r\n }\r\n set state(val: SandboxState) {\r\n if (this._state === val) return;\r\n\r\n this._state = val;\r\n this.notifyOnChange();\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, AppSandboxEntity.type);\r\n this.app = makeAppEntity(appObject);\r\n this.appObjects.registerSingleton(this);\r\n }\r\n}\r\n"]}
@@ -145,7 +145,6 @@ class SandboxMounterUC extends MounterUC {
145
145
  this.error("No App Interface");
146
146
  return Promise.reject();
147
147
  }
148
- this.sandbox.state = SandboxState.LOADING;
149
148
  const appHandler = appInterface.mount(this.hostHandler.handler);
150
149
  this.hostDispatcher.registerAppHandler(appHandler);
151
150
  const app = this.appEntity;
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxMounterUC.js","sourceRoot":"","sources":["../../../../../src/Apps/UCs/Mounters/SandboxMounterUC.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, Version, VIVEDApp_3 } from \"@vived/core\";\nimport {\n AppSandboxEntity,\n SandboxState\n} from \"../../../AppSandbox/Entities/AppSandboxEntity\";\nimport { HostDispatchEntity } from \"../../../Dispatcher/Entities/HostDispatchEntity\";\nimport { HostHandlerEntity } from \"../../../Handler/Entities/HostHandler\";\nimport { AppEntity, AppState } from \"../../Entities/AppEntity\";\nimport { MounterUC } from \"./MounterUC\";\n\n/**\n * Factory function to create a sandbox mounter for apps.\n *\n * The sandbox mounter is designed to mount apps in a sandboxed environment,\n * providing isolation and security for app execution.\n *\n * @param appObject - The app object to attach the mounter to\n * @returns A new SandboxMounterUC instance\n */\nexport function makeSandboxMounter(appObject: AppObject): MounterUC {\n return new SandboxMounterUC(appObject);\n}\n\n/**\n * Implementation of MounterUC for mounting apps in a sandbox environment.\n *\n * The SandboxMounterUC is responsible for safely loading and initializing apps\n * in a sandboxed context, handling app lifecycle events, and managing the\n * communication between the host and app.\n */\nclass SandboxMounterUC extends MounterUC {\n /**\n * Gets the app entity representing the app being mounted\n */\n private get appEntity() {\n return this.getCachedLocalComponent<AppEntity>(AppEntity.type);\n }\n\n /**\n * Gets the host dispatcher entity for sending messages to apps\n */\n private get hostDispatcher() {\n return this.getCachedLocalComponent<HostDispatchEntity>(\n HostDispatchEntity.type\n );\n }\n\n /**\n * Gets the host handler entity for receiving messages from apps\n */\n private get hostHandler() {\n return this.getCachedLocalComponent<HostHandlerEntity>(\n HostHandlerEntity.type\n );\n }\n\n /**\n * Gets the sandbox entity that manages the sandbox state\n */\n private get sandbox() {\n return this.getCachedSingleton<AppSandboxEntity>(AppSandboxEntity.type);\n }\n\n /**\n * Mounts the latest version of the app.\n *\n * @returns A promise that resolves when the app is mounted or rejects if an error occurs\n */\n mountLatestVersion = (): Promise<void> => {\n if (!this.appEntity) {\n this.error(\"Missing Components\");\n return Promise.reject();\n }\n\n const version = this.appEntity.latestVersion;\n if (!version) {\n this.error(\"No Version\");\n return Promise.reject();\n }\n\n return this.mount(version.major, version.minor);\n };\n\n /**\n * Mounts a specific version of the app.\n *\n * @param majorVersion - The major version number\n * @param minorVersion - The minor version number\n * @returns A promise that resolves when the app is mounted or rejects if an error occurs\n */\n mount = (majorVersion: number, minorVersion: number): Promise<void> => {\n if (\n !this.appEntity ||\n !this.hostDispatcher ||\n !this.hostHandler ||\n !this.sandbox\n ) {\n this.error(\"Missing Components\");\n return Promise.reject();\n }\n\n const version = this.getAppVersion(majorVersion, minorVersion);\n if (!version) {\n this.error(\"No Version\");\n return Promise.reject();\n }\n\n const appInterface = this.getAppInterface(version);\n if (!appInterface) {\n this.error(\"No App Interface\");\n return Promise.reject();\n }\n\n this.sandbox.state = SandboxState.LOADING;\n\n const appHandler = appInterface.mount(this.hostHandler.handler);\n this.hostDispatcher.registerAppHandler(appHandler);\n\n const app = this.appEntity;\n const sandbox = this.sandbox;\n\n return new Promise((resolve) => {\n const waitForReady = () => {\n if (app.state === AppState.READY) {\n sandbox.state = SandboxState.MOUNTED;\n app.removeChangeObserver(waitForReady);\n resolve();\n }\n };\n\n app.addChangeObserver(waitForReady);\n waitForReady();\n });\n };\n\n /**\n * Helper method to find a specific version of the app.\n *\n * @param major - Major version number\n * @param minor - Minor version number\n * @returns The Version object or undefined if not found\n */\n private getAppVersion(major: number, minor: number): Version | undefined {\n if (!this.appEntity) {\n return;\n }\n\n let appVersion = Version.GetLatestWithMajorMinor(\n this.appEntity.versions,\n major,\n minor\n );\n\n if (!appVersion) {\n appVersion = Version.GetLatestWithMajor(this.appEntity.versions, major);\n }\n\n if (!appVersion) {\n this.error(\n `Unable to find version ${major}.${minor}.X for App ${this.appEntity.name}`\n );\n }\n\n return appVersion;\n }\n\n /**\n * Unmounts the app from the sandbox.\n */\n unmount = (): void => {\n if (!this.sandbox || !this.hostDispatcher) {\n this.error(\"Missing Components\");\n return;\n }\n\n this.hostDispatcher.clearAppHandler();\n\n this.sandbox.state = SandboxState.UNMOUNTED;\n };\n\n /**\n * Loads a script into the document.\n * This is a placeholder implementation for sandbox mounting.\n *\n * @param scriptURL - URL of the script to load\n * @param appIDWithVersion - Versioned ID of the app\n * @returns A promise that resolves when the script is loaded\n */\n loadScriptIntoDocument(\n scriptURL: string,\n appIDWithVersion: string\n ): Promise<void> {\n // Unused during dev\n return Promise.resolve();\n }\n\n /**\n * Gets the app interface for a specific version.\n *\n * @param version - The version to get the interface for\n * @returns The app interface or undefined if not found\n */\n getAppInterface(version: Version): VIVEDApp_3 | undefined {\n const modifiedVersion = version.baseVersionString.split(\".\").join(\"_\");\n const idWithVersion = `${this.appObject.id}-${modifiedVersion}`;\n const appInterface = (window as any)[idWithVersion] as VIVEDApp_3;\n if (!appInterface) {\n this.appObjects.submitFatal(\n \"LocalMounterUC\",\n \"Unable to find App Interface\"\n );\n return;\n }\n\n return appInterface;\n }\n\n /**\n * Creates a new SandboxMounterUC instance.\n *\n * @param appObject - The app object to attach to\n */\n constructor(appObject: AppObject) {\n super(appObject, MounterUC.type);\n }\n}\n"]}
1
+ {"version":3,"file":"SandboxMounterUC.js","sourceRoot":"","sources":["../../../../../src/Apps/UCs/Mounters/SandboxMounterUC.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, Version, VIVEDApp_3 } from \"@vived/core\";\r\nimport {\r\n AppSandboxEntity,\r\n SandboxState\r\n} from \"../../../AppSandbox/Entities/AppSandboxEntity\";\r\nimport { HostDispatchEntity } from \"../../../Dispatcher/Entities/HostDispatchEntity\";\r\nimport { HostHandlerEntity } from \"../../../Handler/Entities/HostHandler\";\r\nimport { AppEntity, AppState } from \"../../Entities/AppEntity\";\r\nimport { MounterUC } from \"./MounterUC\";\r\n\r\n/**\r\n * Factory function to create a sandbox mounter for apps.\r\n *\r\n * The sandbox mounter is designed to mount apps in a sandboxed environment,\r\n * providing isolation and security for app execution.\r\n *\r\n * @param appObject - The app object to attach the mounter to\r\n * @returns A new SandboxMounterUC instance\r\n */\r\nexport function makeSandboxMounter(appObject: AppObject): MounterUC {\r\n return new SandboxMounterUC(appObject);\r\n}\r\n\r\n/**\r\n * Implementation of MounterUC for mounting apps in a sandbox environment.\r\n *\r\n * The SandboxMounterUC is responsible for safely loading and initializing apps\r\n * in a sandboxed context, handling app lifecycle events, and managing the\r\n * communication between the host and app.\r\n */\r\nclass SandboxMounterUC extends MounterUC {\r\n /**\r\n * Gets the app entity representing the app being mounted\r\n */\r\n private get appEntity() {\r\n return this.getCachedLocalComponent<AppEntity>(AppEntity.type);\r\n }\r\n\r\n /**\r\n * Gets the host dispatcher entity for sending messages to apps\r\n */\r\n private get hostDispatcher() {\r\n return this.getCachedLocalComponent<HostDispatchEntity>(\r\n HostDispatchEntity.type\r\n );\r\n }\r\n\r\n /**\r\n * Gets the host handler entity for receiving messages from apps\r\n */\r\n private get hostHandler() {\r\n return this.getCachedLocalComponent<HostHandlerEntity>(\r\n HostHandlerEntity.type\r\n );\r\n }\r\n\r\n /**\r\n * Gets the sandbox entity that manages the sandbox state\r\n */\r\n private get sandbox() {\r\n return this.getCachedSingleton<AppSandboxEntity>(AppSandboxEntity.type);\r\n }\r\n\r\n /**\r\n * Mounts the latest version of the app.\r\n *\r\n * @returns A promise that resolves when the app is mounted or rejects if an error occurs\r\n */\r\n mountLatestVersion = (): Promise<void> => {\r\n if (!this.appEntity) {\r\n this.error(\"Missing Components\");\r\n return Promise.reject();\r\n }\r\n\r\n const version = this.appEntity.latestVersion;\r\n if (!version) {\r\n this.error(\"No Version\");\r\n return Promise.reject();\r\n }\r\n\r\n return this.mount(version.major, version.minor);\r\n };\r\n\r\n /**\r\n * Mounts a specific version of the app.\r\n *\r\n * @param majorVersion - The major version number\r\n * @param minorVersion - The minor version number\r\n * @returns A promise that resolves when the app is mounted or rejects if an error occurs\r\n */\r\n mount = (majorVersion: number, minorVersion: number): Promise<void> => {\r\n if (\r\n !this.appEntity ||\r\n !this.hostDispatcher ||\r\n !this.hostHandler ||\r\n !this.sandbox\r\n ) {\r\n this.error(\"Missing Components\");\r\n return Promise.reject();\r\n }\r\n\r\n const version = this.getAppVersion(majorVersion, minorVersion);\r\n if (!version) {\r\n this.error(\"No Version\");\r\n return Promise.reject();\r\n }\r\n\r\n const appInterface = this.getAppInterface(version);\r\n if (!appInterface) {\r\n this.error(\"No App Interface\");\r\n return Promise.reject();\r\n }\r\n\r\n const appHandler = appInterface.mount(this.hostHandler.handler);\r\n this.hostDispatcher.registerAppHandler(appHandler);\r\n\r\n const app = this.appEntity;\r\n const sandbox = this.sandbox;\r\n\r\n return new Promise((resolve) => {\r\n const waitForReady = () => {\r\n if (app.state === AppState.READY) {\r\n sandbox.state = SandboxState.MOUNTED;\r\n app.removeChangeObserver(waitForReady);\r\n resolve();\r\n }\r\n };\r\n\r\n app.addChangeObserver(waitForReady);\r\n waitForReady();\r\n });\r\n };\r\n\r\n /**\r\n * Helper method to find a specific version of the app.\r\n *\r\n * @param major - Major version number\r\n * @param minor - Minor version number\r\n * @returns The Version object or undefined if not found\r\n */\r\n private getAppVersion(major: number, minor: number): Version | undefined {\r\n if (!this.appEntity) {\r\n return;\r\n }\r\n\r\n let appVersion = Version.GetLatestWithMajorMinor(\r\n this.appEntity.versions,\r\n major,\r\n minor\r\n );\r\n\r\n if (!appVersion) {\r\n appVersion = Version.GetLatestWithMajor(this.appEntity.versions, major);\r\n }\r\n\r\n if (!appVersion) {\r\n this.error(\r\n `Unable to find version ${major}.${minor}.X for App ${this.appEntity.name}`\r\n );\r\n }\r\n\r\n return appVersion;\r\n }\r\n\r\n /**\r\n * Unmounts the app from the sandbox.\r\n */\r\n unmount = (): void => {\r\n if (!this.sandbox || !this.hostDispatcher) {\r\n this.error(\"Missing Components\");\r\n return;\r\n }\r\n\r\n this.hostDispatcher.clearAppHandler();\r\n\r\n this.sandbox.state = SandboxState.UNMOUNTED;\r\n };\r\n\r\n /**\r\n * Loads a script into the document.\r\n * This is a placeholder implementation for sandbox mounting.\r\n *\r\n * @param scriptURL - URL of the script to load\r\n * @param appIDWithVersion - Versioned ID of the app\r\n * @returns A promise that resolves when the script is loaded\r\n */\r\n loadScriptIntoDocument(\r\n scriptURL: string,\r\n appIDWithVersion: string\r\n ): Promise<void> {\r\n // Unused during dev\r\n return Promise.resolve();\r\n }\r\n\r\n /**\r\n * Gets the app interface for a specific version.\r\n *\r\n * @param version - The version to get the interface for\r\n * @returns The app interface or undefined if not found\r\n */\r\n getAppInterface(version: Version): VIVEDApp_3 | undefined {\r\n const modifiedVersion = version.baseVersionString.split(\".\").join(\"_\");\r\n const idWithVersion = `${this.appObject.id}-${modifiedVersion}`;\r\n const appInterface = (window as any)[idWithVersion] as VIVEDApp_3;\r\n if (!appInterface) {\r\n this.appObjects.submitFatal(\r\n \"LocalMounterUC\",\r\n \"Unable to find App Interface\"\r\n );\r\n return;\r\n }\r\n\r\n return appInterface;\r\n }\r\n\r\n /**\r\n * Creates a new SandboxMounterUC instance.\r\n *\r\n * @param appObject - The app object to attach to\r\n */\r\n constructor(appObject: AppObject) {\r\n super(appObject, MounterUC.type);\r\n }\r\n}\r\n"]}
@@ -0,0 +1,65 @@
1
+ import { AppObjectUC } from "@vived/core";
2
+ import { GetAssetUC } from "../../Assets";
3
+ import { HostHandlerEntity, UnableToParsePayload, UnsupportedRequestVersion } from "../Entities";
4
+ export class GetAssetStreamURLHandler extends AppObjectUC {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.requestType = "GET_ASSET_STREAM_URL";
8
+ }
9
+ }
10
+ GetAssetStreamURLHandler.type = "GetAssetStreamURLHandler";
11
+ export function makeGetAssetStreamURLHandler(appObject) {
12
+ return new GetAssetStreamURLHandlerImp(appObject);
13
+ }
14
+ class GetAssetStreamURLHandlerImp extends GetAssetStreamURLHandler {
15
+ get getAssetUC() {
16
+ try {
17
+ return this.getCachedSingleton(GetAssetUC.type);
18
+ }
19
+ catch {
20
+ return undefined;
21
+ }
22
+ }
23
+ castPayloadV1(payload) {
24
+ const castPayload = payload;
25
+ if (!castPayload.assetID || !castPayload.callback) {
26
+ throw new UnableToParsePayload(this.requestType, 1, JSON.stringify(payload));
27
+ }
28
+ return castPayload;
29
+ }
30
+ constructor(appObject) {
31
+ super(appObject, GetAssetStreamURLHandler.type);
32
+ this.action = (assetID, callback) => {
33
+ if (!this.getAssetUC) {
34
+ this.error("Unable to find GetAssetUC");
35
+ callback(undefined);
36
+ return;
37
+ }
38
+ this.getAssetUC
39
+ .getAsset(assetID)
40
+ .then((asset) => {
41
+ callback(asset.fileURL ? asset.fileURL : undefined);
42
+ })
43
+ .catch((e) => {
44
+ this.error(e.message);
45
+ callback(undefined);
46
+ });
47
+ };
48
+ this.handleRequest = (version, payload) => {
49
+ if (version === 1) {
50
+ const { assetID, callback } = this.castPayloadV1(payload);
51
+ this.action(assetID, callback);
52
+ }
53
+ else {
54
+ throw new UnsupportedRequestVersion(this.requestType, version);
55
+ }
56
+ };
57
+ const hostHandler = HostHandlerEntity.get(appObject);
58
+ if (!hostHandler) {
59
+ this.error("UC added to an entity that does not have HostHandlerEntity");
60
+ return;
61
+ }
62
+ hostHandler.registerRequestHandler(this);
63
+ }
64
+ }
65
+ //# sourceMappingURL=GetAssetStreamURLHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetAssetStreamURLHandler.js","sourceRoot":"","sources":["../../../../src/Handler/UCs/GetAssetStreamURLHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,iBAAiB,EAEjB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,aAAa,CAAC;AAOrB,MAAM,OAAgB,wBACpB,SAAQ,WAAW;IADrB;;QAMW,gBAAW,GAAG,sBAAsB,CAAC;IAIhD,CAAC;;AANiB,6BAAI,GAAG,0BAA0B,AAA7B,CAA8B;AAQpD,MAAM,UAAU,4BAA4B,CAC1C,SAAoB;IAEpB,OAAO,IAAI,2BAA2B,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,2BAA4B,SAAQ,wBAAwB;IAChE,IAAY,UAAU;QACpB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,kBAAkB,CAAa,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IA6BO,aAAa,CAAC,OAAgB;QACpC,MAAM,WAAW,GAAG,OAAqB,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,oBAAoB,CAC5B,IAAI,CAAC,WAAW,EAChB,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACxB,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAzClD,WAAM,GAA4B,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACxC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,UAAU;iBACZ,QAAQ,CAAC,OAAO,CAAC;iBACjB,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACd,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtD,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACtB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,kBAAa,GAAG,CAAC,OAAe,EAAE,OAAgB,EAAE,EAAE;YACpD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC;QAkBA,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectUC } from \"@vived/core\";\r\nimport { GetAssetUC } from \"../../Assets\";\r\nimport {\r\n HostHandlerEntity,\r\n RequestHandler,\r\n UnableToParsePayload,\r\n UnsupportedRequestVersion\r\n} from \"../Entities\";\r\n\r\nexport type GetAssetStreamURLAction = (\r\n assetID: string,\r\n callback: (url: string | undefined) => void\r\n) => void;\r\n\r\nexport abstract class GetAssetStreamURLHandler\r\n extends AppObjectUC\r\n implements RequestHandler\r\n{\r\n static readonly type = \"GetAssetStreamURLHandler\";\r\n\r\n readonly requestType = \"GET_ASSET_STREAM_URL\";\r\n\r\n abstract action: GetAssetStreamURLAction;\r\n abstract handleRequest: (version: number, payload?: unknown) => void;\r\n}\r\n\r\nexport function makeGetAssetStreamURLHandler(\r\n appObject: AppObject\r\n): GetAssetStreamURLHandler {\r\n return new GetAssetStreamURLHandlerImp(appObject);\r\n}\r\n\r\nclass GetAssetStreamURLHandlerImp extends GetAssetStreamURLHandler {\r\n private get getAssetUC() {\r\n try {\r\n return this.getCachedSingleton<GetAssetUC>(GetAssetUC.type);\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n\r\n action: GetAssetStreamURLAction = (assetID, callback) => {\r\n if (!this.getAssetUC) {\r\n this.error(\"Unable to find GetAssetUC\");\r\n callback(undefined);\r\n return;\r\n }\r\n\r\n this.getAssetUC\r\n .getAsset(assetID)\r\n .then((asset) => {\r\n callback(asset.fileURL ? asset.fileURL : undefined);\r\n })\r\n .catch((e: Error) => {\r\n this.error(e.message);\r\n callback(undefined);\r\n });\r\n };\r\n\r\n handleRequest = (version: number, payload: unknown) => {\r\n if (version === 1) {\r\n const { assetID, callback } = this.castPayloadV1(payload);\r\n this.action(assetID, callback);\r\n } else {\r\n throw new UnsupportedRequestVersion(this.requestType, version);\r\n }\r\n };\r\n\r\n private castPayloadV1(payload: unknown): Payload_V1 {\r\n const castPayload = payload as Payload_V1;\r\n if (!castPayload.assetID || !castPayload.callback) {\r\n throw new UnableToParsePayload(\r\n this.requestType,\r\n 1,\r\n JSON.stringify(payload)\r\n );\r\n }\r\n\r\n return castPayload;\r\n }\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, GetAssetStreamURLHandler.type);\r\n\r\n const hostHandler = HostHandlerEntity.get(appObject);\r\n if (!hostHandler) {\r\n this.error(\"UC added to an entity that does not have HostHandlerEntity\");\r\n return;\r\n }\r\n\r\n hostHandler.registerRequestHandler(this);\r\n }\r\n}\r\n\r\ntype Payload_V1 = {\r\n assetID: string;\r\n callback: (url: string | undefined) => void;\r\n};\r\n"]}
@@ -3,6 +3,7 @@ export * from "./CloseAssetSystemPlugin";
3
3
  export * from "./GetAssetBlobURLHandler";
4
4
  export * from "./GetAssetFolderURLHandler";
5
5
  export * from "./GetAssetMetaHandler";
6
+ export * from "./GetAssetStreamURLHandler";
6
7
  export * from "./GetAssetsForOwnerHandler";
7
8
  export * from "./GetLinkedAssetsHandler";
8
9
  export * from "./GoToNextStateHandler";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Handler/UCs/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./CallbackAssetDTO\";\nexport * from \"./CloseAssetSystemPlugin\";\nexport * from \"./GetAssetBlobURLHandler\";\nexport * from \"./GetAssetFolderURLHandler\";\nexport * from \"./GetAssetMetaHandler\";\nexport * from \"./GetAssetsForOwnerHandler\";\nexport * from \"./GetLinkedAssetsHandler\";\nexport * from \"./GoToNextStateHandler\";\nexport * from \"./GoToPreviousStateHandler\";\nexport * from \"./HasNextStateHandler\";\nexport * from \"./HasPreviousStateHandler\";\nexport * from \"./IsAssetFetchedHandler\";\nexport * from \"./IsZSpaceAvailableHandler\";\nexport * from \"./NewActivityAssetHandler\";\nexport * from \"./OnAppIsReadyHandler\";\nexport * from \"./OnStateChangeHandler\";\nexport * from \"./OnStateCompleteHandler\";\nexport * from \"./RegisterExternalStyleSheetsHandler\";\nexport * from \"./RestoreCurrentStateHandler\";\nexport * from \"./ShowAlertHandler\";\nexport * from \"./ShowConfirmHandler\";\nexport * from \"./ShowMarkDownEditorHandler\";\nexport * from \"./ShowSelectModelHandler\";\nexport * from \"./ShowSpinnerHandler\";\nexport * from \"./StartZSpaceHandler\";\nexport * from \"./StopZSpaceHandler\";\nexport * from \"./SubmitActivityAssetHandler\";\nexport * from \"./SubmitLogHandler\";\nexport * from \"./SubmitResultHandler\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/Handler/UCs/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./CallbackAssetDTO\";\r\nexport * from \"./CloseAssetSystemPlugin\";\r\nexport * from \"./GetAssetBlobURLHandler\";\r\nexport * from \"./GetAssetFolderURLHandler\";\r\nexport * from \"./GetAssetMetaHandler\";\r\nexport * from \"./GetAssetStreamURLHandler\";\r\nexport * from \"./GetAssetsForOwnerHandler\";\r\nexport * from \"./GetLinkedAssetsHandler\";\r\nexport * from \"./GoToNextStateHandler\";\r\nexport * from \"./GoToPreviousStateHandler\";\r\nexport * from \"./HasNextStateHandler\";\r\nexport * from \"./HasPreviousStateHandler\";\r\nexport * from \"./IsAssetFetchedHandler\";\r\nexport * from \"./IsZSpaceAvailableHandler\";\r\nexport * from \"./NewActivityAssetHandler\";\r\nexport * from \"./OnAppIsReadyHandler\";\r\nexport * from \"./OnStateChangeHandler\";\r\nexport * from \"./OnStateCompleteHandler\";\r\nexport * from \"./RegisterExternalStyleSheetsHandler\";\r\nexport * from \"./RestoreCurrentStateHandler\";\r\nexport * from \"./ShowAlertHandler\";\r\nexport * from \"./ShowConfirmHandler\";\r\nexport * from \"./ShowMarkDownEditorHandler\";\r\nexport * from \"./ShowSelectModelHandler\";\r\nexport * from \"./ShowSpinnerHandler\";\r\nexport * from \"./StartZSpaceHandler\";\r\nexport * from \"./StopZSpaceHandler\";\r\nexport * from \"./SubmitActivityAssetHandler\";\r\nexport * from \"./SubmitLogHandler\";\r\nexport * from \"./SubmitResultHandler\";\r\n"]}
@@ -1,8 +1,9 @@
1
- import { makeGetAssetBlobURLHandler, makeGetAssetFolderURLHandler, makeGetAssetMetaHandler, makeGetLinkedAssetsHandler, makeGoToNextStateHandler, makeGoToPreviousStateHandler, makeHasNextStateHandler, makeHasPreviousStateHandler, makeIsZSpaceAvailableHandler, makeOnAppIsReadyHandler, makeOnStateChangeHandler, makeOnStateCompleteHandler, makeRegisterExternalStyleSheetsHandler, makeShowAlertHandler, makeShowConfirmHandler, makeShowMarkDownEditorHandler, makeShowSelectModelHandler, makeShowSpinnerHandler, makeStartZSpaceHandler, makeStopZSpaceHandler, makeSubmitActivityAssetHandler, makeSubmitLogHandler, makeSubmitResultHandler } from "./UCs";
1
+ import { makeGetAssetBlobURLHandler, makeGetAssetFolderURLHandler, makeGetAssetMetaHandler, makeGetAssetStreamURLHandler, makeGetLinkedAssetsHandler, makeGoToNextStateHandler, makeGoToPreviousStateHandler, makeHasNextStateHandler, makeHasPreviousStateHandler, makeIsZSpaceAvailableHandler, makeOnAppIsReadyHandler, makeOnStateChangeHandler, makeOnStateCompleteHandler, makeRegisterExternalStyleSheetsHandler, makeShowAlertHandler, makeShowConfirmHandler, makeShowMarkDownEditorHandler, makeShowSelectModelHandler, makeShowSpinnerHandler, makeStartZSpaceHandler, makeStopZSpaceHandler, makeSubmitActivityAssetHandler, makeSubmitLogHandler, makeSubmitResultHandler } from "./UCs";
2
2
  export function setupStandardHostHandlers(appObject) {
3
3
  makeGetAssetBlobURLHandler(appObject);
4
4
  makeGetAssetFolderURLHandler(appObject);
5
5
  makeGetAssetMetaHandler(appObject);
6
+ makeGetAssetStreamURLHandler(appObject);
6
7
  makeGetLinkedAssetsHandler(appObject);
7
8
  makeGoToNextStateHandler(appObject);
8
9
  makeGoToPreviousStateHandler(appObject);
@@ -1 +1 @@
1
- {"version":3,"file":"setupStandardHostHandlers.js","sourceRoot":"","sources":["../../../src/Handler/setupStandardHostHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,sCAAsC,EACtC,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,OAAO,CAAC;AAEf,MAAM,UAAU,yBAAyB,CAAC,SAAoB;IAC5D,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACvC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,sCAAsC,CAAC,SAAS,CAAC,CAAC;IAClD,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,6BAA6B,CAAC,SAAS,CAAC,CAAC;IACzC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjC,8BAA8B,CAAC,SAAS,CAAC,CAAC;IAC1C,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC","sourcesContent":["import { AppObject } from \"@vived/core\";\nimport {\n makeGetAssetBlobURLHandler,\n makeGetAssetFolderURLHandler,\n makeGetAssetMetaHandler,\n makeGetLinkedAssetsHandler,\n makeGoToNextStateHandler,\n makeGoToPreviousStateHandler,\n makeHasNextStateHandler,\n makeHasPreviousStateHandler,\n makeIsZSpaceAvailableHandler,\n makeOnAppIsReadyHandler,\n makeOnStateChangeHandler,\n makeOnStateCompleteHandler,\n makeRegisterExternalStyleSheetsHandler,\n makeShowAlertHandler,\n makeShowConfirmHandler,\n makeShowMarkDownEditorHandler,\n makeShowSelectModelHandler,\n makeShowSpinnerHandler,\n makeStartZSpaceHandler,\n makeStopZSpaceHandler,\n makeSubmitActivityAssetHandler,\n makeSubmitLogHandler,\n makeSubmitResultHandler\n} from \"./UCs\";\n\nexport function setupStandardHostHandlers(appObject: AppObject) {\n makeGetAssetBlobURLHandler(appObject);\n makeGetAssetFolderURLHandler(appObject);\n makeGetAssetMetaHandler(appObject);\n makeGetLinkedAssetsHandler(appObject);\n makeGoToNextStateHandler(appObject);\n makeGoToPreviousStateHandler(appObject);\n makeHasNextStateHandler(appObject);\n makeHasPreviousStateHandler(appObject);\n makeIsZSpaceAvailableHandler(appObject);\n makeOnAppIsReadyHandler(appObject);\n makeOnStateChangeHandler(appObject);\n makeOnStateCompleteHandler(appObject);\n makeRegisterExternalStyleSheetsHandler(appObject);\n makeShowAlertHandler(appObject);\n makeShowConfirmHandler(appObject);\n makeShowMarkDownEditorHandler(appObject);\n makeShowSelectModelHandler(appObject);\n makeShowSpinnerHandler(appObject);\n makeStartZSpaceHandler(appObject);\n makeStopZSpaceHandler(appObject);\n makeSubmitActivityAssetHandler(appObject);\n makeSubmitLogHandler(appObject);\n makeSubmitResultHandler(appObject);\n}\n"]}
1
+ {"version":3,"file":"setupStandardHostHandlers.js","sourceRoot":"","sources":["../../../src/Handler/setupStandardHostHandlers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,0BAA0B,EAC1B,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,sCAAsC,EACtC,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,OAAO,CAAC;AAEf,MAAM,UAAU,yBAAyB,CAAC,SAAoB;IAC5D,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACvC,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,sCAAsC,CAAC,SAAS,CAAC,CAAC;IAClD,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,6BAA6B,CAAC,SAAS,CAAC,CAAC;IACzC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjC,8BAA8B,CAAC,SAAS,CAAC,CAAC;IAC1C,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAChC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC","sourcesContent":["import { AppObject } from \"@vived/core\";\r\nimport {\r\n makeGetAssetBlobURLHandler,\r\n makeGetAssetFolderURLHandler,\r\n makeGetAssetMetaHandler,\r\n makeGetAssetStreamURLHandler,\r\n makeGetLinkedAssetsHandler,\r\n makeGoToNextStateHandler,\r\n makeGoToPreviousStateHandler,\r\n makeHasNextStateHandler,\r\n makeHasPreviousStateHandler,\r\n makeIsZSpaceAvailableHandler,\r\n makeOnAppIsReadyHandler,\r\n makeOnStateChangeHandler,\r\n makeOnStateCompleteHandler,\r\n makeRegisterExternalStyleSheetsHandler,\r\n makeShowAlertHandler,\r\n makeShowConfirmHandler,\r\n makeShowMarkDownEditorHandler,\r\n makeShowSelectModelHandler,\r\n makeShowSpinnerHandler,\r\n makeStartZSpaceHandler,\r\n makeStopZSpaceHandler,\r\n makeSubmitActivityAssetHandler,\r\n makeSubmitLogHandler,\r\n makeSubmitResultHandler\r\n} from \"./UCs\";\r\n\r\nexport function setupStandardHostHandlers(appObject: AppObject) {\r\n makeGetAssetBlobURLHandler(appObject);\r\n makeGetAssetFolderURLHandler(appObject);\r\n makeGetAssetMetaHandler(appObject);\r\n makeGetAssetStreamURLHandler(appObject);\r\n makeGetLinkedAssetsHandler(appObject);\r\n makeGoToNextStateHandler(appObject);\r\n makeGoToPreviousStateHandler(appObject);\r\n makeHasNextStateHandler(appObject);\r\n makeHasPreviousStateHandler(appObject);\r\n makeIsZSpaceAvailableHandler(appObject);\r\n makeOnAppIsReadyHandler(appObject);\r\n makeOnStateChangeHandler(appObject);\r\n makeOnStateCompleteHandler(appObject);\r\n makeRegisterExternalStyleSheetsHandler(appObject);\r\n makeShowAlertHandler(appObject);\r\n makeShowConfirmHandler(appObject);\r\n makeShowMarkDownEditorHandler(appObject);\r\n makeShowSelectModelHandler(appObject);\r\n makeShowSpinnerHandler(appObject);\r\n makeStartZSpaceHandler(appObject);\r\n makeStopZSpaceHandler(appObject);\r\n makeSubmitActivityAssetHandler(appObject);\r\n makeSubmitLogHandler(appObject);\r\n makeSubmitResultHandler(appObject);\r\n}\r\n"]}
@@ -0,0 +1,11 @@
1
+ import { AppObject, AppObjectUC } from "@vived/core";
2
+ import { RequestHandler } from "../Entities";
3
+ export type GetAssetStreamURLAction = (assetID: string, callback: (url: string | undefined) => void) => void;
4
+ export declare abstract class GetAssetStreamURLHandler extends AppObjectUC implements RequestHandler {
5
+ static readonly type = "GetAssetStreamURLHandler";
6
+ readonly requestType = "GET_ASSET_STREAM_URL";
7
+ abstract action: GetAssetStreamURLAction;
8
+ abstract handleRequest: (version: number, payload?: unknown) => void;
9
+ }
10
+ export declare function makeGetAssetStreamURLHandler(appObject: AppObject): GetAssetStreamURLHandler;
11
+ //# sourceMappingURL=GetAssetStreamURLHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GetAssetStreamURLHandler.d.ts","sourceRoot":"","sources":["../../../../src/Handler/UCs/GetAssetStreamURLHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAEL,cAAc,EAGf,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,uBAAuB,GAAG,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,KACxC,IAAI,CAAC;AAEV,8BAAsB,wBACpB,SAAQ,WACR,YAAW,cAAc;IAEzB,MAAM,CAAC,QAAQ,CAAC,IAAI,8BAA8B;IAElD,QAAQ,CAAC,WAAW,0BAA0B;IAE9C,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACtE;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,GACnB,wBAAwB,CAE1B"}
@@ -3,6 +3,7 @@ export * from "./CloseAssetSystemPlugin";
3
3
  export * from "./GetAssetBlobURLHandler";
4
4
  export * from "./GetAssetFolderURLHandler";
5
5
  export * from "./GetAssetMetaHandler";
6
+ export * from "./GetAssetStreamURLHandler";
6
7
  export * from "./GetAssetsForOwnerHandler";
7
8
  export * from "./GetLinkedAssetsHandler";
8
9
  export * from "./GoToNextStateHandler";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Handler/UCs/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Handler/UCs/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"setupStandardHostHandlers.d.ts","sourceRoot":"","sources":["../../../src/Handler/setupStandardHostHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA2BxC,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,QAwB7D"}
1
+ {"version":3,"file":"setupStandardHostHandlers.d.ts","sourceRoot":"","sources":["../../../src/Handler/setupStandardHostHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA4BxC,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,QAyB7D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vived/host",
3
- "version": "5.2.4",
3
+ "version": "5.3.1",
4
4
  "description": "Public Host package for the VIVED Learning App system",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",