@acorex-platform/extension-rtc-livekit-client 0.0.38 → 0.0.48

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.
@@ -16,6 +16,17 @@ const RootConfig = {
16
16
  };
17
17
  //#endregion
18
18
 
19
+ const LiveKitExtensionManifest = {
20
+ name: RootConfig.module.name,
21
+ version: '1.0.0',
22
+ title: RootConfig.module.title,
23
+ icon: RootConfig.module.icon,
24
+ i18n: RootConfig.config.i18n,
25
+ type: 'integration',
26
+ domain: 'rtc',
27
+ dependencies: ['RtcExtension'],
28
+ };
29
+
19
30
  //#region ----- LiveKit platform env keys -----
20
31
  /** Root `.env` / profile overlay keys for platform LiveKit credentials. */
21
32
  const AXE_LIVEKIT_ENV_KEYS = {
@@ -57,16 +68,9 @@ var AXELiveKitCommandKeys;
57
68
  //#region ----- LiveKit tenant connection config -----
58
69
  //#endregion
59
70
 
60
- //#region ----- LiveKit extension settings -----
61
- var AXELiveKitSettingKeys;
62
- (function (AXELiveKitSettingKeys) {
63
- AXELiveKitSettingKeys["ConnectionPanel"] = "LiveKitExtension:Setting:ConnectionPanel";
64
- })(AXELiveKitSettingKeys || (AXELiveKitSettingKeys = {}));
65
- //#endregion
66
-
67
71
  /**
68
72
  * Generated bundle index. Do not edit.
69
73
  */
70
74
 
71
- export { AXELiveKitCommandKeys, AXELiveKitQueryKeys, AXELiveKitSettingKeys, AXE_LIVEKIT_ENV_KEYS, RootConfig };
75
+ export { AXELiveKitCommandKeys, AXELiveKitQueryKeys, AXE_LIVEKIT_ENV_KEYS, LiveKitExtensionManifest, RootConfig };
72
76
  //# sourceMappingURL=acorex-platform-extension-rtc-livekit-client-contracts.mjs.map
@@ -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/manifest.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/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","\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\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","//#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","/**\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;;AChBO,MAAM,wBAAwB,GAAsB;AACzD,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AAC9B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,CAAC,cAAc,CAAC;;;ACZhC;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;;AAEG;;"}
@@ -1,10 +1,10 @@
1
1
  import { AXMIntegrationManagementModule } from '@acorex-platform/module-integration-management-client';
2
- import { AXP_INTEGRATION_RUNTIME_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_INTEGRATION_PROVIDER } from '@acorex-platform/framework-client/common';
3
- import { AXP_LOGO_PROVIDER, AXP_MODULE_MANIFEST_PROVIDER } from '@acorex-platform/framework-client/core';
2
+ import { AXP_INTEGRATION_RUNTIME_PROVIDER, AXP_INTEGRATION_PROVIDER } from '@acorex-platform/framework-client/common';
4
3
  import { provideCommandSetups } from '@acorex-platform/framework-client/runtime';
5
4
  import * as i0 from '@angular/core';
6
5
  import { Injectable, NgModule } from '@angular/core';
7
- import { RootConfig, AXELiveKitCommandKeys, AXELiveKitSettingKeys } from '@acorex-platform/extension-rtc-livekit-client/contracts';
6
+ import { RootConfig, AXELiveKitCommandKeys } from '@acorex-platform/extension-rtc-livekit-client/contracts';
7
+ import { AXP_LOGO_PROVIDER } from '@acorex-platform/framework-client/core';
8
8
  import { AXPWidgetsList, AXP_INTEGRATION_AUTH_METHOD_TYPE, AXP_INTEGRATION_CONNECTION_SCOPE, AXP_INTEGRATION_CONNECTION_STATUS } from '@acorex-platform/framework-shared/core';
9
9
  import { AXE_RTC_DOMAIN_ID } from '@acorex-platform/extension-rtc-core-client/contracts';
10
10
  import { trim, defaultTo } from 'lodash-es';
@@ -120,63 +120,11 @@ const provideLiveKitIntegrationRuntimeProvider = {
120
120
  multi: true,
121
121
  };
122
122
 
123
- const LiveKitExtensionManifest = {
124
- name: RootConfig.module.name,
125
- version: '1.0.0',
126
- title: RootConfig.module.title,
127
- icon: RootConfig.module.icon,
128
- i18n: RootConfig.config.i18n,
129
- type: 'integration',
130
- domain: 'rtc',
131
- dependencies: ['RtcExtension'],
132
- };
133
-
134
- const INTEGRATIONS_SETTINGS_GROUP = 'integrations';
135
- const I18N = `@${RootConfig.config.i18n}:settings.tenant-integration`;
136
- //#region ----- LiveKit settings provider -----
137
- class AXELiveKitSettingsProvider {
138
- async provide(context) {
139
- if (!context.hasGroup(INTEGRATIONS_SETTINGS_GROUP)) {
140
- return;
141
- }
142
- const integrations = context.group(INTEGRATIONS_SETTINGS_GROUP);
143
- if (!integrations) {
144
- return;
145
- }
146
- integrations
147
- .addSection('livekit', `${I18N}.section-title`, `${I18N}.section-description`)
148
- .addSetting({
149
- key: AXELiveKitSettingKeys.ConnectionPanel,
150
- title: `${I18N}.connection-title`,
151
- scope: 'T',
152
- overridableAt: [],
153
- isInherited: false,
154
- widget: {
155
- type: AXPWidgetsList.Advanced.IntegrationConnectionsPanel,
156
- layout: { stacked: true },
157
- options: {
158
- providerId: RootConfig.integration.providerId,
159
- connectionScope: 'tenant',
160
- },
161
- },
162
- description: `${I18N}.connection-description`,
163
- })
164
- .endSection();
165
- }
166
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXELiveKitSettingsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
167
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXELiveKitSettingsProvider }); }
168
- }
169
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXELiveKitSettingsProvider, decorators: [{
170
- type: Injectable
171
- }] });
172
-
173
123
  class AXELiveKitExtensionModule {
174
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXELiveKitExtensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
175
125
  static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXELiveKitExtensionModule, imports: [AXMIntegrationManagementModule] }); }
