@acorex-platform/extension-rtc-livekit-client 0.0.32 → 0.0.37

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.
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-extension-rtc-livekit-client-connect-livekit.command-DnA5yOH-.mjs","sources":["../../../../libs/extensions/rtc/livekit/client/src/lib/features/connect/connect-livekit.command.ts"],"sourcesContent":["import { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport {\n AXP_INTEGRATION_AUTH_METHOD_TYPE,\n AXP_INTEGRATION_CONNECTION_STATUS,\n runtimeCommandSuccessObject,\n type AXPIntegrationConnectionScope,\n} from '@acorex-platform/framework-shared/core';\nimport {\n AXMIntegrationConnectionManager,\n AXP_INTEGRATION_CREDENTIAL_MASK,\n hasConfiguredIntegrationCredentials,\n isMaskedIntegrationCredential,\n toSafeIntegrationConnectionDto,\n type ConnectCommandResult,\n} from '@acorex-platform/module-integration-management-client';\nimport {\n AXPLayoutBuilderService,\n resolveLayoutBuilderDialogResult,\n type AXPDialogRef,\n type IActionBuilder,\n type IDialogBuilder,\n type IFlexContainerBuilder,\n} from '@acorex-platform/framework-client/layout/builder';\nimport { Injectable, inject } from '@angular/core';\nimport { trim } from 'lodash-es';\nimport {\n RootConfig,\n type AXELiveKitConnectionConfig,\n} from '@acorex-platform/extension-rtc-livekit-client/contracts';\n\nexport interface ConnectLiveKitCommandInput {\n providerId?: string;\n connectionScope?: AXPIntegrationConnectionScope;\n}\n\ninterface LiveKitConnectFormResult {\n displayName: string;\n serverUrl: string;\n apiKey: string;\n apiSecret: string;\n}\n\n//#region ----- Connect LiveKit -----\n\n@Injectable({ providedIn: 'root' })\nexport class ConnectLiveKitCommand implements AXPCommand<ConnectLiveKitCommandInput, ConnectCommandResult> {\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly connectionManager = inject(AXMIntegrationConnectionManager);\n\n async execute(input: ConnectLiveKitCommandInput = {}): AXPCommandExecuteResultPromise<ConnectCommandResult> {\n try {\n const providerId = input.providerId ?? RootConfig.integration.providerId;\n const connectionScope = input.connectionScope ?? 'tenant';\n const I18N = `@${RootConfig.config.i18n}:integration.connect`;\n const existing = await this.connectionManager.findByUniqueKey({\n providerId,\n connectionScope,\n connectionKey: 'default',\n });\n const isReconfigure = hasConfiguredIntegrationCredentials(existing);\n const existingConfig = (existing?.config ?? {}) as AXELiveKitConnectionConfig;\n\n const form = await this.openConnectDialog({\n i18nPrefix: I18N,\n isReconfigure,\n displayName: existing?.displayName ?? 'LiveKit',\n serverUrl: trim(existing?.instanceUrl ?? existingConfig.serverUrl ?? ''),\n apiKey: isReconfigure ? AXP_INTEGRATION_CREDENTIAL_MASK : '',\n apiSecret: isReconfigure ? AXP_INTEGRATION_CREDENTIAL_MASK : '',\n });\n\n if (!form) {\n return runtimeCommandSuccessObject({ outcome: 'cancelled' });\n }\n\n const serverUrl = trim(form.serverUrl);\n let apiKey = trim(form.apiKey);\n let apiSecret = trim(form.apiSecret);\n\n if (isMaskedIntegrationCredential(apiKey) && existing) {\n apiKey = trim(existingConfig.apiKey ?? '');\n }\n if (isMaskedIntegrationCredential(apiSecret) && existing) {\n apiSecret = trim(existingConfig.apiSecret ?? '');\n }\n\n if (!serverUrl) {\n return {\n success: false,\n message: { text: `${I18N}.api-token-dialog.messages.server-url-required` },\n };\n }\n if (!apiKey) {\n return {\n success: false,\n message: { text: `${I18N}.api-token-dialog.messages.api-key-required` },\n };\n }\n if (!apiSecret) {\n return {\n success: false,\n message: { text: `${I18N}.api-token-dialog.messages.api-secret-required` },\n };\n }\n\n const connection = await this.connectionManager.upsertConnection({\n providerId,\n authMethodType: AXP_INTEGRATION_AUTH_METHOD_TYPE.ApiToken,\n connectionScope,\n connectionKey: 'default',\n displayName: trim(form.displayName) || 'LiveKit',\n instanceUrl: serverUrl,\n externalAccountName: serverUrl,\n config: {\n serverUrl,\n apiKey,\n apiSecret,\n } satisfies AXELiveKitConnectionConfig,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Connected,\n isRevoked: false,\n isDisabled: false,\n });\n\n return runtimeCommandSuccessObject({\n outcome: 'connected',\n connection: toSafeIntegrationConnectionDto(connection),\n });\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to connect LiveKit.';\n return { success: false, message: { text: message } };\n }\n }\n\n private async openConnectDialog(input: {\n i18nPrefix: string;\n isReconfigure: boolean;\n displayName: string;\n serverUrl: string;\n apiKey: string;\n apiSecret: string;\n }): Promise<LiveKitConnectFormResult | null> {\n const result = await this.layoutBuilder\n .create()\n .dialog<LiveKitConnectFormResult | null>((dialog: IDialogBuilder<LiveKitConnectFormResult | null>) => {\n dialog\n .setTitle(\n input.isReconfigure\n ? `${input.i18nPrefix}.api-token-dialog.configure-title`\n : `${input.i18nPrefix}.api-token-dialog.title`,\n )\n .setSize('md')\n .setCloseButton(true)\n .setContext({\n displayName: input.displayName,\n serverUrl: input.serverUrl,\n apiKey: input.apiKey,\n apiSecret: input.apiSecret,\n })\n .content((flex: IFlexContainerBuilder) => {\n flex\n .setDirection('column')\n .setGap('12px')\n .customWidget('text-block-layout', {\n content: `${input.i18nPrefix}.api-token-dialog.instructions`,\n })\n .formField(`${input.i18nPrefix}.api-token-dialog.fields.display-name`, (field) => {\n field.path('displayName');\n field.textBox({\n placeholder: `${input.i18nPrefix}.api-token-dialog.placeholders.display-name`,\n });\n })\n .formField(`${input.i18nPrefix}.api-token-dialog.fields.server-url`, (field) => {\n field.path('serverUrl');\n field.textBox({\n placeholder: `${input.i18nPrefix}.api-token-dialog.placeholders.server-url`,\n validations: [{ rule: 'required' }],\n });\n })\n .formField(`${input.i18nPrefix}.api-token-dialog.fields.api-key`, (field) => {\n field.path('apiKey');\n field.passwordBox({\n placeholder: `${input.i18nPrefix}.api-token-dialog.placeholders.api-key`,\n revealToggle: true,\n validations: [{ rule: 'required' }],\n });\n })\n .formField(`${input.i18nPrefix}.api-token-dialog.fields.api-secret`, (field) => {\n field.path('apiSecret');\n field.passwordBox({\n placeholder: `${input.i18nPrefix}.api-token-dialog.placeholders.api-secret`,\n revealToggle: true,\n validations: [{ rule: 'required' }],\n });\n });\n })\n .setActions((actions: IActionBuilder) => {\n actions\n .cancel('@general:actions.cancel.title')\n .submit(`${input.i18nPrefix}.api-token-dialog.actions.save`);\n })\n .onAction(async (ref: AXPDialogRef) => {\n if (ref.action() === 'cancel') {\n return null;\n }\n const ctx = ref.context() as Partial<LiveKitConnectFormResult>;\n const displayName = trim(ctx.displayName ?? '');\n const serverUrl = trim(ctx.serverUrl ?? '');\n const apiKey = trim(ctx.apiKey ?? '');\n const apiSecret = trim(ctx.apiSecret ?? '');\n\n if (!serverUrl) {\n throw new Error(`${input.i18nPrefix}.api-token-dialog.messages.server-url-required`);\n }\n if (!apiKey) {\n throw new Error(`${input.i18nPrefix}.api-token-dialog.messages.api-key-required`);\n }\n if (!apiSecret) {\n throw new Error(`${input.i18nPrefix}.api-token-dialog.messages.api-secret-required`);\n }\n\n return { displayName, serverUrl, apiKey, apiSecret };\n });\n })\n .show();\n\n return resolveLayoutBuilderDialogResult<LiveKitConnectFormResult>(result);\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-extension-rtc-livekit-client-connect-livekit.command-DnA5yOH-.mjs","sources":["../../../../libs/extensions/rtc/livekit/client/src/lib/features/connect/connect-livekit.command.ts"],"sourcesContent":["import { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport {\n AXP_INTEGRATION_AUTH_METHOD_TYPE,\n AXP_INTEGRATION_CONNECTION_STATUS,\n runtimeCommandSuccessObject,\n type AXPIntegrationConnectionScope,\n} from '@acorex-platform/framework-shared/core';\nimport {\n AXMIntegrationConnectionManager,\n AXP_INTEGRATION_CREDENTIAL_MASK,\n hasConfiguredIntegrationCredentials,\n isMaskedIntegrationCredential,\n toSafeIntegrationConnectionDto,\n type ConnectCommandResult,\n} from '@acorex-platform/module-integration-management-client';\nimport {\n AXPLayoutBuilderService,\n resolveLayoutBuilderDialogResult,\n type AXPDialogRef,\n type IActionBuilder,\n type IDialogBuilder,\n type IFlexContainerBuilder,\n} from '@acorex-platform/framework-client/layout/builder';\nimport { Injectable, inject } from '@angular/core';\nimport { trim } from 'lodash-es';\nimport {\n RootConfig,\n type AXELiveKitConnectionConfig,\n} from '@acorex-platform/extension-rtc-livekit-client/contracts';\n\nexport interface ConnectLiveKitCommandInput {\n providerId?: string;\n connectionScope?: AXPIntegrationConnectionScope;\n}\n\ninterface LiveKitConnectFormResult {\n displayName: string;\n serverUrl: string;\n apiKey: string;\n apiSecret: string;\n}\n\n//#region ----- Connect LiveKit -----\n\n@Injectable({ providedIn: 'root' })\nexport class ConnectLiveKitCommand implements AXPCommand<ConnectLiveKitCommandInput, ConnectCommandResult> {\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly connectionManager = inject(AXMIntegrationConnectionManager);\n\n async execute(input: ConnectLiveKitCommandInput = {}): AXPCommandExecuteResultPromise<ConnectCommandResult> {\n try {\n const providerId = input.providerId ?? RootConfig.integration.providerId;\n const connectionScope = input.connectionScope ?? 'tenant';\n const I18N = `@${RootConfig.config.i18n}:integration.connect`;\n const existing = await this.connectionManager.findByUniqueKey({\n providerId,\n connectionScope,\n connectionKey: 'default',\n });\n const isReconfigure = hasConfiguredIntegrationCredentials(existing);\n const existingConfig = (existing?.config ?? {}) as AXELiveKitConnectionConfig;\n\n const form = await this.openConnectDialog({\n i18nPrefix: I18N,\n isReconfigure,\n displayName: existing?.displayName ?? 'LiveKit',\n serverUrl: trim(existing?.instanceUrl ?? existingConfig.serverUrl ?? ''),\n apiKey: isReconfigure ? AXP_INTEGRATION_CREDENTIAL_MASK : '',\n apiSecret: isReconfigure ? AXP_INTEGRATION_CREDENTIAL_MASK : '',\n });\n\n if (!form) {\n return runtimeCommandSuccessObject({ outcome: 'cancelled' });\n }\n\n const serverUrl = trim(form.serverUrl);\n let apiKey = trim(form.apiKey);\n let apiSecret = trim(form.apiSecret);\n\n if (isMaskedIntegrationCredential(apiKey) && existing) {\n apiKey = trim(existingConfig.apiKey ?? '');\n }\n if (isMaskedIntegrationCredential(apiSecret) && existing) {\n apiSecret = trim(existingConfig.apiSecret ?? '');\n }\n\n if (!serverUrl) {\n return {\n success: false,\n message: { text: `${I18N}.api-token-dialog.messages.server-url-required` },\n };\n }\n if (!apiKey) {\n return {\n success: false,\n message: { text: `${I18N}.api-token-dialog.messages.api-key-required` },\n };\n }\n if (!apiSecret) {\n return {\n success: false,\n message: { text: `${I18N}.api-token-dialog.messages.api-secret-required` },\n };\n }\n\n const connection = await this.connectionManager.upsertConnection({\n providerId,\n authMethodType: AXP_INTEGRATION_AUTH_METHOD_TYPE.ApiToken,\n connectionScope,\n connectionKey: 'default',\n displayName: trim(form.displayName) || 'LiveKit',\n instanceUrl: serverUrl,\n externalAccountName: serverUrl,\n config: {\n serverUrl,\n apiKey,\n apiSecret,\n } satisfies AXELiveKitConnectionConfig,\n status: AXP_INTEGRATION_CONNECTION_STATUS.Connected,\n isRevoked: false,\n isDisabled: false,\n });\n\n return runtimeCommandSuccessObject({\n outcome: 'connected',\n connection: toSafeIntegrationConnectionDto(connection),\n });\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to connect LiveKit.';\n return { success: false, message: { text: message } };\n }\n }\n\n private async openConnectDialog(input: {\n i18nPrefix: string;\n isReconfigure: boolean;\n displayName: string;\n serverUrl: string;\n apiKey: string;\n apiSecret: string;\n }): Promise<LiveKitConnectFormResult | null> {\n const result = await this.layoutBuilder\n .create()\n .dialog<LiveKitConnectFormResult | null>((dialog: IDialogBuilder<LiveKitConnectFormResult | null>) => {\n dialog\n .setTitle(\n input.isReconfigure\n ? `${input.i18nPrefix}.api-token-dialog.configure-title`\n : `${input.i18nPrefix}.api-token-dialog.title`,\n )\n .setSize('md')\n .setCloseButton(true)\n .setContext({\n displayName: input.displayName,\n serverUrl: input.serverUrl,\n apiKey: input.apiKey,\n apiSecret: input.apiSecret,\n })\n .content((flex: IFlexContainerBuilder) => {\n flex\n .setDirection('column')\n .setGap('12px')\n .customWidget('text-block-layout', {\n content: `${input.i18nPrefix}.api-token-dialog.instructions`,\n })\n .formField(`${input.i18nPrefix}.api-token-dialog.fields.display-name`, (field) => {\n field.path('displayName');\n field.textBox({\n placeholder: `${input.i18nPrefix}.api-token-dialog.placeholders.display-name`,\n });\n })\n .formField(`${input.i18nPrefix}.api-token-dialog.fields.server-url`, (field) => {\n field.path('serverUrl');\n field.textBox({\n placeholder: `${input.i18nPrefix}.api-token-dialog.placeholders.server-url`,\n validations: [{ rule: 'required' }],\n });\n })\n .formField(`${input.i18nPrefix}.api-token-dialog.fields.api-key`, (field) => {\n field.path('apiKey');\n field.passwordBox({\n placeholder: `${input.i18nPrefix}.api-token-dialog.placeholders.api-key`,\n revealToggle: true,\n validations: [{ rule: 'required' }],\n });\n })\n .formField(`${input.i18nPrefix}.api-token-dialog.fields.api-secret`, (field) => {\n field.path('apiSecret');\n field.passwordBox({\n placeholder: `${input.i18nPrefix}.api-token-dialog.placeholders.api-secret`,\n revealToggle: true,\n validations: [{ rule: 'required' }],\n });\n });\n })\n .setActions((actions: IActionBuilder) => {\n actions\n .cancel('@general:actions.cancel.title')\n .submit(`${input.i18nPrefix}.api-token-dialog.actions.save`);\n })\n .onAction(async (ref: AXPDialogRef) => {\n if (ref.action() === 'cancel') {\n return null;\n }\n const ctx = ref.context() as Partial<LiveKitConnectFormResult>;\n const displayName = trim(ctx.displayName ?? '');\n const serverUrl = trim(ctx.serverUrl ?? '');\n const apiKey = trim(ctx.apiKey ?? '');\n const apiSecret = trim(ctx.apiSecret ?? '');\n\n if (!serverUrl) {\n throw new Error(`${input.i18nPrefix}.api-token-dialog.messages.server-url-required`);\n }\n if (!apiKey) {\n throw new Error(`${input.i18nPrefix}.api-token-dialog.messages.api-key-required`);\n }\n if (!apiSecret) {\n throw new Error(`${input.i18nPrefix}.api-token-dialog.messages.api-secret-required`);\n }\n\n return { displayName, serverUrl, apiKey, apiSecret };\n });\n })\n .show();\n\n return resolveLayoutBuilderDialogResult<LiveKitConnectFormResult>(result);\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;;;;AA0CA;MAGa,qBAAqB,CAAA;AADlC,IAAA,WAAA,GAAA;AAEmB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC/C,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,+BAA+B,CAAC;AAoL7E,IAAA;AAlLC,IAAA,MAAM,OAAO,CAAC,KAAA,GAAoC,EAAE,EAAA;AAClD,QAAA,IAAI;YACF,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,WAAW,CAAC,UAAU;AACxE,YAAA,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,QAAQ;YACzD,MAAM,IAAI,GAAG,CAAA,CAAA,EAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,oBAAA,CAAsB;YAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC;gBAC5D,UAAU;gBACV,eAAe;AACf,gBAAA,aAAa,EAAE,SAAS;AACzB,aAAA,CAAC;AACF,YAAA,MAAM,aAAa,GAAG,mCAAmC,CAAC,QAAQ,CAAC;YACnE,MAAM,cAAc,IAAI,QAAQ,EAAE,MAAM,IAAI,EAAE,CAA+B;AAE7E,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC;AACxC,gBAAA,UAAU,EAAE,IAAI;gBAChB,aAAa;AACb,gBAAA,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,SAAS;AAC/C,gBAAA,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC;gBACxE,MAAM,EAAE,aAAa,GAAG,+BAA+B,GAAG,EAAE;gBAC5D,SAAS,EAAE,aAAa,GAAG,+BAA+B,GAAG,EAAE;AAChE,aAAA,CAAC;YAEF,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,2BAA2B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAC9D;YAEA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YACtC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAEpC,YAAA,IAAI,6BAA6B,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE;gBACrD,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC;YAC5C;AACA,YAAA,IAAI,6BAA6B,CAAC,SAAS,CAAC,IAAI,QAAQ,EAAE;gBACxD,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,IAAI,EAAE,CAAC;YAClD;YAEA,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,CAAA,EAAG,IAAI,gDAAgD,EAAE;iBAC3E;YACH;YACA,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,CAAA,EAAG,IAAI,6CAA6C,EAAE;iBACxE;YACH;YACA,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO;AACL,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,CAAA,EAAG,IAAI,gDAAgD,EAAE;iBAC3E;YACH;YAEA,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;gBAC/D,UAAU;gBACV,cAAc,EAAE,gCAAgC,CAAC,QAAQ;gBACzD,eAAe;AACf,gBAAA,aAAa,EAAE,SAAS;gBACxB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,SAAS;AAChD,gBAAA,WAAW,EAAE,SAAS;AACtB,gBAAA,mBAAmB,EAAE,SAAS;AAC9B,gBAAA,MAAM,EAAE;oBACN,SAAS;oBACT,MAAM;oBACN,SAAS;AAC2B,iBAAA;gBACtC,MAAM,EAAE,iCAAiC,CAAC,SAAS;AACnD,gBAAA,SAAS,EAAE,KAAK;AAChB,gBAAA,UAAU,EAAE,KAAK;AAClB,aAAA,CAAC;AAEF,YAAA,OAAO,2BAA2B,CAAC;AACjC,gBAAA,OAAO,EAAE,WAAW;AACpB,gBAAA,UAAU,EAAE,8BAA8B,CAAC,UAAU,CAAC;AACvD,aAAA,CAAC;QACJ;QAAE,OAAO,KAAc,EAAE;AACvB,YAAA,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,4BAA4B;AACrF,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QACvD;IACF;IAEQ,MAAM,iBAAiB,CAAC,KAO/B,EAAA;AACC,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;AACvB,aAAA,MAAM;AACN,aAAA,MAAM,CAAkC,CAAC,MAAuD,KAAI;YACnG;iBACG,QAAQ,CACP,KAAK,CAAC;AACJ,kBAAE,CAAA,EAAG,KAAK,CAAC,UAAU,CAAA,iCAAA;AACrB,kBAAE,CAAA,EAAG,KAAK,CAAC,UAAU,yBAAyB;iBAEjD,OAAO,CAAC,IAAI;iBACZ,cAAc,CAAC,IAAI;AACnB,iBAAA,UAAU,CAAC;gBACV,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B;AACA,iBAAA,OAAO,CAAC,CAAC,IAA2B,KAAI;gBACvC;qBACG,YAAY,CAAC,QAAQ;qBACrB,MAAM,CAAC,MAAM;qBACb,YAAY,CAAC,mBAAmB,EAAE;AACjC,oBAAA,OAAO,EAAE,CAAA,EAAG,KAAK,CAAC,UAAU,CAAA,8BAAA,CAAgC;iBAC7D;qBACA,SAAS,CAAC,CAAA,EAAG,KAAK,CAAC,UAAU,uCAAuC,EAAE,CAAC,KAAK,KAAI;AAC/E,oBAAA,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;oBACzB,KAAK,CAAC,OAAO,CAAC;AACZ,wBAAA,WAAW,EAAE,CAAA,EAAG,KAAK,CAAC,UAAU,CAAA,2CAAA,CAA6C;AAC9E,qBAAA,CAAC;AACJ,gBAAA,CAAC;qBACA,SAAS,CAAC,CAAA,EAAG,KAAK,CAAC,UAAU,qCAAqC,EAAE,CAAC,KAAK,KAAI;AAC7E,oBAAA,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;oBACvB,KAAK,CAAC,OAAO,CAAC;AACZ,wBAAA,WAAW,EAAE,CAAA,EAAG,KAAK,CAAC,UAAU,CAAA,yCAAA,CAA2C;AAC3E,wBAAA,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpC,qBAAA,CAAC;AACJ,gBAAA,CAAC;qBACA,SAAS,CAAC,CAAA,EAAG,KAAK,CAAC,UAAU,kCAAkC,EAAE,CAAC,KAAK,KAAI;AAC1E,oBAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACpB,KAAK,CAAC,WAAW,CAAC;AAChB,wBAAA,WAAW,EAAE,CAAA,EAAG,KAAK,CAAC,UAAU,CAAA,sCAAA,CAAwC;AACxE,wBAAA,YAAY,EAAE,IAAI;AAClB,wBAAA,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpC,qBAAA,CAAC;AACJ,gBAAA,CAAC;qBACA,SAAS,CAAC,CAAA,EAAG,KAAK,CAAC,UAAU,qCAAqC,EAAE,CAAC,KAAK,KAAI;AAC7E,oBAAA,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;oBACvB,KAAK,CAAC,WAAW,CAAC;AAChB,wBAAA,WAAW,EAAE,CAAA,EAAG,KAAK,CAAC,UAAU,CAAA,yCAAA,CAA2C;AAC3E,wBAAA,YAAY,EAAE,IAAI;AAClB,wBAAA,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpC,qBAAA,CAAC;AACJ,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC;AACA,iBAAA,UAAU,CAAC,CAAC,OAAuB,KAAI;gBACtC;qBACG,MAAM,CAAC,+BAA+B;AACtC,qBAAA,MAAM,CAAC,CAAA,EAAG,KAAK,CAAC,UAAU,CAAA,8BAAA,CAAgC,CAAC;AAChE,YAAA,CAAC;AACA,iBAAA,QAAQ,CAAC,OAAO,GAAiB,KAAI;AACpC,gBAAA,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,QAAQ,EAAE;AAC7B,oBAAA,OAAO,IAAI;gBACb;AACA,gBAAA,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAuC;gBAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;gBAE3C,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,KAAK,CAAC,UAAU,CAAA,8CAAA,CAAgD,CAAC;gBACtF;gBACA,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,KAAK,CAAC,UAAU,CAAA,2CAAA,CAA6C,CAAC;gBACnF;gBACA,IAAI,CAAC,SAAS,EAAE;oBACd,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,KAAK,CAAC,UAAU,CAAA,8CAAA,CAAgD,CAAC;gBACtF;gBAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;AACtD,YAAA,CAAC,CAAC;AACN,QAAA,CAAC;AACA,aAAA,IAAI,EAAE;AAET,QAAA,OAAO,gCAAgC,CAA2B,MAAM,CAAC;IAC3E;8GArLW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cADR,MAAM,EAAA,CAAA,CAAA;;2FACnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-extension-rtc-livekit-client-contracts.mjs","sources":["../../../../libs/extensions/rtc/livekit/contracts/src/root-config.ts","../../../../libs/extensions/rtc/livekit/contracts/src/env.keys.ts","../../../../libs/extensions/rtc/livekit/contracts/src/query.keys.ts","../../../../libs/extensions/rtc/livekit/contracts/src/commands.keys.ts","../../../../libs/extensions/rtc/livekit/contracts/src/connection.types.ts","../../../../libs/extensions/rtc/livekit/contracts/src/settings.keys.ts","../../../../libs/extensions/rtc/livekit/contracts/src/acorex-platform-extension-rtc-livekit-client-contracts.ts"],"sourcesContent":["//#region ----- LiveKit extension config -----\n\nconst config = {\n i18n: 'extensions-livekit',\n};\n\nconst MODULE_NAME = 'LiveKitExtension';\n\nexport const RootConfig = {\n config,\n module: {\n name: MODULE_NAME,\n title: `@${config.i18n}:integration.display-name`,\n icon: 'fa-light fa-video',\n },\n integration: {\n providerId: 'livekit',\n },\n};\n\n//#endregion\n","//#region ----- LiveKit platform env keys -----\n\n/** Root `.env` / profile overlay keys for platform LiveKit credentials. */\nexport const AXE_LIVEKIT_ENV_KEYS = {\n Url: 'LIVEKIT_URL',\n ApiKey: 'LIVEKIT_API_KEY',\n ApiSecret: 'LIVEKIT_API_SECRET',\n /** Optional HTTP(S) base; converted to ws/wss when LIVEKIT_URL is unset. */\n HttpUrl: 'LIVEKIT_HTTP_URL',\n /** Documented for deploy stacks with self-signed TLS (browser must trust the cert for wss). */\n TlsInsecure: 'LIVEKIT_TLS_INSECURE',\n /** When true, clients get LIVEKIT_DEV_WS_URL (vite proxy to remote LiveKit). */\n DevWsProxy: 'LIVEKIT_DEV_WS_PROXY',\n /** Browser WebSocket URL via demo dev proxy (default ws://127.0.0.1:4800/livekit-ws). */\n DevWsUrl: 'LIVEKIT_DEV_WS_URL',\n /** Optional TURN host override when LIVEKIT_URL is localhost (default 127.0.0.1). */\n TurnHost: 'LIVEKIT_TURN_HOST',\n /** When true, production stack includes coturn + LiveKit turn_servers (set false for local dev). */\n TurnEnabled: 'LIVEKIT_TURN_ENABLED',\n /** @deprecated Use LIVEKIT_TURN_ENABLED. */\n DockerRtc: 'LIVEKIT_DOCKER_RTC',\n /** Browser-reachable IP for docker LiveKit/coturn ICE (compose reads root `.env`). */\n NodeIp: 'LIVEKIT_NODE_IP',\n} as const;\n\nexport type AXELiveKitEnvKey = (typeof AXE_LIVEKIT_ENV_KEYS)[keyof typeof AXE_LIVEKIT_ENV_KEYS];\n\nexport interface AXELiveKitPlatformConfig {\n url: string;\n apiKey: string;\n apiSecret: string;\n}\n\n//#endregion\n","//#region ----- LiveKit query keys -----\n\nexport const AXELiveKitQueryKeys = {\n IsConfigured: 'LiveKitExtension:Config:IsConfigured',\n} as const;\n\n//#endregion\n","//#region ----- LiveKit command keys -----\n\nexport enum AXELiveKitCommandKeys {\n ConnectionConnect = 'LiveKitExtension:Command:Connection.Connect',\n}\n\n//#endregion\n","//#region ----- LiveKit tenant connection config -----\n\n/** Stored on IntegrationManagement connection `config` for server-side token generation. */\nexport interface AXELiveKitConnectionConfig {\n apiKey?: string;\n apiSecret?: string;\n /** Duplicate of `instanceUrl` when stored in config for masked reconfigure flows. */\n serverUrl?: string;\n}\n\n//#endregion\n","//#region ----- LiveKit extension settings -----\n\nexport enum AXELiveKitSettingKeys {\n ConnectionPanel = 'LiveKitExtension:Setting:ConnectionPanel',\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAEA,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,oBAAoB;CAC3B;AAED,MAAM,WAAW,GAAG,kBAAkB;AAE/B,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,yBAAA,CAA2B;AACjD,QAAA,IAAI,EAAE,mBAAmB;AAC1B,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,UAAU,EAAE,SAAS;AACtB,KAAA;;AAGH;;ACpBA;AAEA;AACO,MAAM,oBAAoB,GAAG;AAClC,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,MAAM,EAAE,iBAAiB;AACzB,IAAA,SAAS,EAAE,oBAAoB;;AAE/B,IAAA,OAAO,EAAE,kBAAkB;;AAE3B,IAAA,WAAW,EAAE,sBAAsB;;AAEnC,IAAA,UAAU,EAAE,sBAAsB;;AAElC,IAAA,QAAQ,EAAE,oBAAoB;;AAE9B,IAAA,QAAQ,EAAE,mBAAmB;;AAE7B,IAAA,WAAW,EAAE,sBAAsB;;AAEnC,IAAA,SAAS,EAAE,oBAAoB;;AAE/B,IAAA,MAAM,EAAE,iBAAiB;;AAW3B;;ACjCA;AAEO,MAAM,mBAAmB,GAAG;AACjC,IAAA,YAAY,EAAE,sCAAsC;;AAGtD;;ACNA;IAEY;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,mBAAA,CAAA,GAAA,6CAAiE;AACnE,CAAC,EAFW,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;AAIjC;;ACNA;AAUA;;ACVA;IAEY;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,iBAAA,CAAA,GAAA,0CAA4D;AAC9D,CAAC,EAFW,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;AAIjC;;ACNA;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-platform-extension-rtc-livekit-client-contracts.mjs","sources":["../../../../libs/extensions/rtc/livekit/contracts/src/root-config.ts","../../../../libs/extensions/rtc/livekit/contracts/src/env.keys.ts","../../../../libs/extensions/rtc/livekit/contracts/src/query.keys.ts","../../../../libs/extensions/rtc/livekit/contracts/src/commands.keys.ts","../../../../libs/extensions/rtc/livekit/contracts/src/connection.types.ts","../../../../libs/extensions/rtc/livekit/contracts/src/settings.keys.ts","../../../../libs/extensions/rtc/livekit/contracts/src/acorex-platform-extension-rtc-livekit-client-contracts.ts"],"sourcesContent":["//#region ----- LiveKit extension config -----\n\nconst config = {\n i18n: 'extensions-livekit',\n};\n\nconst MODULE_NAME = 'LiveKitExtension';\n\nexport const RootConfig = {\n config,\n module: {\n name: MODULE_NAME,\n title: `@${config.i18n}:integration.display-name`,\n icon: 'fa-light fa-video',\n },\n integration: {\n providerId: 'livekit',\n },\n};\n\n//#endregion\n","//#region ----- LiveKit platform env keys -----\n\n/** Root `.env` / profile overlay keys for platform LiveKit credentials. */\nexport const AXE_LIVEKIT_ENV_KEYS = {\n Url: 'LIVEKIT_URL',\n ApiKey: 'LIVEKIT_API_KEY',\n ApiSecret: 'LIVEKIT_API_SECRET',\n /** Optional HTTP(S) base; converted to ws/wss when LIVEKIT_URL is unset. */\n HttpUrl: 'LIVEKIT_HTTP_URL',\n /** Documented for deploy stacks with self-signed TLS (browser must trust the cert for wss). */\n TlsInsecure: 'LIVEKIT_TLS_INSECURE',\n /** When true, clients get LIVEKIT_DEV_WS_URL (vite proxy to remote LiveKit). */\n DevWsProxy: 'LIVEKIT_DEV_WS_PROXY',\n /** Browser WebSocket URL via demo dev proxy (default ws://127.0.0.1:4800/livekit-ws). */\n DevWsUrl: 'LIVEKIT_DEV_WS_URL',\n /** Optional TURN host override when LIVEKIT_URL is localhost (default 127.0.0.1). */\n TurnHost: 'LIVEKIT_TURN_HOST',\n /** When true, production stack includes coturn + LiveKit turn_servers (set false for local dev). */\n TurnEnabled: 'LIVEKIT_TURN_ENABLED',\n /** @deprecated Use LIVEKIT_TURN_ENABLED. */\n DockerRtc: 'LIVEKIT_DOCKER_RTC',\n /** Browser-reachable IP for docker LiveKit/coturn ICE (compose reads root `.env`). */\n NodeIp: 'LIVEKIT_NODE_IP',\n} as const;\n\nexport type AXELiveKitEnvKey = (typeof AXE_LIVEKIT_ENV_KEYS)[keyof typeof AXE_LIVEKIT_ENV_KEYS];\n\nexport interface AXELiveKitPlatformConfig {\n url: string;\n apiKey: string;\n apiSecret: string;\n}\n\n//#endregion\n","//#region ----- LiveKit query keys -----\n\nexport const AXELiveKitQueryKeys = {\n IsConfigured: 'LiveKitExtension:Config:IsConfigured',\n} as const;\n\n//#endregion\n","//#region ----- LiveKit command keys -----\n\nexport enum AXELiveKitCommandKeys {\n ConnectionConnect = 'LiveKitExtension:Command:Connection.Connect',\n}\n\n//#endregion\n","//#region ----- LiveKit tenant connection config -----\n\n/** Stored on IntegrationManagement connection `config` for server-side token generation. */\nexport interface AXELiveKitConnectionConfig {\n apiKey?: string;\n apiSecret?: string;\n /** Duplicate of `instanceUrl` when stored in config for masked reconfigure flows. */\n serverUrl?: string;\n}\n\n//#endregion\n","//#region ----- LiveKit extension settings -----\n\nexport enum AXELiveKitSettingKeys {\n ConnectionPanel = 'LiveKitExtension:Setting:ConnectionPanel',\n}\n\n//#endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAEA,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,oBAAoB;CAC3B;AAED,MAAM,WAAW,GAAG,kBAAkB;AAE/B,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,yBAAA,CAA2B;AACjD,QAAA,IAAI,EAAE,mBAAmB;AAC1B,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,UAAU,EAAE,SAAS;AACtB,KAAA;;AAGH;;ACpBA;AAEA;AACO,MAAM,oBAAoB,GAAG;AAClC,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,MAAM,EAAE,iBAAiB;AACzB,IAAA,SAAS,EAAE,oBAAoB;;AAE/B,IAAA,OAAO,EAAE,kBAAkB;;AAE3B,IAAA,WAAW,EAAE,sBAAsB;;AAEnC,IAAA,UAAU,EAAE,sBAAsB;;AAElC,IAAA,QAAQ,EAAE,oBAAoB;;AAE9B,IAAA,QAAQ,EAAE,mBAAmB;;AAE7B,IAAA,WAAW,EAAE,sBAAsB;;AAEnC,IAAA,SAAS,EAAE,oBAAoB;;AAE/B,IAAA,MAAM,EAAE,iBAAiB;;AAW3B;;ACjCA;AAEO,MAAM,mBAAmB,GAAG;AACjC,IAAA,YAAY,EAAE,sCAAsC;;AAGtD;;ACNA;IAEY;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,mBAAA,CAAA,GAAA,6CAAiE;AACnE,CAAC,EAFW,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;AAIjC;;ACNA;AAUA;;ACVA;IAEY;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,iBAAA,CAAA,GAAA,0CAA4D;AAC9D,CAAC,EAFW,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;AAIjC;;ACNA;;AAEG;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-extension-rtc-livekit-client.mjs","sources":["../../../../libs/extensions/rtc/livekit/client/src/lib/brand/livekit-logo-key.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/brand/livekit-logo.provider.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/integration/livekit.integration.provider.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/integration/livekit.integration-runtime.provider.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/manifest.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/settings/livekit-settings.provider.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/livekit-extension.module.ts","../../../../libs/extensions/rtc/livekit/client/src/acorex-platform-extension-rtc-livekit-client.ts"],"sourcesContent":["//#region ---- LiveKit logo registry key ----\n\nexport const axpLiveKitLogoKey = 'livekit' as const;\n\n/** Mark artwork (64×64); consuming apps copy to `assets/images/brand/integrations/`. */\nexport const AXE_LIVEKIT_MARK_SRC = 'assets/images/brand/integrations/livekit-mark.svg';\n\n/** Source mark dimensions (64×64). */\nexport const AXE_LIVEKIT_MARK_ASPECT = 1;\n\n//#endregion\n","import {\n AXP_LOGO_PROVIDER,\n type AXPLogoProvider,\n type AXPLogoRequest,\n type AXPLogoView,\n} from '@acorex-platform/framework-client/core';\nimport {\n AXE_LIVEKIT_MARK_ASPECT,\n AXE_LIVEKIT_MARK_SRC,\n axpLiveKitLogoKey,\n} from './livekit-logo-key';\n\nconst liveKitLogoProvider: AXPLogoProvider = {\n key: axpLiveKitLogoKey,\n resolve: async (request: AXPLogoRequest): Promise<AXPLogoView> => ({\n kind: 'image',\n src: AXE_LIVEKIT_MARK_SRC,\n height: request.size,\n width: Math.round(request.size * AXE_LIVEKIT_MARK_ASPECT),\n }),\n};\n\nexport const AXE_LIVEKIT_LOGO_PROVIDER = {\n provide: AXP_LOGO_PROVIDER,\n useValue: liveKitLogoProvider,\n multi: true,\n} as const;\n","import {\n AXP_INTEGRATION_AUTH_METHOD_TYPE,\n AXP_INTEGRATION_CONNECTION_SCOPE,\n AXPWidgetsList,\n} from '@acorex-platform/framework-shared/core';\nimport { AXPIntegrationProvider, AXPIntegrationProviderContext } from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport { AXE_RTC_DOMAIN_ID } from '@acorex-platform/extension-rtc-core-client/contracts';\nimport { AXELiveKitCommandKeys, RootConfig } from '@acorex-platform/extension-rtc-livekit-client/contracts';\nimport { axpLiveKitLogoKey } from '../brand/livekit-logo-key';\n\n@Injectable()\nexport class AXELiveKitIntegrationProvider implements AXPIntegrationProvider {\n async provide(context: AXPIntegrationProviderContext): Promise<void> {\n const I18N = `@${RootConfig.config.i18n}:integration`;\n\n context.register({\n id: RootConfig.integration.providerId,\n domainId: AXE_RTC_DOMAIN_ID,\n module: RootConfig.module.name,\n displayName: `${I18N}.display-name`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n logoKey: axpLiveKitLogoKey,\n connectionScopes: [AXP_INTEGRATION_CONNECTION_SCOPE.Tenant],\n allowMultipleConnections: false,\n defaultConnectionKey: 'default',\n connectCommandKey: AXELiveKitCommandKeys.ConnectionConnect,\n authMethods: [\n {\n type: AXP_INTEGRATION_AUTH_METHOD_TYPE.ApiToken,\n label: `${I18N}.auth.api-token.label`,\n instructions: `${I18N}.auth.api-token.instructions`,\n supportsValidation: true,\n fields: [\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'serverUrl',\n options: { placeholder: `${I18N}.auth.api-token.server-url.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'apiKey',\n options: { placeholder: `${I18N}.auth.api-token.api-key.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'apiSecret',\n options: { placeholder: `${I18N}.auth.api-token.api-secret.placeholder` },\n },\n ],\n },\n ],\n });\n }\n}\n","import {\r\n AXP_INTEGRATION_CONNECTION_STATUS,\r\n type AXPIntegrationProviderRuntimeHooks,\r\n type AXPIntegrationRuntimeContext,\r\n type AXPIntegrationValidationResult,\r\n} from '@acorex-platform/framework-shared/core';\r\nimport {\r\n AXP_INTEGRATION_RUNTIME_PROVIDER,\r\n type AXPIntegrationRuntimeProvider,\r\n} from '@acorex-platform/framework-client/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { defaultTo, trim } from 'lodash-es';\r\nimport { RootConfig, type AXELiveKitConnectionConfig } from '@acorex-platform/extension-rtc-livekit-client/contracts';\r\n\r\n@Injectable()\r\nexport class AXELiveKitIntegrationRuntimeProvider implements AXPIntegrationRuntimeProvider {\r\n readonly providerId = RootConfig.integration.providerId;\r\n\r\n async getHooks(): Promise<AXPIntegrationProviderRuntimeHooks> {\r\n return {\r\n validateConnection: (ctx) => this.validateConnection(ctx),\r\n };\r\n }\r\n\r\n private async validateConnection(ctx: AXPIntegrationRuntimeContext): Promise<AXPIntegrationValidationResult> {\r\n const config = (ctx.config ?? {}) as AXELiveKitConnectionConfig;\r\n const serverUrl = trim(defaultTo(ctx.instanceUrl ?? config.serverUrl, ''));\r\n const apiKey = trim(defaultTo(config.apiKey, ''));\r\n const apiSecret = trim(defaultTo(config.apiSecret, ''));\r\n\r\n if (!serverUrl || !apiKey || !apiSecret) {\r\n return {\r\n valid: false,\r\n status: AXP_INTEGRATION_CONNECTION_STATUS.Invalid,\r\n errorMessage: '@extensions-livekit:integration.validation.incomplete-credentials',\r\n };\r\n }\r\n\r\n return {\r\n valid: true,\r\n status: AXP_INTEGRATION_CONNECTION_STATUS.Connected,\r\n externalAccountName: serverUrl,\r\n };\r\n }\r\n}\r\n\r\nexport const provideLiveKitIntegrationRuntimeProvider = {\r\n provide: AXP_INTEGRATION_RUNTIME_PROVIDER,\r\n useClass: AXELiveKitIntegrationRuntimeProvider,\r\n multi: true,\r\n};\r\n","import { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/extension-rtc-livekit-client/contracts';\n\nexport const LiveKitExtensionManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'integration',\n domain: 'rtc',\n dependencies: ['RtcExtension'],\n};\n","import {\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { Injectable } from '@angular/core';\nimport { AXELiveKitSettingKeys, RootConfig } from '@acorex-platform/extension-rtc-livekit-client/contracts';\n\nconst INTEGRATIONS_SETTINGS_GROUP = 'integrations';\nconst I18N = `@${RootConfig.config.i18n}:settings.tenant-integration`;\n\n//#region ----- LiveKit settings provider -----\n\n@Injectable()\nexport class AXELiveKitSettingsProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n if (!context.hasGroup(INTEGRATIONS_SETTINGS_GROUP)) {\n return;\n }\n\n const integrations = context.group(INTEGRATIONS_SETTINGS_GROUP);\n if (!integrations) {\n return;\n }\n\n integrations\n .addSection('livekit', `${I18N}.section-title`, `${I18N}.section-description`)\n .addSetting({\n key: AXELiveKitSettingKeys.ConnectionPanel,\n title: `${I18N}.connection-title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n widget: {\n type: AXPWidgetsList.Advanced.IntegrationConnectionsPanel,\n layout: { stacked: true },\n options: {\n providerId: RootConfig.integration.providerId,\n connectionScope: 'tenant',\n },\n },\n description: `${I18N}.connection-description`,\n })\n .endSection();\n }\n}\n\n//#endregion\n","import { AXMIntegrationManagementModule } from '@acorex-platform/module-integration-management-client';\nimport {\n AXP_INTEGRATION_PROVIDER,\n AXP_SETTING_DEFINITION_PROVIDER,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_MODULE_MANIFEST_PROVIDER } from '@acorex-platform/framework-client/core';\nimport { provideCommandSetups } from '@acorex-platform/framework-client/runtime';\nimport { NgModule } from '@angular/core';\nimport { AXELiveKitCommandKeys } from '@acorex-platform/extension-rtc-livekit-client/contracts';\nimport { AXE_LIVEKIT_LOGO_PROVIDER } from './brand/livekit-logo.provider';\nimport { AXELiveKitIntegrationProvider } from './integration/livekit.integration.provider';\nimport { provideLiveKitIntegrationRuntimeProvider } from './integration/livekit.integration-runtime.provider';\nimport { LiveKitExtensionManifest } from './manifest';\nimport { AXELiveKitSettingsProvider } from './settings/livekit-settings.provider';\n\n@NgModule({\n imports: [AXMIntegrationManagementModule],\n providers: [\n AXE_LIVEKIT_LOGO_PROVIDER,\n { provide: AXP_MODULE_MANIFEST_PROVIDER, useValue: LiveKitExtensionManifest, multi: true },\n { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXELiveKitSettingsProvider, multi: true },\n { provide: AXP_INTEGRATION_PROVIDER, useClass: AXELiveKitIntegrationProvider, multi: true },\n provideLiveKitIntegrationRuntimeProvider,\n provideCommandSetups([\n {\n key: AXELiveKitCommandKeys.ConnectionConnect,\n command: () => import('./features/connect/connect-livekit.command').then((c) => c.ConnectLiveKitCommand),\n },\n ]),\n ],\n})\nexport class AXELiveKitExtensionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-extension-rtc-livekit-client.mjs","sources":["../../../../libs/extensions/rtc/livekit/client/src/lib/brand/livekit-logo-key.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/brand/livekit-logo.provider.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/integration/livekit.integration.provider.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/integration/livekit.integration-runtime.provider.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/manifest.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/settings/livekit-settings.provider.ts","../../../../libs/extensions/rtc/livekit/client/src/lib/livekit-extension.module.ts","../../../../libs/extensions/rtc/livekit/client/src/acorex-platform-extension-rtc-livekit-client.ts"],"sourcesContent":["//#region ---- LiveKit logo registry key ----\n\nexport const axpLiveKitLogoKey = 'livekit' as const;\n\n/** Mark artwork (64×64); consuming apps copy to `assets/images/brand/integrations/`. */\nexport const AXE_LIVEKIT_MARK_SRC = 'assets/images/brand/integrations/livekit-mark.svg';\n\n/** Source mark dimensions (64×64). */\nexport const AXE_LIVEKIT_MARK_ASPECT = 1;\n\n//#endregion\n","import {\n AXP_LOGO_PROVIDER,\n type AXPLogoProvider,\n type AXPLogoRequest,\n type AXPLogoView,\n} from '@acorex-platform/framework-client/core';\nimport {\n AXE_LIVEKIT_MARK_ASPECT,\n AXE_LIVEKIT_MARK_SRC,\n axpLiveKitLogoKey,\n} from './livekit-logo-key';\n\nconst liveKitLogoProvider: AXPLogoProvider = {\n key: axpLiveKitLogoKey,\n resolve: async (request: AXPLogoRequest): Promise<AXPLogoView> => ({\n kind: 'image',\n src: AXE_LIVEKIT_MARK_SRC,\n height: request.size,\n width: Math.round(request.size * AXE_LIVEKIT_MARK_ASPECT),\n }),\n};\n\nexport const AXE_LIVEKIT_LOGO_PROVIDER = {\n provide: AXP_LOGO_PROVIDER,\n useValue: liveKitLogoProvider,\n multi: true,\n} as const;\n","import {\n AXP_INTEGRATION_AUTH_METHOD_TYPE,\n AXP_INTEGRATION_CONNECTION_SCOPE,\n AXPWidgetsList,\n} from '@acorex-platform/framework-shared/core';\nimport { AXPIntegrationProvider, AXPIntegrationProviderContext } from '@acorex-platform/framework-client/common';\nimport { Injectable } from '@angular/core';\nimport { AXE_RTC_DOMAIN_ID } from '@acorex-platform/extension-rtc-core-client/contracts';\nimport { AXELiveKitCommandKeys, RootConfig } from '@acorex-platform/extension-rtc-livekit-client/contracts';\nimport { axpLiveKitLogoKey } from '../brand/livekit-logo-key';\n\n@Injectable()\nexport class AXELiveKitIntegrationProvider implements AXPIntegrationProvider {\n async provide(context: AXPIntegrationProviderContext): Promise<void> {\n const I18N = `@${RootConfig.config.i18n}:integration`;\n\n context.register({\n id: RootConfig.integration.providerId,\n domainId: AXE_RTC_DOMAIN_ID,\n module: RootConfig.module.name,\n displayName: `${I18N}.display-name`,\n description: `${I18N}.description`,\n icon: RootConfig.module.icon,\n logoKey: axpLiveKitLogoKey,\n connectionScopes: [AXP_INTEGRATION_CONNECTION_SCOPE.Tenant],\n allowMultipleConnections: false,\n defaultConnectionKey: 'default',\n connectCommandKey: AXELiveKitCommandKeys.ConnectionConnect,\n authMethods: [\n {\n type: AXP_INTEGRATION_AUTH_METHOD_TYPE.ApiToken,\n label: `${I18N}.auth.api-token.label`,\n instructions: `${I18N}.auth.api-token.instructions`,\n supportsValidation: true,\n fields: [\n {\n type: AXPWidgetsList.Editors.TextBox,\n path: 'serverUrl',\n options: { placeholder: `${I18N}.auth.api-token.server-url.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'apiKey',\n options: { placeholder: `${I18N}.auth.api-token.api-key.placeholder` },\n },\n {\n type: AXPWidgetsList.Editors.PasswordBox,\n path: 'apiSecret',\n options: { placeholder: `${I18N}.auth.api-token.api-secret.placeholder` },\n },\n ],\n },\n ],\n });\n }\n}\n","import {\r\n AXP_INTEGRATION_CONNECTION_STATUS,\r\n type AXPIntegrationProviderRuntimeHooks,\r\n type AXPIntegrationRuntimeContext,\r\n type AXPIntegrationValidationResult,\r\n} from '@acorex-platform/framework-shared/core';\r\nimport {\r\n AXP_INTEGRATION_RUNTIME_PROVIDER,\r\n type AXPIntegrationRuntimeProvider,\r\n} from '@acorex-platform/framework-client/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { defaultTo, trim } from 'lodash-es';\r\nimport { RootConfig, type AXELiveKitConnectionConfig } from '@acorex-platform/extension-rtc-livekit-client/contracts';\r\n\r\n@Injectable()\r\nexport class AXELiveKitIntegrationRuntimeProvider implements AXPIntegrationRuntimeProvider {\r\n readonly providerId = RootConfig.integration.providerId;\r\n\r\n async getHooks(): Promise<AXPIntegrationProviderRuntimeHooks> {\r\n return {\r\n validateConnection: (ctx) => this.validateConnection(ctx),\r\n };\r\n }\r\n\r\n private async validateConnection(ctx: AXPIntegrationRuntimeContext): Promise<AXPIntegrationValidationResult> {\r\n const config = (ctx.config ?? {}) as AXELiveKitConnectionConfig;\r\n const serverUrl = trim(defaultTo(ctx.instanceUrl ?? config.serverUrl, ''));\r\n const apiKey = trim(defaultTo(config.apiKey, ''));\r\n const apiSecret = trim(defaultTo(config.apiSecret, ''));\r\n\r\n if (!serverUrl || !apiKey || !apiSecret) {\r\n return {\r\n valid: false,\r\n status: AXP_INTEGRATION_CONNECTION_STATUS.Invalid,\r\n errorMessage: '@extensions-livekit:integration.validation.incomplete-credentials',\r\n };\r\n }\r\n\r\n return {\r\n valid: true,\r\n status: AXP_INTEGRATION_CONNECTION_STATUS.Connected,\r\n externalAccountName: serverUrl,\r\n };\r\n }\r\n}\r\n\r\nexport const provideLiveKitIntegrationRuntimeProvider = {\r\n provide: AXP_INTEGRATION_RUNTIME_PROVIDER,\r\n useClass: AXELiveKitIntegrationRuntimeProvider,\r\n multi: true,\r\n};\r\n","import { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/extension-rtc-livekit-client/contracts';\n\nexport const LiveKitExtensionManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'integration',\n domain: 'rtc',\n dependencies: ['RtcExtension'],\n};\n","import {\n AXPSettingDefinitionProvider,\n AXPSettingDefinitionProviderContext,\n} from '@acorex-platform/framework-client/common';\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { Injectable } from '@angular/core';\nimport { AXELiveKitSettingKeys, RootConfig } from '@acorex-platform/extension-rtc-livekit-client/contracts';\n\nconst INTEGRATIONS_SETTINGS_GROUP = 'integrations';\nconst I18N = `@${RootConfig.config.i18n}:settings.tenant-integration`;\n\n//#region ----- LiveKit settings provider -----\n\n@Injectable()\nexport class AXELiveKitSettingsProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n if (!context.hasGroup(INTEGRATIONS_SETTINGS_GROUP)) {\n return;\n }\n\n const integrations = context.group(INTEGRATIONS_SETTINGS_GROUP);\n if (!integrations) {\n return;\n }\n\n integrations\n .addSection('livekit', `${I18N}.section-title`, `${I18N}.section-description`)\n .addSetting({\n key: AXELiveKitSettingKeys.ConnectionPanel,\n title: `${I18N}.connection-title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n widget: {\n type: AXPWidgetsList.Advanced.IntegrationConnectionsPanel,\n layout: { stacked: true },\n options: {\n providerId: RootConfig.integration.providerId,\n connectionScope: 'tenant',\n },\n },\n description: `${I18N}.connection-description`,\n })\n .endSection();\n }\n}\n\n//#endregion\n","import { AXMIntegrationManagementModule } from '@acorex-platform/module-integration-management-client';\nimport {\n AXP_INTEGRATION_PROVIDER,\n AXP_SETTING_DEFINITION_PROVIDER,\n} from '@acorex-platform/framework-client/common';\nimport { AXP_MODULE_MANIFEST_PROVIDER } from '@acorex-platform/framework-client/core';\nimport { provideCommandSetups } from '@acorex-platform/framework-client/runtime';\nimport { NgModule } from '@angular/core';\nimport { AXELiveKitCommandKeys } from '@acorex-platform/extension-rtc-livekit-client/contracts';\nimport { AXE_LIVEKIT_LOGO_PROVIDER } from './brand/livekit-logo.provider';\nimport { AXELiveKitIntegrationProvider } from './integration/livekit.integration.provider';\nimport { provideLiveKitIntegrationRuntimeProvider } from './integration/livekit.integration-runtime.provider';\nimport { LiveKitExtensionManifest } from './manifest';\nimport { AXELiveKitSettingsProvider } from './settings/livekit-settings.provider';\n\n@NgModule({\n imports: [AXMIntegrationManagementModule],\n providers: [\n AXE_LIVEKIT_LOGO_PROVIDER,\n { provide: AXP_MODULE_MANIFEST_PROVIDER, useValue: LiveKitExtensionManifest, multi: true },\n { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXELiveKitSettingsProvider, multi: true },\n { provide: AXP_INTEGRATION_PROVIDER, useClass: AXELiveKitIntegrationProvider, multi: true },\n provideLiveKitIntegrationRuntimeProvider,\n provideCommandSetups([\n {\n key: AXELiveKitCommandKeys.ConnectionConnect,\n command: () => import('./features/connect/connect-livekit.command').then((c) => c.ConnectLiveKitCommand),\n },\n ]),\n ],\n})\nexport class AXELiveKitExtensionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex-platform/extension-rtc-livekit-client",
3
- "version": "0.0.32",
3
+ "version": "0.0.37",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0 || ^22.0.0",