@adobe/spacecat-shared-data-access 3.0.0 → 3.1.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [@adobe/spacecat-shared-data-access-v3.1.0](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-data-access-v3.0.1...@adobe/spacecat-shared-data-access-v3.1.0) (2026-02-18)
2
+
3
+ ### Features
4
+
5
+ * add methods to manage LLMO tags | LLMO-3058 ([#1362](https://github.com/adobe/spacecat-shared/issues/1362)) ([c678d1a](https://github.com/adobe/spacecat-shared/commit/c678d1ad6e12febeeae6cc60211bb0cbf9f922a4))
6
+
7
+ ## [@adobe/spacecat-shared-data-access-v3.0.1](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-data-access-v3.0.0...@adobe/spacecat-shared-data-access-v3.0.1) (2026-02-17)
8
+
9
+ ### Bug Fixes
10
+
11
+ * add consent-banner to DATA_SCHEMAS for minimal view projection ([#1361](https://github.com/adobe/spacecat-shared/issues/1361)) ([bc1379c](https://github.com/adobe/spacecat-shared/commit/bc1379c6e7eba64c2d7f2b17e1462db0ca798711))
12
+
1
13
  ## [@adobe/spacecat-shared-data-access-v3.0.0](https://github.com/adobe/spacecat-shared/compare/@adobe/spacecat-shared-data-access-v2.109.0...@adobe/spacecat-shared-data-access-v3.0.0) (2026-02-16)
2
14
 
3
15
  ### ⚠ BREAKING CHANGES
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/spacecat-shared-data-access",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "Shared modules of the Spacecat Services - Data Access",
5
5
  "type": "module",
6
6
  "engines": {
@@ -605,6 +605,19 @@ export const Config = (data = {}) => {
605
605
  state.llmo.cdnBucketConfig = cdnBucketConfig;
606
606
  };
607
607
 
608
+ self.addLlmoTag = (tag) => {
609
+ state.llmo = state.llmo || {};
610
+ state.llmo.tags = state.llmo.tags || [];
611
+ if (!state.llmo.tags.includes(tag)) {
612
+ state.llmo.tags.push(tag);
613
+ }
614
+ };
615
+
616
+ self.removeLlmoTag = (tag) => {
617
+ if (!state.llmo?.tags) return;
618
+ state.llmo.tags = state.llmo.tags.filter((t) => t !== tag);
619
+ };
620
+
608
621
  self.updateImports = (imports) => {
609
622
  state.imports = imports;
610
623
  };
@@ -194,6 +194,8 @@ export interface SiteConfig {
194
194
  addLlmoCustomerIntent(customerIntentItems: Array<LlmoCustomerIntent>): void;
195
195
  removeLlmoCustomerIntent(intentKey: string): void;
196
196
  updateLlmoCustomerIntent(intentKey: string, updateData: Partial<LlmoCustomerIntent>): void;
197
+ addLlmoTag(tag: string): void;
198
+ removeLlmoTag(tag: string): void;
197
199
  }
198
200
 
199
201
  export interface Site extends BaseModel {
@@ -526,6 +526,33 @@ export const DATA_SCHEMAS = {
526
526
  },
527
527
  },
528
528
 
529
+ // consent-banner opportunity type.
530
+ // Note: The DB stores opportunity type as 'consent-banner', NOT the OPPORTUNITY_TYPES
531
+ // constant PAID_COOKIE_CONSENT ('paid-cookie-consent'). Using string literal to match DB.
532
+ 'consent-banner': {
533
+ schema: Joi.object({
534
+ mobile: Joi.string().allow(null).optional(),
535
+ desktop: Joi.string().allow(null).optional(),
536
+ recommendations: Joi.array().items(
537
+ Joi.object({
538
+ pageUrl: Joi.string().uri().optional(),
539
+ id: Joi.string().optional(),
540
+ }).unknown(true),
541
+ ).optional(),
542
+ impact: Joi.object({
543
+ business: Joi.string().allow(null).optional(),
544
+ user: Joi.string().allow(null).optional(),
545
+ }).unknown(true).optional(),
546
+ aggregationKey: Joi.string().allow(null).optional(),
547
+ }).unknown(true),
548
+ projections: {
549
+ minimal: {
550
+ fields: ['mobile', 'desktop', 'recommendations', 'impact'],
551
+ transformers: {},
552
+ },
553
+ },
554
+ },
555
+
529
556
  // ========== SCHEMAS TO BE ADDED ==========
530
557
  // TODO: The following opportunity types need schemas to be added.
531
558
  // Research actual suggestion data for these types and add schemas following the pattern:
@@ -552,6 +579,5 @@ export const DATA_SCHEMAS = {
552
579
  // - SECURITY_PERMISSIONS_REDUNDANT (may use SECURITY_PERMISSIONS schema
553
580
  // or need separate schema)
554
581
  // - GENERIC_OPPORTUNITY
555
- // - PAID_COOKIE_CONSENT
556
582
  // - WIKIPEDIA_ANALYSIS
557
583
  };