@getuserfeedback/adapters 0.5.172 → 0.6.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/README.md CHANGED
@@ -77,16 +77,16 @@ The generated template supports:
77
77
 
78
78
  ```ts
79
79
  import {
80
- buildGtmTemplateArtifact,
81
- buildGtmTemplateFileSource,
80
+ buildGtmTemplateArtifact,
81
+ buildGtmTemplateFileSource,
82
82
  } from "@getuserfeedback/adapters/gtm";
83
83
 
84
84
  const artifact = buildGtmTemplateArtifact({
85
- loaderScriptBaseUrl: "https://cdn.getuserfeedback.com/widget/loader/v2",
85
+ loaderScriptBaseUrl: "https://cdn.getuserfeedback.com/widget/loader/v5",
86
86
  });
87
87
 
88
88
  const templateFile = buildGtmTemplateFileSource({
89
- loaderScriptBaseUrl: "https://cdn.getuserfeedback.com/widget/loader/v2",
89
+ loaderScriptBaseUrl: "https://cdn.getuserfeedback.com/widget/loader/v5",
90
90
  });
91
91
  ```
92
92
 
@@ -106,6 +106,17 @@ bun run generate:gtm-template:sandbox-hybrid
106
106
 
107
107
  ### Verifying GTM template changes
108
108
 
109
+ Validate a release artifact with its actual production CDN loader and core:
110
+
111
+ ```sh
112
+ GTM_TEMPLATE_FILE=/absolute/path/to/template.tpl bun run test:playwright:widget-sandbox -- src/tests/gtm-template.e2e.ts
113
+ ```
114
+
115
+ Run this from the repository root. The test executes the template with GTM API
116
+ shims, verifies initialization and identity, and displays an assigned flow. Only
117
+ backend requests are redirected to disposable sandbox data. It skips when
118
+ `GTM_TEMPLATE_FILE` is unset and does not require a configured GTM container.
119
+
109
120
  When edits in this package change GTM template generation or runtime behavior, the usual verification path spans more than this package:
110
121
 
111
122
  - Regenerate the hybrid upload artifact from `packages/adapters`.
@@ -142,7 +153,7 @@ Pass `loaderScriptBaseUrl` to:
142
153
 
143
154
  The same base URL is used to derive the runtime loader URL and the `inject_script` permission pattern.
144
155
 
145
- Pass `runtimeEndpoints` when you need the generated template to point loader bootstrap at non-default `core` and `api` endpoints.
156
+ Generated templates default to the production `api/v1` and `core/v7` endpoints. Pass `runtimeEndpoints` when you need the template to point loader bootstrap at custom `core` and `api` endpoints.
146
157
 
147
158
  ### Versioning expectations
148
159
 
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/gtm/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,WAAW,EAEhB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,SAAS;IACxC,uBAAuB;IACvB,kBAAkB;IAClB,mBAAmB;IACnB,yBAAyB;IACzB,YAAY;IACZ,cAAc;IACd,oBAAoB;CASpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;CACvC,CAAC;AAQF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAKxE;AAED,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,OAAO,GACZ,WAAW,CAAC,aAAa,CAAC,GAAG,SAAS,CA2CxC;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IACnD,YAAY,CAAC,EAAE,eAAe,CAAC;CAC/B,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG,SAAS,CA0B5C;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,gBAAgB,GACrB,WAAW,CA4Bb"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/gtm/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,WAAW,EAEhB,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,iBAAiB,EAAE,SAAS;IACxC,uBAAuB;IACvB,kBAAkB;IAClB,mBAAmB;IACnB,yBAAyB;IACzB,YAAY;IACZ,cAAc;IACd,oBAAoB;CASpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC;AAE/E,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAC3C,gBAAgB,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;CACvC,CAAC;AAQF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,cAAc,CAKxE;AAED,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,OAAO,GACZ,WAAW,CAAC,aAAa,CAAC,GAAG,SAAS,CA2CxC;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IACnD,YAAY,CAAC,EAAE,eAAe,CAAC;CAC/B,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAwB5C;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,gBAAgB,GACrB,WAAW,CA4Bb"}
package/dist/gtm/core.js CHANGED
@@ -78,9 +78,7 @@ export function resolveDefaultConsentFromGtm(input) {
78
78
  if (consentState.ad_personalization === "granted") {
79
79
  grantedScopes.push("ads.personalization");
80
80
  }
81
- return grantedScopes.length > 0
82
- ? consentConfigInputSchema.parse(grantedScopes)
83
- : undefined;
81
+ return consentConfigInputSchema.parse(grantedScopes);
84
82
  }