176
126
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXELiveKitExtensionModule, providers: [
177
127
  AXE_LIVEKIT_LOGO_PROVIDER,
178
- { provide: AXP_MODULE_MANIFEST_PROVIDER, useValue: LiveKitExtensionManifest, multi: true },
179
- { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXELiveKitSettingsProvider, multi: true },
180
128
  { provide: AXP_INTEGRATION_PROVIDER, useClass: AXELiveKitIntegrationProvider, multi: true },
181
129
  provideLiveKitIntegrationRuntimeProvider,
182
130
  provideCommandSetups([
@@ -193,8 +141,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
193
141
  imports: [AXMIntegrationManagementModule],
194
142
  providers: [
195
143
  AXE_LIVEKIT_LOGO_PROVIDER,
196
- { provide: AXP_MODULE_MANIFEST_PROVIDER, useValue: LiveKitExtensionManifest, multi: true },
197
- { provide: AXP_SETTING_DEFINITION_PROVIDER, useClass: AXELiveKitSettingsProvider, multi: true },
198
144
  { provide: AXP_INTEGRATION_PROVIDER, useClass: AXELiveKitIntegrationProvider, multi: true },
199
145
  provideLiveKitIntegrationRuntimeProvider,
200
146
  provideCommandSetups([
@@ -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/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 { AXMIntegrationManagementModule } from '@acorex-platform/module-integration-management-client';\nimport { AXP_INTEGRATION_PROVIDER } from '@acorex-platform/framework-client/common';\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';\n\n@NgModule({\n imports: [AXMIntegrationManagementModule],\n providers: [\n AXE_LIVEKIT_LOGO_PROVIDER,\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.38",
3
+ "version": "0.0.48",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0 || ^22.0.0",
@@ -1,3 +1,5 @@
1
+ import { AXPModuleManifest } from '@acorex-platform/framework-shared/core';
2
+
1
3
  declare const RootConfig: {
2
4
  config: {
3
5
  i18n: string;
@@ -12,6 +14,8 @@ declare const RootConfig: {
12
14
  };
13
15
  };
14
16
 
17
+ declare const LiveKitExtensionManifest: AXPModuleManifest;
18
+
15
19
  /** Root `.env` / profile overlay keys for platform LiveKit credentials. */
16
20
  declare const AXE_LIVEKIT_ENV_KEYS: {
17
21
  readonly Url: "LIVEKIT_URL";
@@ -57,9 +61,5 @@ interface AXELiveKitConnectionConfig {
57
61
  serverUrl?: string;
58
62
  }
59
63
 
60
- declare enum AXELiveKitSettingKeys {
61
- ConnectionPanel = "LiveKitExtension:Setting:ConnectionPanel"
62
- }
63
-
64
- export { AXELiveKitCommandKeys, AXELiveKitQueryKeys, AXELiveKitSettingKeys, AXE_LIVEKIT_ENV_KEYS, RootConfig };
64
+ export { AXELiveKitCommandKeys, AXELiveKitQueryKeys, AXE_LIVEKIT_ENV_KEYS, LiveKitExtensionManifest, RootConfig };
65
65
  export type { AXELiveKitConnectionConfig, AXELiveKitEnvKey, AXELiveKitPlatformConfig };