@bridgeline-digital/hawk-app-bridge 0.1.1 → 0.1.2-dev.20261027220454

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/README.md CHANGED
@@ -357,7 +357,7 @@ only, `LandingPage` has no list), with HawkSearch's models: a misspelled field o
357
357
  `get(name)` of such a resource is typed too, and `HawkSearchModel<'Synonym'>` (or `'RedirectModel'`, `'LandingPage'`,
358
358
  …) names a model in your own code. The resources, as HawkSearch spells them: `banner`, `bannerzone`, `boostbury`,
359
359
  `campaign`, `Facet`, `Field`, `FieldInfo`, `LandingPage`, `landingPageLayout`, `paginationset`,
360
- `recommendationvisibility`, `redirect`, `sortingset`, `spellcheck`, `Synonym`, `visibility`, `visitortarget` (paths
360
+ `recommendationvisibility`, `recommendationwidget`, `redirect`, `sortingset`, `spellcheck`, `Synonym`, `visibility`, `visitortarget` (paths
361
361
  ignore case). Other paths (`LandingPage/urls`, `reports/…`) stay on `get<T>(path)`. The types come from HawkSearch's dev
362
362
  API and are refreshed with each bridge release. To change data, see [Writing to HawkSearch](#writing-to-hawksearch-hawksearchwrite). For reporting, use
363
363
  analytics. Your assistant can look up any operation's fields, its bridge call and scope with the `hawk-apps` MCP
@@ -1744,7 +1744,8 @@ rejected, and why.
1744
1744
  (`fetch`, WebSockets) only the origins in `externalOrigins` (`"*"` allows any https origin, and fails the review
1745
1745
  check). List the origins it really uses: the apps CDN blocks everything else (a Content-Security-Policy), so a compromised npm dependency can't send
1746
1746
  data anywhere new. The platform API is always allowed. To show images from any site (for example a client's
1747
- product images) without opening anything else, use `"img:*"`. Dev mode on localhost has no such policy, so check a
1747
+ product images) without opening anything else, use `"img:*"`. A library that compiles code at run time (Rapid UI's
1748
+ Handlebars templates, `new Function`) needs `"unsafe-eval"`: no origin, and review flags it. Dev mode on localhost has no such policy, so check a
1748
1749
  deployed version in HawkSearch before it's released.
1749
1750
  - **Static files only.** Build to plain HTML, JS and CSS (`next build` with `output: 'export'`, `vite build`, …), with
1750
1751
  the base path read from `HAWK_APP_BASE_PATH` (`/<slug>/v<n>`, set by `hawk-app deploy`; the templates do this).
@@ -188,6 +188,18 @@ export interface HawkSearchDashboardModels {
188
188
  CreateDate?: string;
189
189
  ModifyDate?: string;
190
190
  };
191
+ CarouselData: {
192
+ ShowNextPrevButtons?: boolean;
193
+ AutoRotate?: boolean;
194
+ AutoRotateSpeed?: number;
195
+ AnimationSpeed?: number;
196
+ NofVisible?: number;
197
+ IsCircular?: boolean;
198
+ ScrollNumber?: number;
199
+ ShowDots?: boolean;
200
+ EnableResponsive?: boolean;
201
+ ResponseiveConfig?: string;
202
+ };
191
203
  ConversionListParams: {
192
204
  OrderNo?: string;
193
205
  Keyword?: string;
@@ -500,6 +512,15 @@ export interface HawkSearchDashboardModels {
500
512
  /** Ending of report's period. */
501
513
  ToDate?: string;
502
514
  };
515
+ RecommendationLayoutModel: {
516
+ LayoutId?: number;
517
+ Name?: string;
518
+ Template?: string;
519
+ NofItems?: number;
520
+ IsCarousel?: boolean;
521
+ LayoutType?: 1 | 2;
522
+ CarouselData?: HawkSearchDashboardModels['CarouselData'];
523
+ };
503
524
  RecommendationReportData: {
504
525
  CreateDate?: string;
505
526
  DatabaseId?: number;
@@ -508,6 +529,30 @@ export interface HawkSearchDashboardModels {
508
529
  ImpressionsCount?: number;
509
530
  WidgetGuid?: string;
510
531
  };
532
+ RecommendationStrategyModel: {
533
+ Type?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17;
534
+ Name?: string;
535
+ ModelGuid?: string;
536
+ StartDate?: string;
537
+ EndDate?: string;
538
+ Weight?: number;
539
+ MaxNofItems?: number;
540
+ TriggerXml?: string;
541
+ ViewContext?: 0 | 1 | 2 | 3;
542
+ IncludeDuplicates?: boolean;
543
+ RuleXml?: string;
544
+ CustomFieldValues?: Record<string, string>;
545
+ SortFieldId?: number;
546
+ SortDirection?: string;
547
+ DateRangeId?: number;
548
+ LBoundDate?: string;
549
+ UBoundDate?: string;
550
+ RecentTimePeriod?: number;
551
+ OlderTimePeriod?: number;
552
+ MoreLikeThisFields?: number[];
553
+ NofItems?: number;
554
+ NofSearches?: number;
555
+ };
511
556
  RecommendationVisibilityModel: {
512
557
  RuleId?: number;
513
558
  Name: string;
@@ -523,6 +568,37 @@ export interface HawkSearchDashboardModels {
523
568
  CreateDate?: string;
524
569
  ModifyDate?: string;
525
570
  };
571
+ RecommendationWidgetDetailsModel: {
572
+ WidgetId?: number;
573
+ WidgetGuid?: string;
574
+ Name: string;
575
+ Title?: string;
576
+ Context?: 1 | 2 | 3 | 4 | 5;
577
+ LayoutId?: number;
578
+ Template?: string;
579
+ NofItems?: number;
580
+ IsCarousel?: boolean;
581
+ LayoutType?: 1 | 2;
582
+ CarouselData?: HawkSearchDashboardModels['CarouselData'];
583
+ StrategyType?: 1 | 2;
584
+ Models?: HawkSearchDashboardModels['RecommendationStrategyModel'][];
585
+ StartDate?: string;
586
+ EndDate?: string;
587
+ Comments?: string;
588
+ ContainerCssClass?: string;
589
+ EnableModelAutoOrdering?: boolean;
590
+ UniqueFacetFieldId?: number;
591
+ MinimumItemsCount?: number;
592
+ CreateDate?: string;
593
+ ModifyDate?: string;
594
+ };
595
+ RecommendationWidgetPreviewRequestModel: {
596
+ Widget: HawkSearchDashboardModels['RecommendationWidgetDetailsModel'];
597
+ UniqueId?: string;
598
+ ContextProperties?: Record<string, string>;
599
+ CustomProperties?: Record<string, string>;
600
+ LandingPageUrl?: string;
601
+ };
526
602
  RedirectModel: {
527
603
  RedirectId?: number;
528
604
  Name: string;
@@ -826,6 +902,16 @@ export interface DashboardResources {
826
902
  deleted: HawkSearchDashboardModels['RecommendationVisibilityModel'];
827
903
  methods: 'list' | 'get' | 'create' | 'update' | 'delete';
828
904
  };
905
+ recommendationwidget: {
906
+ item: HawkSearchDashboardModels['RecommendationWidgetDetailsModel'];
907
+ list: never;
908
+ create: HawkSearchDashboardModels['RecommendationWidgetDetailsModel'];
909
+ created: HawkSearchDashboardModels['RecommendationWidgetDetailsModel'];
910
+ update: HawkSearchDashboardModels['RecommendationWidgetDetailsModel'];
911
+ updated: HawkSearchDashboardModels['RecommendationWidgetDetailsModel'];
912
+ deleted: HawkSearchDashboardModels['RecommendationWidgetDetailsModel'];
913
+ methods: 'get' | 'create' | 'update' | 'delete';
914
+ };
829
915
  /** Get redirects */
830
916
  redirect: {
831
917
  item: HawkSearchDashboardModels['RedirectModel'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bridgeline-digital/hawk-app-bridge",
3
- "version": "0.1.1",
3
+ "version": "0.1.2-dev.20261027220454",
4
4
  "description": "For Bridgeline developers: the host/app bridge for Hawk Apps (Services-built tools embedded in HawkSearch and Spark), plus the runtime for app functions. Requires the Hawk Apps platform.",
5
5
  "author": "Bridgeline Digital",
6
6
  "license": "UNLICENSED",