@adzen/doohbot 1.0.7 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/adzen-doohbot.mjs +68 -30
- package/fesm2022/adzen-doohbot.mjs.map +1 -1
- package/index.d.ts +4 -3
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -131,6 +131,25 @@ const doohbotConst = {
|
|
|
131
131
|
botAvatar: 'data:image/png;base64,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',
|
|
132
132
|
};
|
|
133
133
|
|
|
134
|
+
/**
|
|
135
|
+
* Injection token for Doohbot configuration.
|
|
136
|
+
* Used to inject user-provided or default config into services.
|
|
137
|
+
*/
|
|
138
|
+
const DOOHBOT_CONFIG = new InjectionToken('DOOHBOT_CONFIG');
|
|
139
|
+
|
|
140
|
+
const DOOHBOT_API_BASE_URLS = {
|
|
141
|
+
development: 'http://localhost:4000/api/',
|
|
142
|
+
test: 'https://api.test.doohbot.com/api/',
|
|
143
|
+
stage: 'https://api.stage.doohbot.com/api/',
|
|
144
|
+
production: 'https://api.doohbot.com/',
|
|
145
|
+
};
|
|
146
|
+
function getDefaultDoohbotApiBaseUrl(environment) {
|
|
147
|
+
return DOOHBOT_API_BASE_URLS[environment];
|
|
148
|
+
}
|
|
149
|
+
function isDefaultDoohbotApiBaseUrl(environment, baseUrl) {
|
|
150
|
+
return (baseUrl ?? '') === getDefaultDoohbotApiBaseUrl(environment);
|
|
151
|
+
}
|
|
152
|
+
|
|
134
153
|
/**
|
|
135
154
|
* Default Doohbot configuration values.
|
|
136
155
|
* Applied when no user overrides are provided.
|
|
@@ -146,7 +165,7 @@ const DEFAULT_DOOHBOT_CONFIG = {
|
|
|
146
165
|
useNonStreamingChat: false, // true for non-streaming, false for streaming
|
|
147
166
|
// API integration defaults
|
|
148
167
|
api: {
|
|
149
|
-
baseUrl: '
|
|
168
|
+
baseUrl: getDefaultDoohbotApiBaseUrl('development'),
|
|
150
169
|
apiKey: undefined,
|
|
151
170
|
enableRetry: true,
|
|
152
171
|
retryAttempts: 2,
|
|
@@ -163,10 +182,44 @@ const DEFAULT_DOOHBOT_CONFIG = {
|
|
|
163
182
|
};
|
|
164
183
|
|
|
165
184
|
/**
|
|
166
|
-
*
|
|
167
|
-
*
|
|
185
|
+
* Merges user-provided config overrides with defaults.
|
|
186
|
+
*
|
|
187
|
+
* @param overrides - Partial config to override defaults
|
|
188
|
+
* @param baseConfig - Base config to merge into. Defaults to library defaults.
|
|
189
|
+
* @returns Fully resolved DoohbotConfig object
|
|
168
190
|
*/
|
|
169
|
-
|
|
191
|
+
function resolveDoohbotConfig(overrides = {}, baseConfig = DEFAULT_DOOHBOT_CONFIG) {
|
|
192
|
+
const environment = overrides.environment ?? baseConfig.environment;
|
|
193
|
+
const environmentDefaultBaseUrl = getDefaultDoohbotApiBaseUrl(environment);
|
|
194
|
+
const shouldUseEnvironmentDefaultBaseUrl = !overrides.api?.baseUrl &&
|
|
195
|
+
(!baseConfig.api?.baseUrl ||
|
|
196
|
+
isDefaultDoohbotApiBaseUrl(baseConfig.environment, baseConfig.api.baseUrl));
|
|
197
|
+
return {
|
|
198
|
+
...baseConfig,
|
|
199
|
+
...overrides,
|
|
200
|
+
environment,
|
|
201
|
+
api: {
|
|
202
|
+
...baseConfig.api,
|
|
203
|
+
...overrides.api,
|
|
204
|
+
baseUrl: shouldUseEnvironmentDefaultBaseUrl
|
|
205
|
+
? environmentDefaultBaseUrl
|
|
206
|
+
: (overrides.api?.baseUrl ?? baseConfig.api?.baseUrl ?? environmentDefaultBaseUrl),
|
|
207
|
+
},
|
|
208
|
+
auth: baseConfig.auth?.mode || overrides.auth?.mode
|
|
209
|
+
? {
|
|
210
|
+
mode: overrides.auth?.mode ?? baseConfig.auth?.mode,
|
|
211
|
+
...baseConfig.auth,
|
|
212
|
+
...overrides.auth,
|
|
213
|
+
}
|
|
214
|
+
: undefined,
|
|
215
|
+
theme: baseConfig.theme || overrides.theme
|
|
216
|
+
? {
|
|
217
|
+
...baseConfig.theme,
|
|
218
|
+
...overrides.theme,
|
|
219
|
+
}
|
|
220
|
+
: undefined,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
170
223
|
|
|
171
224
|
/**
|
|
172
225
|
* Centralized service for managing Doohbot configuration.
|
|
@@ -217,11 +270,7 @@ class DoohbotConfigService {
|
|
|
217
270
|
* Undefined if no theme overrides are provided.
|
|
218
271
|
*/
|
|
219
272
|
this.theme = () => this.configSignal().theme;
|
|
220
|
-
|
|
221
|
-
const mergedConfig = {
|
|
222
|
-
...DEFAULT_DOOHBOT_CONFIG,
|
|
223
|
-
...injectedConfig,
|
|
224
|
-
};
|
|
273
|
+
const mergedConfig = resolveDoohbotConfig(injectedConfig);
|
|
225
274
|
this.validateConfig(mergedConfig);
|
|
226
275
|
// Initialize state
|
|
227
276
|
this.configSignal = signal(mergedConfig, ...(ngDevMode ? [{ debugName: "configSignal" }] : []));
|
|
@@ -236,7 +285,7 @@ class DoohbotConfigService {
|
|
|
236
285
|
if ('environment' in value) {
|
|
237
286
|
throw new Error('environment cannot be changed at runtime');
|
|
238
287
|
}
|
|
239
|
-
const newConfig =
|
|
288
|
+
const newConfig = resolveDoohbotConfig(value, this.configSignal());
|
|
240
289
|
this.validateConfig(newConfig);
|
|
241
290
|
this.configSignal.set(newConfig);
|
|
242
291
|
this.configSubject.next(newConfig);
|
|
@@ -4308,7 +4357,10 @@ class DoohbotComponent {
|
|
|
4308
4357
|
if (changes['isDarkMode']) {
|
|
4309
4358
|
this.applyTheme();
|
|
4310
4359
|
}
|
|
4311
|
-
|
|
4360
|
+
//! ONLY trigger auth when relevant
|
|
4361
|
+
if (changes['licenseFile'] || changes['licenseCode'] || changes['rememberMe']) {
|
|
4362
|
+
this.tryStartAuthFlow();
|
|
4363
|
+
}
|
|
4312
4364
|
}
|
|
4313
4365
|
// Theme applied from global configuration
|
|
4314
4366
|
applyTheme() {
|
|
@@ -4403,19 +4455,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
4403
4455
|
}]
|
|
4404
4456
|
}], ctorParameters: () => [] });
|
|
4405
4457
|
|
|
4406
|
-
/**
|
|
4407
|
-
* Merges user-provided config overrides with defaults.
|
|
4408
|
-
*
|
|
4409
|
-
* @param overrides - Partial config to override defaults
|
|
4410
|
-
* @returns Fully resolved DoohbotConfig object
|
|
4411
|
-
*/
|
|
4412
|
-
function resolveDoohbotConfig(overrides) {
|
|
4413
|
-
return {
|
|
4414
|
-
...DEFAULT_DOOHBOT_CONFIG,
|
|
4415
|
-
...overrides,
|
|
4416
|
-
};
|
|
4417
|
-
}
|
|
4418
|
-
|
|
4419
4458
|
class AuthInterceptor {
|
|
4420
4459
|
constructor(authService, configService) {
|
|
4421
4460
|
this.authService = authService;
|
|
@@ -4678,9 +4717,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
4678
4717
|
* provideDoohbot({
|
|
4679
4718
|
* environment: 'production',
|
|
4680
4719
|
* licenseFilePath: 'assets/doohbot_license.json',
|
|
4681
|
-
* // Optional api configuration if want to use your own api
|
|
4720
|
+
* // Optional api configuration if want to use your own api.
|
|
4721
|
+
* // If omitted, baseUrl is resolved from environment automatically.
|
|
4682
4722
|
* api: {
|
|
4683
|
-
* apiBaseUrl: 'https://api.doohbot.com/',
|
|
4684
4723
|
* apiKey: 'your-api-key',
|
|
4685
4724
|
* },
|
|
4686
4725
|
* // Optional theme configuration if want to match doohbot to your application theme
|
|
@@ -4697,10 +4736,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.14", ngImpo
|
|
|
4697
4736
|
* ```
|
|
4698
4737
|
*/
|
|
4699
4738
|
function provideDoohbot(config = {}) {
|
|
4739
|
+
const resolvedConfig = resolveDoohbotConfig(config);
|
|
4700
4740
|
return makeEnvironmentProviders([
|
|
4701
4741
|
{
|
|
4702
4742
|
provide: DOOHBOT_CONFIG,
|
|
4703
|
-
useValue:
|
|
4743
|
+
useValue: resolvedConfig,
|
|
4704
4744
|
},
|
|
4705
4745
|
DoohbotConfigService,
|
|
4706
4746
|
// Init logger
|
|
@@ -4718,9 +4758,7 @@ function provideDoohbot(config = {}) {
|
|
|
4718
4758
|
useClass: AuthInterceptor,
|
|
4719
4759
|
multi: true,
|
|
4720
4760
|
},
|
|
4721
|
-
...(
|
|
4722
|
-
? []
|
|
4723
|
-
: devProviders),
|
|
4761
|
+
...(resolvedConfig.environment === 'production' ? [] : devProviders),
|
|
4724
4762
|
]);
|
|
4725
4763
|
}
|
|
4726
4764
|
const devProviders = [
|