@esolve/ng-esolve-connect 0.140.0 → 0.141.0

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.
@@ -36,6 +36,10 @@ class EsolveConfigService {
36
36
  this.cdn = this.config.cdn;
37
37
  this.ftg_cdn = this.config.ftg_cdn;
38
38
  this.error_image_path = this.config.error_image_path;
39
+ // Search API settings
40
+ this.search_api_url = this.config.search_api_url ?? '';
41
+ this.search_api_signature = this.config.search_api_signature ?? '';
42
+ this.search_api_public_key = this.config.search_api_public_key ?? '';
39
43
  if (this.api_url === '' || this.wsid === '') {
40
44
  throw new Error('Invalid eSolve Eurus config');
41
45
  }
@@ -5206,6 +5210,7 @@ class EsolveAsset {
5206
5210
  this.sort_priority = 0;
5207
5211
  this.topics = [];
5208
5212
  this.tags = [];
5213
+ this.url = '';
5209
5214
  this.image_name = '';
5210
5215
  this.id = +record.id;
5211
5216
  this.src = record.src;
@@ -5219,6 +5224,7 @@ class EsolveAsset {
5219
5224
  this.asset_sub_category = record.asset_sub_category ?? '';
5220
5225
  this.sort_priority = +(record.sort_priority ?? '');
5221
5226
  this.image_name = record.image_name ?? '';
5227
+ this.url = record.url ?? '';
5222
5228
  if (record.created) {
5223
5229
  this.created = record.created;
5224
5230
  }
@@ -10546,6 +10552,230 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
10546
10552
  }]
10547
10553
  }] });
10548
10554
 