85
83
  export function buildInitOptionsFromGtmTemplate(input) {
86
84
  const colorScheme = normalizeGtmThemeInput(input.colorScheme);
@@ -21,8 +21,8 @@ export type GtmIdentifyCommandInput = {
21
21
  };
22
22
  export declare function resolveGtmThemeInputFromTemplateData(templateData: {
23
23
  themeMode?: unknown;
24
- themeModeVariable?: unknown;
25
- themeAttr?: unknown;
26
- }): unknown;
24
+ themeModeVariable?: string;
25
+ themeAttr?: string;
26
+ }): string | undefined;
27
27
  export declare function buildGtmIdentifyCommand(input: GtmIdentifyCommandInput): GtmIdentifyCommand | undefined;
28
28
  //# sourceMappingURL=runtime-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-model.d.ts","sourceRoot":"","sources":["../../src/gtm/runtime-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,eAAO,MAAM,qBAAqB;IACjC,MAAM;IACN,SAAS;CACT,CAAC;AAEF,eAAO,MAAM,iDAAiD,wbAY5D,CAAC;AAEH,eAAO,MAAM,iCAAiC,y+EAmG5C,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACvC,oBAAoB,EACpB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CACpB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,wBAAgB,oCAAoC,CAAC,YAAY,EAAE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,OAAO,CAYV;AAED,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,uBAAuB,GAC5B,kBAAkB,GAAG,SAAS,CA0GhC"}