10555
+ class EsolveSearchCleanResult {
10556
+ constructor(response) {
10557
+ this.original_query = response.original_query;
10558
+ this.cleaned_query = response.cleaned_query;
10559
+ }
10560
+ }
10561
+
10562
+ class EsolveSearchResultItem {
10563
+ constructor(record) {
10564
+ this.code = record.code;
10565
+ this.slug = record.slug;
10566
+ this.name = record.name;
10567
+ this.brand = record.brand;
10568
+ this.category = record.category;
10569
+ this.type = record.type;
10570
+ this.key_words = record.key_words;
10571
+ this.description = record.description;
10572
+ this.score = record.score;
10573
+ }
10574
+ }
10575
+
10576
+ class EsolveSearchResult {
10577
+ constructor(response) {
10578
+ this.original_query = response.original_query;
10579
+ this.cleaned_query = response.cleaned_query;
10580
+ this.text_response = response.text_response;
10581
+ // API returns results as an object/map, convert to array
10582
+ const resultsObj = response.results;
10583
+ if (resultsObj && typeof resultsObj === 'object') {
10584
+ this.results = Object.values(resultsObj).map((record) => new EsolveSearchResultItem(record));
10585
+ }
10586
+ else {
10587
+ this.results = [];
10588
+ }
10589
+ }
10590
+ }
10591
+
10592
+ class EsolveSearchVectorizeResult {
10593
+ constructor(response) {
10594
+ this.success = response.success;
10595
+ this.queue_id = response.queue_id;
10596
+ this.status = response.status;
10597
+ this.message = response.message;
10598
+ }
10599
+ }
10600
+
10601
+ class EsolveSearchService {
10602
+ constructor() {
10603
+ this.config = inject(EsolveConfigService);
10604
+ this.http = inject(HttpClient);
10605
+ // Authentication state
10606
+ this.auth_public_key = signal(this.config.search_api_public_key ?? '', ...(ngDevMode ? [{ debugName: "auth_public_key" }] : []));
10607
+ this.auth_signature = signal(this.config.search_api_signature ?? '', ...(ngDevMode ? [{ debugName: "auth_signature" }] : []));
10608
+ this.is_authenticating = signal(false, ...(ngDevMode ? [{ debugName: "is_authenticating" }] : []));
10609
+ }
10610
+ // Get search API URL from config or use default
10611
+ get searchApiUrl() {
10612
+ if ((this.config.search_api_url === undefined) || this.config.search_api_url === null) {
10613
+ throw new Error("Search API URL is required");
10614
+ }
10615
+ return this.config.search_api_url;
10616
+ }
10617
+ /**
10618
+ * Check current authentication status with the server using the signature and public_key
10619
+ *
10620
+ * @returns Observable with auth status, or null if not authenticated
10621
+ */
10622
+ checkAuthStatus() {
10623
+ const token = this.auth_public_key();
10624
+ if (!token) {
10625
+ return of(null);
10626
+ }
10627
+ return this.http
10628
+ .get(`${this.searchApiUrl}/v1/auth/status`, {
10629
+ headers: new HttpHeaders({
10630
+ Authorization: `Bearer ${token}`,
10631
+ }),
10632
+ })
10633
+ .pipe(catchError$1(() => {
10634
+ // Token invalid, clear it
10635
+ this.auth_public_key.set('');
10636
+ return of(null);
10637
+ }));
10638
+ }
10639
+ /**
10640
+ * Clean and normalize a search query using the Search API
10641
+ *
10642
+ * @param query Raw user query string
10643
+ * @returns Observable with original and cleaned query
10644
+ */
10645
+ cleanQuery(query) {
10646
+ const public_key = this.auth_public_key();
10647
+ const signature = this.auth_signature();
10648
+ if (!public_key || !signature) {
10649
+ return of(null);
10650
+ }
10651
+ const params = new HttpParams().set('query', query);
10652
+ return this.http.get(`${this.searchApiUrl}/v1/chat/clean`, {
10653
+ params,
10654
+ headers: new HttpHeaders({
10655
+ 'Authorization': `Signature ${signature}`,
10656
+ 'X-Public-Key': `${public_key}`,
10657
+ }),
10658
+ }).pipe(map$1((response) => new EsolveSearchCleanResult(response)));
10659
+ }
10660
+ /**
10661
+ * Perform semantic search using vector embeddings
10662
+ *
10663
+ * @param cleaned_query Cleaned/normalized query string
10664
+ * @param original_query Optional original query for reference
10665
+ * @param limit Maximum number of results to return (default: 10)
10666
+ * @param score_threshold Minimum relevance score threshold (default: 0.1)
10667
+ * @returns Observable with search results
10668
+ */
10669
+ search(cleaned_query, original_query, limit = 10, score_threshold = 0.1) {
10670
+ const public_key = this.auth_public_key();
10671
+ const signature = this.auth_signature();
10672
+ if (!public_key || !signature) {
10673
+ return of(null);
10674
+ }
10675
+ const body = {
10676
+ cleaned_query,
10677
+ original_query,
10678
+ limit,
10679
+ score_threshold,
10680
+ };
10681
+ return this.http.post(`${this.searchApiUrl}/v1/data/search`, body, {
10682
+ headers: new HttpHeaders({
10683
+ 'Content-Type': 'application/json',
10684
+ 'Authorization': `Signature ${signature}`,
10685
+ 'X-Public-Key': `${public_key}`,
10686
+ }),
10687
+ }).pipe(map$1((response) => {
10688
+ return new EsolveSearchResult(response);
10689
+ }));
10690
+ }
10691
+ /**
10692
+ * Queue items for vectorization (embedding generation)
10693
+ *
10694
+ * @param items Array of items to vectorize
10695
+ * @returns Observable with vectorization queue status
10696
+ */
10697
+ vectorize() {
10698
+ const public_key = this.auth_public_key();
10699
+ const signature = this.auth_signature();
10700
+ if (!public_key || !signature) {
10701
+ return of(null);
10702
+ }
10703
+ const url = this.config.site_url;
10704
+ const body = { url };
10705
+ return this.http.post(`${this.searchApiUrl}/v1/data/vectorize`, body, {
10706
+ headers: new HttpHeaders({
10707
+ 'Content-Type': 'application/json',
10708
+ 'Authorization': `Signature ${signature}`,
10709
+ 'X-Public-Key': `${public_key}`,
10710
+ }),
10711
+ }).pipe(map$1((response) => new EsolveSearchVectorizeResult(response)));
10712
+ }
10713
+ /**
10714
+ * Retrieve paginated list of vectorized items
10715
+ *
10716
+ * @param page Page number (0-indexed, default: 0)
10717
+ * @param limit Items per page (default: 20)
10718
+ * @param sort Field to sort by (default: 'vectorize_items_id')
10719
+ * @param order Sort order 'ASC' or 'DESC' (default: 'ASC')
10720
+ * @returns Observable with vectorized items
10721
+ */
10722
+ getVectorizedItems(page = 0, limit = 20, sort = 'vectorize_items_id', order = 'ASC') {
10723
+ const public_key = this.auth_public_key();
10724
+ const signature = this.auth_signature();
10725
+ if (!public_key || !signature) {
10726
+ return of(null);
10727
+ }
10728
+ const params = new HttpParams()
10729
+ .set('page', page)
10730
+ .set('limit', limit)
10731
+ .set('sort', sort)
10732
+ .set('order', order);
10733
+ return this.http.get(`${this.searchApiUrl}/v1/data/get`, {
10734
+ params,
10735
+ headers: new HttpHeaders({
10736
+ 'Authorization': `Signature ${signature}`,
10737
+ 'X-Public-Key': `${public_key}`,
10738
+ }),
10739
+ });
10740
+ }
10741
+ /**
10742
+ * Retrieve billing totals grouped by event type
10743
+ *
10744
+ * @param start_date Start date (YYYY-MM-DD)
10745
+ * @param end_date End date (YYYY-MM-DD)
10746
+ * @param ws_id Optional workspace filter
10747
+ * @returns Observable with billing totals
10748
+ */
10749
+ getBilling(start_date, end_date, ws_id) {
10750
+ const public_key = this.auth_public_key();
10751
+ const signature = this.auth_signature();
10752
+ if (!public_key || !signature) {
10753
+ return of(null);
10754
+ }
10755
+ let params = new HttpParams()
10756
+ .set('start_date', start_date)
10757
+ .set('end_date', end_date);
10758
+ if (ws_id) {
10759
+ params = params.set('ws_id', ws_id);
10760
+ }
10761
+ return this.http.get(`${this.searchApiUrl}/v1/billing`, {
10762
+ params,
10763
+ headers: new HttpHeaders({
10764
+ 'Authorization': `Signature ${signature}`,
10765
+ 'X-Public-Key': `${public_key}`,
10766
+ }),
10767
+ });
10768
+ }
10769
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EsolveSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
10770
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EsolveSearchService, providedIn: 'root' }); }
10771
+ }
10772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: EsolveSearchService, decorators: [{
10773
+ type: Injectable,
10774
+ args: [{
10775
+ providedIn: 'root',
10776
+ }]
10777
+ }] });
10778
+
10549
10779
  class EsolveSettings {
10550
10780
  constructor(record) {
10551
10781
  this.site_url = '';
@@ -10596,5 +10826,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImpo
10596
10826
  * Generated bundle index. Do not edit.
10597
10827
  */
10598
10828
 
10599
- export { ESOLVE_CONNECT_CONFIG, ESOLVE_EURUS_AUTO_LOGIN, EsolveAccountConfirmationResult, EsolveAccountPayment, EsolveAccountService, EsolveAdditionalStockImage, EsolveAddress, EsolveAddressResult, EsolveAffiliate, EsolveAffiliateCheckResult, EsolveAffiliateLinkResult, EsolveAffiliateService, EsolveAlbum, EsolveAlbumImage, EsolveAlbumImageList, EsolveAlbumList, EsolveAlbumsService, EsolveAsset, EsolveAssetsService, EsolveAuthService, EsolveBankingDetails, EsolveBanner, EsolveBannerImage, EsolveBannerImageHotspot, EsolveBannerService, EsolveCaptcha, EsolveCaptchaService, EsolveCareer, EsolveCareersService, EsolveCartAlternative, EsolveCartErrorHandlerService, EsolveCartItem, EsolveCartItemError, EsolveCartService, EsolveCartStockItem, EsolveCartTaxBreakdown, EsolveCartTotals, EsolveCategoryTreeItem, EsolveCategoryTreeService, EsolveCdnSrcDirective, EsolveChangePasswordResult, EsolveCheckoutResult, EsolveClientAsset, EsolveClientAssetList, EsolveColour, EsolveColoursService, EsolveCompetition, EsolveCompetitionDates, EsolveCompetitionEntryResult, EsolveCompetitionWinner, EsolveCompetitionsService, EsolveConfigService, EsolveCookieService, EsolveCountry, EsolveCountryService, EsolveCoupon, EsolveCouponsService, EsolveDeliveriesService, EsolveDelivery, EsolveDeliveryCategoryTotals, EsolveDeliveryList, EsolveDeliveryStatus, EsolveDependantItem, EsolveDeviceService, EsolveEmptyCartResult, EsolveEmptyWishlistResult, EsolveEnquiryResult, EsolveEnquiryService, EsolveErpDocumentRequest, EsolveErpDocumentsRequestResult, EsolveErrorHandlerService, EsolveEvent, EsolveEventTargetService, EsolveEventType, EsolveFilterFactory, EsolveGenericFilter, EsolveGeocodeAddressResult, EsolveGeocodeCoordsResult, EsolveGeocodeResult, EsolveGeocoderService, EsolveHttpError, EsolveLinkedAsset, EsolveLinkedStockItem, EsolveList, EsolveLocation, EsolveLocationAddress, EsolveLocationContactInfo, EsolveLocationGEO, EsolveLocationList, EsolveLocationPOBoxAddress, EsolveLocationTradingDay, EsolveLocationTradingTimes, EsolveLocationUpdateResult, EsolveLocationsService, EsolveManufacturer, EsolveManufacturersService, EsolveMaterial, EsolveMaterialsService, EsolveMediaStockItem, EsolveMenuItem, EsolveMenuService, EsolveMultipleSelectFilter, EsolveNewsArticle, EsolveNewsArticleAuthor, EsolveNewsArticleList, EsolveNewsGroup, EsolveNewsService, EsolveNewsletterResult, EsolveNotificationButtonAction, EsolveNotificationDates, EsolveNotificationsService, EsolveOtp, EsolveOtpService, EsolveOtpValidation, EsolvePaymentMethod, EsolvePaymentResult, EsolvePaymentService, EsolveRange, EsolveRangeFilter, EsolveRangesService, EsolveRecipeStockItem, EsolveRegistrationResult, EsolveResetPasswordResult, EsolveResponseHandlerService, EsolveResponseResult, EsolveResult, EsolveReview, EsolveReviewList, EsolveReviewResult, EsolveReviewsService, EsolveSeoInfo, EsolveSeoService, EsolveSessionAddressUpdateResult, EsolveSessionClientUpdateResult, EsolveSessionMetadataService, EsolveSessionService, EsolveSessionShippingUpdateResult, EsolveSetDeviceResult, EsolveSetNotifyResult, EsolveSettings, EsolveSettingsService, EsolveShippingCost, EsolveShippingCostItem, EsolveShippingMethod, EsolveShippingService, EsolveShippingTotals, EsolveSingleSelectFilter, EsolveSpecial, EsolveSpecialDates, EsolveSpecialImage, EsolveSpecialImageCollection, EsolveSpecialsService, EsolveStatement, EsolveStatementAgeing, EsolveStatementBalances, EsolveStatementTransaction, EsolveStockBadge, EsolveStockBarcode, EsolveStockGroup, EsolveStockGroupItem, EsolveStockImage, EsolveStockImageCollection, EsolveStockItem, EsolveStockItemBase, EsolveStockItemList, EsolveStockItemLocationLevel, EsolveStockLeadTimes, EsolveStockPrice, EsolveStockReviewsReport, EsolveStockService, EsolveStockTransactionSales, EsolveSuggestedStockItem, EsolveSupplier, EsolveSuppliersService, EsolveSystemNotification, EsolveSystemNotificationType, EsolveTag, EsolveTagsService, EsolveTimeSlot, EsolveTimeSlotConfig, EsolveTimeSlotDate, EsolveTimeSlotDays, EsolveTimeSlotTimes, EsolveToggleFilter, EsolveTopic, EsolveTopicService, EsolveTransaction, EsolveTransactionAddress, EsolveTransactionAnalyticsData, EsolveTransactionApprovalResult, EsolveTransactionClient, EsolveTransactionDelivery, EsolveTransactionItem, EsolveTransactionItemPrice, EsolveTransactionList, EsolveTransactionLocation, EsolveTransactionPaymentMethod, EsolveTransactionPick, EsolveTransactionShippingMethod, EsolveTransactionTimeSlot, EsolveTransactionUser, EsolveTransactionsService, EsolveUserAccount, EsolveUserAccountBusiness, EsolveUserAccountContact, EsolveUserAccountResult, EsolveUserClientAccount, EsolveUserClientAccountBalances, EsolveUserDevice, EsolveVaultItem, EsolveVaultItemResult, EsolveVoucher, EsolveVouchersService, EsolveWalletBalances, EsolveWalletService, EsolveWalletTransaction, EsolveWalletTransactionsList, EsolveWishlistItem, EsolveWishlistService, NgEsolveConnectModule, esolveAuthInterceptor, esolveHexHash, esolveUnauthorizedErrorInterceptor, isEsolveCdnPath, isFtgCdnPath, isLegacyEsolveCdnPath, processEsolveImageSrc, provideEsolveImageLoader, provideNgEsolveConnect };
10829
+ export { ESOLVE_CONNECT_CONFIG, ESOLVE_EURUS_AUTO_LOGIN, EsolveAccountConfirmationResult, EsolveAccountPayment, EsolveAccountService, EsolveAdditionalStockImage, EsolveAddress, EsolveAddressResult, EsolveAffiliate, EsolveAffiliateCheckResult, EsolveAffiliateLinkResult, EsolveAffiliateService, EsolveAlbum, EsolveAlbumImage, EsolveAlbumImageList, EsolveAlbumList, EsolveAlbumsService, EsolveAsset, EsolveAssetsService, EsolveAuthService, EsolveBankingDetails, EsolveBanner, EsolveBannerImage, EsolveBannerImageHotspot, EsolveBannerService, EsolveCaptcha, EsolveCaptchaService, EsolveCareer, EsolveCareersService, EsolveCartAlternative, EsolveCartErrorHandlerService, EsolveCartItem, EsolveCartItemError, EsolveCartService, EsolveCartStockItem, EsolveCartTaxBreakdown, EsolveCartTotals, EsolveCategoryTreeItem, EsolveCategoryTreeService, EsolveCdnSrcDirective, EsolveChangePasswordResult, EsolveCheckoutResult, EsolveClientAsset, EsolveClientAssetList, EsolveColour, EsolveColoursService, EsolveCompetition, EsolveCompetitionDates, EsolveCompetitionEntryResult, EsolveCompetitionWinner, EsolveCompetitionsService, EsolveConfigService, EsolveCookieService, EsolveCountry, EsolveCountryService, EsolveCoupon, EsolveCouponsService, EsolveDeliveriesService, EsolveDelivery, EsolveDeliveryCategoryTotals, EsolveDeliveryList, EsolveDeliveryStatus, EsolveDependantItem, EsolveDeviceService, EsolveEmptyCartResult, EsolveEmptyWishlistResult, EsolveEnquiryResult, EsolveEnquiryService, EsolveErpDocumentRequest, EsolveErpDocumentsRequestResult, EsolveErrorHandlerService, EsolveEvent, EsolveEventTargetService, EsolveEventType, EsolveFilterFactory, EsolveGenericFilter, EsolveGeocodeAddressResult, EsolveGeocodeCoordsResult, EsolveGeocodeResult, EsolveGeocoderService, EsolveHttpError, EsolveLinkedAsset, EsolveLinkedStockItem, EsolveList, EsolveLocation, EsolveLocationAddress, EsolveLocationContactInfo, EsolveLocationGEO, EsolveLocationList, EsolveLocationPOBoxAddress, EsolveLocationTradingDay, EsolveLocationTradingTimes, EsolveLocationUpdateResult, EsolveLocationsService, EsolveManufacturer, EsolveManufacturersService, EsolveMaterial, EsolveMaterialsService, EsolveMediaStockItem, EsolveMenuItem, EsolveMenuService, EsolveMultipleSelectFilter, EsolveNewsArticle, EsolveNewsArticleAuthor, EsolveNewsArticleList, EsolveNewsGroup, EsolveNewsService, EsolveNewsletterResult, EsolveNotificationButtonAction, EsolveNotificationDates, EsolveNotificationsService, EsolveOtp, EsolveOtpService, EsolveOtpValidation, EsolvePaymentMethod, EsolvePaymentResult, EsolvePaymentService, EsolveRange, EsolveRangeFilter, EsolveRangesService, EsolveRecipeStockItem, EsolveRegistrationResult, EsolveResetPasswordResult, EsolveResponseHandlerService, EsolveResponseResult, EsolveResult, EsolveReview, EsolveReviewList, EsolveReviewResult, EsolveReviewsService, EsolveSearchCleanResult, EsolveSearchResult, EsolveSearchResultItem, EsolveSearchService, EsolveSearchVectorizeResult, EsolveSeoInfo, EsolveSeoService, EsolveSessionAddressUpdateResult, EsolveSessionClientUpdateResult, EsolveSessionMetadataService, EsolveSessionService, EsolveSessionShippingUpdateResult, EsolveSetDeviceResult, EsolveSetNotifyResult, EsolveSettings, EsolveSettingsService, EsolveShippingCost, EsolveShippingCostItem, EsolveShippingMethod, EsolveShippingService, EsolveShippingTotals, EsolveSingleSelectFilter, EsolveSpecial, EsolveSpecialDates, EsolveSpecialImage, EsolveSpecialImageCollection, EsolveSpecialsService, EsolveStatement, EsolveStatementAgeing, EsolveStatementBalances, EsolveStatementTransaction, EsolveStockBadge, EsolveStockBarcode, EsolveStockGroup, EsolveStockGroupItem, EsolveStockImage, EsolveStockImageCollection, EsolveStockItem, EsolveStockItemBase, EsolveStockItemList, EsolveStockItemLocationLevel, EsolveStockLeadTimes, EsolveStockPrice, EsolveStockReviewsReport, EsolveStockService, EsolveStockTransactionSales, EsolveSuggestedStockItem, EsolveSupplier, EsolveSuppliersService, EsolveSystemNotification, EsolveSystemNotificationType, EsolveTag, EsolveTagsService, EsolveTimeSlot, EsolveTimeSlotConfig, EsolveTimeSlotDate, EsolveTimeSlotDays, EsolveTimeSlotTimes, EsolveToggleFilter, EsolveTopic, EsolveTopicService, EsolveTransaction, EsolveTransactionAddress, EsolveTransactionAnalyticsData, EsolveTransactionApprovalResult, EsolveTransactionClient, EsolveTransactionDelivery, EsolveTransactionItem, EsolveTransactionItemPrice, EsolveTransactionList, EsolveTransactionLocation, EsolveTransactionPaymentMethod, EsolveTransactionPick, EsolveTransactionShippingMethod, EsolveTransactionTimeSlot, EsolveTransactionUser, EsolveTransactionsService, EsolveUserAccount, EsolveUserAccountBusiness, EsolveUserAccountContact, EsolveUserAccountResult, EsolveUserClientAccount, EsolveUserClientAccountBalances, EsolveUserDevice, EsolveVaultItem, EsolveVaultItemResult, EsolveVoucher, EsolveVouchersService, EsolveWalletBalances, EsolveWalletService, EsolveWalletTransaction, EsolveWalletTransactionsList, EsolveWishlistItem, EsolveWishlistService, NgEsolveConnectModule, esolveAuthInterceptor, esolveHexHash, esolveUnauthorizedErrorInterceptor, isEsolveCdnPath, isFtgCdnPath, isLegacyEsolveCdnPath, processEsolveImageSrc, provideEsolveImageLoader, provideNgEsolveConnect };
10600
10830
  //# sourceMappingURL=esolve-ng-esolve-connect.mjs.map