1
+ {"version":3,"file":"runtime-model.d.ts","sourceRoot":"","sources":["../../src/gtm/runtime-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,eAAO,MAAM,qBAAqB;IACjC,MAAM;IACN,SAAS;CACT,CAAC;AAEF,eAAO,MAAM,iDAAiD,wbAY5D,CAAC;AAEH,eAAO,MAAM,iCAAiC,y+EAmG5C,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACvC,oBAAoB,EACpB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CACpB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC,CAAC;AAEF,wBAAgB,oCAAoC,CAAC,YAAY,EAAE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,GAAG,SAAS,CAYrB;AAED,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,uBAAuB,GAC5B,kBAAkB,GAAG,SAAS,CA2GhC"}
@@ -129,6 +129,7 @@ export function resolveGtmThemeInputFromTemplateData(templateData) {
129
129
  : undefined;
130
130
  }
131
131
  export function buildGtmIdentifyCommand(input) {
132
+ // oxlint-disable-next-line anti-slop/no-unknown-returns -- Public identify traits intentionally preserve arbitrary GTM values allowed by the protocol's Record<string, unknown> schema.
132
133
  function normalizeTraitValue(value) {
133
134
  if (value === undefined || value === null) {
134
135
  return undefined;
@@ -142,11 +142,12 @@ export type GtmTemplateGenerationOptions = {
142
142
  runtimeEndpoints?: {
143
143
  apiUrl: string;
144
144
  coreUrl: string;
145
+ realtimeUrl?: string;
145
146
  };
146
147
  displayName?: string;
147
148
  description?: string;
148
149
  };
149
- export declare const DEFAULT_GTM_LOADER_SCRIPT_BASE_URL = "https://cdn.getuserfeedback.com/widget/loader/v2";
150
+ export declare const DEFAULT_GTM_LOADER_SCRIPT_BASE_URL = "https://cdn.getuserfeedback.com/widget/loader/v5";
150
151
  export declare function buildGtmTemplateParameters(_options?: GtmTemplateGenerationOptions): TemplateParameter[];
151
152
  export declare function buildGtmRuntimeSource(input?: GtmTemplateGenerationOptions): string;
152
153
  export declare function buildGtmPermissions(input?: GtmTemplateGenerationOptions): GtmTemplatePermission[];
@@ -1 +1 @@
1
- {"version":3,"file":"template-generation.d.ts","sourceRoot":"","sources":["../../src/gtm/template-generation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-generation.d.ts","sourceRoot":"","sources":["../../src/gtm/template-generation.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,+BAA+B,GAAG;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,kBAAkB,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAC1B;IACA,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACxC,GACD;IACA,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACxC,GACD;IACA,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,KAAK,CAAC,kBAAkB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,GACD;IACA,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,KAAK,CACxB,6BAA6B,GAAG,+BAA+B,CAC/D,CAAC;IACF,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACxC,GACD;IACA,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAC9B,CAAC;AAEL,KAAK,wBAAwB,GAAG;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC5B,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACnC,QAAQ,EAAE,KAAK,CACZ,wBAAwB,GACxB,yBAAyB,GACzB,sBAAsB,GACtB,qBAAqB,CACvB,CAAC;CACF,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC7B,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,KAAK,CACd,wBAAwB,GAAG,yBAAyB,GAAG,qBAAqB,CAC5E,CAAC;CACF,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EACF,wBAAwB,GACxB,yBAAyB,GACzB,sBAAsB,GACtB,qBAAqB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IACnC,QAAQ,EAAE;QACT,GAAG,EAAE;YACJ,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,GAAG,CAAC;SACf,CAAC;QACF,KAAK,EAAE,kBAAkB,EAAE,CAAC;KAC5B,CAAC;IACF,iBAAiB,CAAC,EAAE;QACnB,cAAc,EAAE,IAAI,CAAC;KACrB,CAAC;IACF,UAAU,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,CAAC,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC9D,iBAAiB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,qBAAqB,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAEnD,MAAM,MAAM,4BAA4B,GAAG;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,4BAA4B,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IAC1C,iCAAiC,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,kCAAkC,qDACI,CAAC;AAqOpD,wBAAgB,0BAA0B,CACzC,QAAQ,CAAC,EAAE,4BAA4B,GACrC,iBAAiB,EAAE,CAyJrB;AAED,wBAAgB,qBAAqB,CACpC,KAAK,CAAC,EAAE,4BAA4B,GAClC,MAAM,CAiVR;AAED,wBAAgB,mBAAmB,CAClC,KAAK,CAAC,EAAE,4BAA4B,GAClC,qBAAqB,EAAE,CAoEzB;AAED,wBAAgB,oBAAoB,CACnC,KAAK,CAAC,EAAE,4BAA4B,GAClC,eAAe,CASjB;AAED,wBAAgB,qBAAqB,CACpC,KAAK,CAAC,EAAE,4BAA4B,GAClC,gBAAgB,CAOlB;AAED,wBAAgB,wBAAwB,CACvC,KAAK,CAAC,EAAE,4BAA4B,GAClC,mBAAmB,CAErB;AAED,wBAAgB,0BAA0B,CACzC,KAAK,CAAC,EAAE,sBAAsB,GAC5B,MAAM,CAuER"}
@@ -1,7 +1,8 @@
1
1
  import { DEFAULT_AUTO_DETECT_COLOR_SCHEME_ATTRS } from "@getuserfeedback/protocol";
2
+ import { PRODUCTION_WIDGET_RUNTIME_ENDPOINTS } from "@getuserfeedback/protocol/host";
2
3
  import { GTM_CONSENT_TYPES } from "./core.js";
3
4
  import { BUILD_GTM_IDENTIFY_COMMAND_SOURCE, GTM_QUEUE_CLIENT_META, RESOLVE_GTM_THEME_INPUT_FROM_TEMPLATE_DATA_SOURCE, } from "./runtime-model.js";
4
- export const DEFAULT_GTM_LOADER_SCRIPT_BASE_URL = "https://cdn.getuserfeedback.com/widget/loader/v2";
5
+ export const DEFAULT_GTM_LOADER_SCRIPT_BASE_URL = "https://cdn.getuserfeedback.com/widget/loader/v5";
5
6
  const GTM_TEMPLATE_VERSION = 1;
6
7
  const GTM_TEMPLATE_DEFAULT_DISPLAY_NAME = "getuserfeedback Widget";
7
8
  const GTM_TEMPLATE_DEFAULT_DESCRIPTION = "Load the getuserfeedback widget with Google Tag Manager, including color scheme settings and user identity.";
@@ -343,10 +344,15 @@ export function buildGtmTemplateParameters(_options) {
343
344
  export function buildGtmRuntimeSource(input) {
344
345
  const loaderScriptBaseUrl = trimTrailingSlash(input?.loaderScriptBaseUrl ?? DEFAULT_GTM_LOADER_SCRIPT_BASE_URL);
345
346
  const runtimeEndpoints = input?.runtimeEndpoints === undefined
346
- ? undefined
347
+ ? {
348
+ apiUrl: PRODUCTION_WIDGET_RUNTIME_ENDPOINTS.apiUrl,
349
+ coreUrl: PRODUCTION_WIDGET_RUNTIME_ENDPOINTS.coreUrl,
350
+ realtimeUrl: PRODUCTION_WIDGET_RUNTIME_ENDPOINTS.realtimeUrl,
351
+ }
347
352
  : {
348
353
  apiUrl: input.runtimeEndpoints.apiUrl.trim(),
349
354
  coreUrl: input.runtimeEndpoints.coreUrl.trim(),
355
+ realtimeUrl: input.runtimeEndpoints.realtimeUrl?.trim(),
350
356
  };
351
357
  return `
352
358
  const log = require("logToConsole");
@@ -354,6 +360,7 @@ const injectScript = require("injectScript");
354
360
  const queryPermission = require("queryPermission");
355
361
  const createQueue = require("createQueue");
356
362
  const isConsentGranted = require("isConsentGranted");
363
+ const addConsentListener = require("addConsentListener");
357
364
  const encodeUriComponent = require("encodeUriComponent");
358
365
  const copyFromDataLayer = require("copyFromDataLayer");
359
366
 
@@ -557,7 +564,7 @@ const deriveDefaultConsentFromGtmConsentState = function() {
557
564
  grantScope("ads.personalization");
558
565
  }
559
566
 
560
- return grantedScopes.length > 0 ? grantedScopes : undefined;
567
+ return grantedScopes;
561
568
  };
562
569
 
563
570
  let requestSequence = 0;
@@ -614,6 +621,10 @@ if (generatedRuntimeEndpoints !== null) {
614
621
  apiUrl: generatedRuntimeEndpoints.apiUrl,
615
622
  coreUrl: generatedRuntimeEndpoints.coreUrl,
616
623
  };
624
+ if (generatedRuntimeEndpoints.realtimeUrl !== undefined) {
625
+ initOptions.runtimeEndpoints.realtimeUrl =
626
+ generatedRuntimeEndpoints.realtimeUrl;
627
+ }
617
628
  }
618
629
 
619
630
  enqueuePublicCommand(queuePush, instanceId, {
@@ -626,6 +637,17 @@ if (identifyCommand !== undefined) {
626
637
  enqueuePublicCommand(queuePush, instanceId, identifyCommand);
627
638
  }
628
639
 
640
+ for (let index = 0; index < gtmConsentTypes.length; index += 1) {
641
+ const consentType = gtmConsentTypes[index];
642
+ addConsentListener(consentType, function() {
643
+ const consent = deriveDefaultConsentFromGtmConsentState();
644
+ enqueuePublicCommand(queuePush, instanceId, {
645
+ kind: "configure",
646
+ opts: { consent: consent },
647
+ });
648
+ });
649
+ }
650
+
629
651
  log("Loading getuserfeedback loader:", widgetUrl);
630
652
 
631
653
  if (queryPermission("inject_script", widgetUrl)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getuserfeedback/adapters",
3
- "version": "0.5.172",
3
+ "version": "0.6.0",
4
4
  "description": "getuserfeedback integration adapters",
5
5
  "keywords": [
6
6
  "getuserfeedback",
@@ -30,20 +30,20 @@
30
30
  "scripts": {
31
31
  "prepack": "node scripts/prepack.cjs",
32
32
  "postpack": "node scripts/postpack.cjs",
33
- "lint": "biome check .",
33
+ "lint": "oxlint --threads=2 -c ../../oxlint.config.ts . && GOMAXPROCS=2 GOMEMLIMIT=1GiB oxlint --threads=2 -c ../../oxlint-types.config.ts .",
34
+ "lint:syntax": "oxlint --threads=2 -c ../../oxlint.config.ts .",
34
35
  "build": "bun ../../scripts/clean-build-output.ts dist tsconfig.tsbuildinfo && tsc -p tsconfig.json",
35
36
  "generate:gtm-template": "bun scripts/generate-gtm-template.ts",
36
- "generate:gtm-template:sandbox-hybrid": "GTM_TEMPLATE_LOADER_SCRIPT_BASE_URL=https://cdn.getuserfeedback.com/widget/loader/v2 GTM_TEMPLATE_CORE_URL=http://cdn.getuserfeedback.lvh.me:3100/widget/core/v2/core.html GTM_TEMPLATE_API_URL=http://widget.getuserfeedback.lvh.me:3200/v1 bun scripts/generate-gtm-template.ts",
37
- "generate:gtm-template:sandbox": "GTM_TEMPLATE_LOADER_SCRIPT_BASE_URL=http://cdn.getuserfeedback.lvh.me:3100/widget/loader/v2 GTM_TEMPLATE_CORE_URL=http://cdn.getuserfeedback.lvh.me:3100/widget/core/v2/core.html GTM_TEMPLATE_API_URL=http://widget.getuserfeedback.lvh.me:3200/v1 bun scripts/generate-gtm-template.ts",
37
+ "generate:gtm-template:sandbox-hybrid": "GTM_TEMPLATE_LOADER_SCRIPT_BASE_URL=https://cdn.getuserfeedback.com/widget/loader/v5 GTM_TEMPLATE_CORE_URL=http://cdn.getuserfeedback.lvh.me:3100/widget/core/v7/core.html GTM_TEMPLATE_API_URL=http://widget.getuserfeedback.lvh.me:3200/v1 bun scripts/generate-gtm-template.ts",
38
+ "generate:gtm-template:sandbox": "GTM_TEMPLATE_LOADER_SCRIPT_BASE_URL=http://cdn.getuserfeedback.lvh.me:3100/widget/loader/v5 GTM_TEMPLATE_CORE_URL=http://cdn.getuserfeedback.lvh.me:3100/widget/core/v7/core.html GTM_TEMPLATE_API_URL=http://widget.getuserfeedback.lvh.me:3200/v1 bun scripts/generate-gtm-template.ts",
38
39
  "typecheck": "tsc -p tsconfig.json --noEmit --composite false --incremental false",
39
40
  "test": "bun test --dots",
40
- "test:changed": "bun test --changed=${TEST_CHANGED_BASE:-HEAD} --pass-with-no-tests --dots",
41
41
  "pack:verify": "node ../../scripts/pack-and-verify.cjs --expect-dependency @getuserfeedback/protocol:../protocol/package.json",
42
42
  "publish:dry-run": "node ../../scripts/publish-package.cjs . --expect-dependency @getuserfeedback/protocol:../protocol/package.json -- --dry-run",
43
43
  "publish:npm": "node ../../scripts/publish-package.cjs . --expect-dependency @getuserfeedback/protocol:../protocol/package.json"
44
44
  },
45
45
  "dependencies": {
46
- "@getuserfeedback/protocol": "^6.0.4"
46
+ "@getuserfeedback/protocol": "^7.0.0"
47
47
  },
48
48
  "devDependencies": {
49
49
  "typescript": "^7.0.2"