@getuserfeedback/adapters 0.4.4 → 0.5.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.
@@ -1,4 +1,4 @@
1
- import { type InitOptions, type Scope } from "@getuserfeedback/protocol";
1
+ import { type InitOptions } from "@getuserfeedback/protocol";
2
2
  export declare const GTM_CONSENT_TYPES: readonly [
3
3
  "functionality_storage",
4
4
  "security_storage",
@@ -10,17 +10,10 @@ export declare const GTM_CONSENT_TYPES: readonly [
10
10
  ];
11
11
  export type GtmConsentType = (typeof GTM_CONSENT_TYPES)[number];
12
12
  export type GtmConsentValue = "granted" | "denied";
13
- export type GtmAnalyticsMeasurementMode = "inherit-analytics-storage" | "granted" | "denied";
14
- export type GtmScopeMapping = {
15
- scope: Scope;
16
- consentType: GtmConsentType;
17
- };
18
13
  export type GtmConsentState = Partial<Record<GtmConsentType, GtmConsentValue>>;
19
14
  export type GtmTemplateInput = {
20
15
  apiKey: string;
21
16
  consentState?: GtmConsentState;
22
- scopeMappings?: ReadonlyArray<GtmScopeMapping>;
23
- analyticsMeasurementMode?: GtmAnalyticsMeasurementMode;
24
17
  colorScheme?: unknown;
25
18
  disableTelemetry?: boolean;
26
19
  enableDebug?: InitOptions["enableDebug"];
@@ -28,31 +21,10 @@ export type GtmTemplateInput = {
28
21
  runtimeEndpoints?: InitOptions["runtimeEndpoints"];
29
22
  clientMeta?: InitOptions["clientMeta"];
30
23
  };
31
- type ProtocolConsentScope = NonNullable<Exclude<InitOptions["defaultConsent"], string>>[number];
32
- export type GtmTemplateScopeOption = {
33
- label: string;
34
- scope: Scope;
35
- description: string;
36
- };
37
- export type GtmTemplateMappingOption = {
38
- consentType: GtmConsentType;
39
- label: string;
40
- };
41
- export declare const ESSENTIAL_GTM_SCOPES: readonly [
42
- "functionality.storage",
43
- "security.storage"
44
- ];
45
- export declare const isHostConfigurableGtmScope: (scope: Scope) => scope is ProtocolConsentScope;
46
- export declare const DEFAULT_GTM_SCOPE_MAPPINGS: ReadonlyArray<GtmScopeMapping>;
47
- export declare const GTM_TEMPLATE_SCOPE_OPTIONS: ReadonlyArray<GtmTemplateScopeOption>;
48
- export declare const GTM_TEMPLATE_MAPPING_OPTIONS: ReadonlyArray<GtmTemplateMappingOption>;
49
24
  export declare function isGtmConsentType(value: unknown): value is GtmConsentType;
50
25
  export declare function normalizeGtmThemeInput(input: unknown): InitOptions["colorScheme"] | undefined;
51
26
  export declare function resolveDefaultConsentFromGtm(input: {
52
27
  consentState?: GtmConsentState;
53
- scopeMappings?: ReadonlyArray<GtmScopeMapping>;
54
- analyticsMeasurementMode?: GtmAnalyticsMeasurementMode;
55
28
  }): InitOptions["defaultConsent"] | undefined;
56
29
  export declare function buildInitOptionsFromGtmTemplate(input: GtmTemplateInput): InitOptions;
57
- export {};
58
30
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/gtm/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,WAAW,EAGhB,KAAK,KAAK,EACV,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,2BAA2B,GACpC,2BAA2B,GAC3B,SAAS,GACT,QAAQ,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,cAAc,CAAC;CAC5B,CAAC;AAEF,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,aAAa,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC/C,wBAAwB,CAAC,EAAE,2BAA2B,CAAC;IACvD,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;AAEF,KAAK,oBAAoB,GAAG,WAAW,CACtC,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAC9C,CAAC,MAAM,CAAC,CAAC;AAEV,MAAM,MAAM,sBAAsB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACtC,WAAW,EAAE,cAAc,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,SAAS;IAC3C,uBAAuB;IACvB,kBAAkB;CAC8B,CAAC;AAIlD,eAAO,MAAM,0BAA0B,GACtC,OAAO,KAAK,KACV,KAAK,IAAI,oBAAmD,CAAC;AAEhE,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,eAAe,CA6BrE,CAAC;AA4BF,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,sBAAsB,CAKzE,CAAC;AAEL,eAAO,MAAM,4BAA4B,EAAE,aAAa,CAAC,wBAAwB,CAI7E,CAAC;AAEL,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;IAC/B,aAAa,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC/C,wBAAwB,CAAC,EAAE,2BAA2B,CAAC;CACvD,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG,SAAS,CA6B5C;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,gBAAgB,GACrB,WAAW,CA8Bb"}
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"}
package/dist/gtm/core.js CHANGED
@@ -1,4 +1,4 @@
1
- import { colorSchemeConfigInputSchema, consentConfigInputSchema, DEFAULT_AUTO_DETECT_COLOR_SCHEME_ATTRS, listScopes, parseInitOptions, } from "@getuserfeedback/protocol";
1
+ import { colorSchemeConfigInputSchema, consentConfigInputSchema, DEFAULT_AUTO_DETECT_COLOR_SCHEME_ATTRS, parseInitOptions, } from "@getuserfeedback/protocol";
2
2
  export const GTM_CONSENT_TYPES = [
3
3
  "functionality_storage",
4
4
  "security_storage",
@@ -8,67 +8,10 @@ export const GTM_CONSENT_TYPES = [
8
8
  "ad_user_data",
9
9
  "ad_personalization",
10
10
  ];
11
- export const ESSENTIAL_GTM_SCOPES = ["functionality.storage", "security.storage"];
12
- const essentialScopes = new Set(ESSENTIAL_GTM_SCOPES);
13
- export const isHostConfigurableGtmScope = (scope) => !essentialScopes.has(scope);
14
- export const DEFAULT_GTM_SCOPE_MAPPINGS = [
15
- {
16
- scope: "functionality.storage",
17
- consentType: "functionality_storage",
18
- },
19
- {
20
- scope: "security.storage",
21
- consentType: "security_storage",
22
- },
23
- {
24
- scope: "analytics.storage",
25
- consentType: "analytics_storage",
26
- },
27
- {
28
- scope: "personalization.storage",
29
- consentType: "personalization_storage",
30
- },
31
- {
32
- scope: "ads.storage",
33
- consentType: "ad_storage",
34
- },
35
- {
36
- scope: "ads.user_data",
37
- consentType: "ad_user_data",
38
- },
39
- {
40
- scope: "ads.personalization",
41
- consentType: "ad_personalization",
42
- },
43
- ];
44
- const toTitleCase = (value) => value
45
- .split(/[_\-.]/g)
46
- .filter((part) => part.length > 0)
47
- .map((part) => `${part[0]?.toUpperCase() ?? ""}${part.slice(1)}`)
48
- .join(" ");
49
- const uniqueScopes = (scopes) => {
50
- const deduped = new Set();
51
- for (const scope of scopes) {
52
- if (!isHostConfigurableGtmScope(scope)) {
53
- continue;
54
- }
55
- deduped.add(scope);
56
- }
57
- return [...deduped];
58
- };
59
11
  const normalizeAttrList = (value) => value
60
12
  .split(",")
61
13
  .map((entry) => entry.trim())
62
14
  .filter((entry) => entry.length > 0);
63
- export const GTM_TEMPLATE_SCOPE_OPTIONS = listScopes().map((scopeMeta) => ({
64
- label: toTitleCase(scopeMeta.id),
65
- scope: scopeMeta.id,
66
- description: scopeMeta.description,
67
- }));
68
- export const GTM_TEMPLATE_MAPPING_OPTIONS = GTM_CONSENT_TYPES.map((consentType) => ({
69
- consentType,
70
- label: toTitleCase(consentType),
71
- }));
72
15
  export function isGtmConsentType(value) {
73
16
  if (typeof value !== "string") {
74
17
  return false;
@@ -119,27 +62,30 @@ export function resolveDefaultConsentFromGtm(input) {
119
62
  if (!consentState) {
120
63
  return undefined;
121
64
  }
122
- const mappings = input.scopeMappings ?? DEFAULT_GTM_SCOPE_MAPPINGS;
123
- const grantedScopes = uniqueScopes(mappings.flatMap((mapping) => consentState[mapping.consentType] === "granted" ? [mapping.scope] : []));
124
- const analyticsMeasurementMode = input.analyticsMeasurementMode ?? "inherit-analytics-storage";
125
- if (analyticsMeasurementMode === "granted") {
126
- grantedScopes.push("analytics.measurement");
65
+ const grantedScopes = [];
66
+ if (consentState.analytics_storage === "granted") {
67
+ grantedScopes.push("analytics.storage", "analytics.measurement");
68
+ }
69
+ if (consentState.personalization_storage === "granted") {
70
+ grantedScopes.push("personalization.storage");
71
+ }
72
+ if (consentState.ad_storage === "granted") {
73
+ grantedScopes.push("ads.storage");
74
+ }
75
+ if (consentState.ad_user_data === "granted") {
76
+ grantedScopes.push("ads.user_data");
127
77
  }
128
- if (analyticsMeasurementMode === "inherit-analytics-storage" &&
129
- consentState.analytics_storage === "granted") {
130
- grantedScopes.push("analytics.measurement");
78
+ if (consentState.ad_personalization === "granted") {
79
+ grantedScopes.push("ads.personalization");
131
80
  }
132
- const normalizedGrantedScopes = uniqueScopes(grantedScopes);
133
- return normalizedGrantedScopes.length > 0
134
- ? consentConfigInputSchema.parse(normalizedGrantedScopes)
81
+ return grantedScopes.length > 0
82
+ ? consentConfigInputSchema.parse(grantedScopes)
135
83
  : undefined;
136
84
  }
137
85
  export function buildInitOptionsFromGtmTemplate(input) {
138
86
  const colorScheme = normalizeGtmThemeInput(input.colorScheme);
139
87
  const defaultConsent = resolveDefaultConsentFromGtm({
140
88
  consentState: input.consentState,
141
- scopeMappings: input.scopeMappings,
142
- analyticsMeasurementMode: input.analyticsMeasurementMode,
143
89
  });
144
90
  return parseInitOptions({
145
91
  apiKey: input.apiKey,
@@ -1,3 +1,3 @@
1
- export { buildInitOptionsFromGtmTemplate, DEFAULT_GTM_SCOPE_MAPPINGS, ESSENTIAL_GTM_SCOPES, GTM_CONSENT_TYPES, GTM_TEMPLATE_MAPPING_OPTIONS, GTM_TEMPLATE_SCOPE_OPTIONS, type GtmAnalyticsMeasurementMode, type GtmConsentState, type GtmConsentType, type GtmConsentValue, type GtmScopeMapping, type GtmTemplateInput, type GtmTemplateMappingOption, type GtmTemplateScopeOption, isGtmConsentType, isHostConfigurableGtmScope, normalizeGtmThemeInput, resolveDefaultConsentFromGtm, } from "./core.js";
2
- export { buildGtmPermissions, buildGtmRuntimeSource, buildGtmTemplateArtifact, buildGtmTemplateInfo, buildGtmTemplateParameters, buildGtmTemplateParts, DEFAULT_GTM_LOADER_SCRIPT_BASE_URL, type GtmTemplateArtifact, type GtmTemplateGenerationOptions, type GtmTemplateInfo, type GtmTemplateParts, type GtmTemplatePermission, type TemplateCondition, type TemplateParameter, type TemplateSelectItem, type TemplateValueValidator, } from "./template-generation.js";
1
+ export { buildInitOptionsFromGtmTemplate, GTM_CONSENT_TYPES, type GtmConsentState, type GtmConsentType, type GtmConsentValue, type GtmTemplateInput, isGtmConsentType, normalizeGtmThemeInput, resolveDefaultConsentFromGtm, } from "./core.js";
2
+ export { buildGtmPermissions, buildGtmRuntimeSource, buildGtmTemplateArtifact, buildGtmTemplateFileSource, buildGtmTemplateInfo, buildGtmTemplateParameters, buildGtmTemplateParts, DEFAULT_GTM_LOADER_SCRIPT_BASE_URL, type GtmTemplateArtifact, type GtmTemplateFileInfoOverrides, type GtmTemplateFileOptions, type GtmTemplateGenerationOptions, type GtmTemplateInfo, type GtmTemplateParts, type GtmTemplatePermission, type TemplateCondition, type TemplateParameter, type TemplateSelectItem, type TemplateValueValidator, } from "./template-generation.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gtm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,+BAA+B,EAC/B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,2BAA2B,EAChC,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,GAC5B,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,kCAAkC,EAClC,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,GAC3B,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gtm/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,+BAA+B,EAC/B,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,GAC5B,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,kCAAkC,EAClC,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,GAC3B,MAAM,0BAA0B,CAAC"}
package/dist/gtm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { buildInitOptionsFromGtmTemplate, DEFAULT_GTM_SCOPE_MAPPINGS, ESSENTIAL_GTM_SCOPES, GTM_CONSENT_TYPES, GTM_TEMPLATE_MAPPING_OPTIONS, GTM_TEMPLATE_SCOPE_OPTIONS, isGtmConsentType, isHostConfigurableGtmScope, normalizeGtmThemeInput, resolveDefaultConsentFromGtm, } from "./core.js";
2
- export { buildGtmPermissions, buildGtmRuntimeSource, buildGtmTemplateArtifact, buildGtmTemplateInfo, buildGtmTemplateParameters, buildGtmTemplateParts, DEFAULT_GTM_LOADER_SCRIPT_BASE_URL, } from "./template-generation.js";
1
+ export { buildInitOptionsFromGtmTemplate, GTM_CONSENT_TYPES, isGtmConsentType, normalizeGtmThemeInput, resolveDefaultConsentFromGtm, } from "./core.js";
2
+ export { buildGtmPermissions, buildGtmRuntimeSource, buildGtmTemplateArtifact, buildGtmTemplateFileSource, buildGtmTemplateInfo, buildGtmTemplateParameters, buildGtmTemplateParts, DEFAULT_GTM_LOADER_SCRIPT_BASE_URL, } from "./template-generation.js";
@@ -0,0 +1,28 @@
1
+ import type { PublicCommandPayload } from "@getuserfeedback/protocol";
2
+ export declare const GTM_QUEUE_CLIENT_META: {
3
+ loader: string;
4
+ transport: string;
5
+ };
6
+ export declare const RESOLVE_GTM_THEME_INPUT_FROM_TEMPLATE_DATA_SOURCE = "function resolveGtmThemeInputFromTemplateData(templateData) {\n\tif (templateData.themeMode === \"variable\") {\n\t\treturn templateData.themeModeVariable;\n\t}\n\tif (templateData.themeMode === \"host\") {\n\t\treturn templateData.themeAttr;\n\t}\n\treturn templateData.themeMode === \"light\" ||\n\t\ttemplateData.themeMode === \"dark\" ||\n\t\ttemplateData.themeMode === \"system\"\n\t\t? templateData.themeMode\n\t\t: undefined;\n}";
7
+ export declare const BUILD_GTM_IDENTIFY_COMMAND_SOURCE = "function buildGtmIdentifyCommand(input) {\n\tfunction normalizeTraitValue(value) {\n\t\tif (value === undefined || value === null) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif (typeof value !== \"string\") {\n\t\t\treturn value;\n\t\t}\n\t\tconst trimmedValue = value.trim();\n\t\treturn trimmedValue.length > 0 ? trimmedValue : undefined;\n\t}\n\n\tfunction normalizeUserIdValue(value) {\n\t\tif (typeof value !== \"string\") {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst trimmedValue = value.trim();\n\t\treturn trimmedValue.length > 0 ? trimmedValue : undefined;\n\t}\n\n\tfunction addTrait(traits, name, value) {\n\t\tconst traitName = name.trim();\n\t\tconst traitValue = normalizeTraitValue(value);\n\t\tif (traitName.length === 0 || traitValue === undefined) {\n\t\t\treturn;\n\t\t}\n\t\ttraits[traitName] = traitValue;\n\t}\n\n\tfunction hasOwnKeys(value) {\n\t\tfor (const key in value) {\n\t\t\treturn key.length > 0;\n\t\t}\n\t\treturn false;\n\t}\n\n\tfunction buildFromUserIdAndTraits(userId, traits) {\n\t\tconst hasTraits = hasOwnKeys(traits);\n\t\tif (userId && hasTraits) {\n\t\t\treturn {\n\t\t\t\tkind: \"identify\",\n\t\t\t\tuserId: userId,\n\t\t\t\ttraits: traits,\n\t\t\t};\n\t\t}\n\t\tif (userId) {\n\t\t\treturn {\n\t\t\t\tkind: \"identify\",\n\t\t\t\tuserId: userId,\n\t\t\t};\n\t\t}\n\t\tif (hasTraits) {\n\t\t\treturn {\n\t\t\t\tkind: \"identify\",\n\t\t\t\ttraits: traits,\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tif (input.mode === \"disabled\") {\n\t\treturn undefined;\n\t}\n\n\tif (input.mode === \"intelligent\") {\n\t\tconst traits = {};\n\t\taddTrait(traits, \"email\", input.email);\n\t\taddTrait(traits, \"firstName\", input.firstName);\n\t\taddTrait(traits, \"lastName\", input.lastName);\n\t\taddTrait(traits, \"phone\", input.phone);\n\t\treturn buildFromUserIdAndTraits(normalizeUserIdValue(input.userId), traits);\n\t}\n\n\tconst traits = {};\n\tif (input.traits && typeof input.traits === \"object\") {\n\t\tfor (const key in input.traits) {\n\t\t\ttraits[key] = input.traits[key];\n\t\t}\n\t}\n\tif (input.primaryIdentityType === \"userId\") {\n\t\treturn buildFromUserIdAndTraits(\n\t\t\tnormalizeUserIdValue(input.primaryIdentityValue),\n\t\t\ttraits,\n\t\t);\n\t}\n\n\tif (\n\t\tinput.primaryIdentityType === \"email\" ||\n\t\tinput.primaryIdentityType === \"phone\"\n\t) {\n\t\taddTrait(traits, input.primaryIdentityType, input.primaryIdentityValue);\n\t}\n\n\treturn hasOwnKeys(traits)\n\t\t? {\n\t\t\t\tkind: \"identify\",\n\t\t\t\ttraits: traits,\n\t\t\t}\n\t\t: undefined;\n}";
8
+ export type GtmIdentifyCommand = Extract<PublicCommandPayload, {
9
+ kind: "identify";
10
+ }>;
11
+ export type GtmIdentifyCommandInput = {
12
+ mode: "advanced" | "intelligent" | "disabled";
13
+ userId?: unknown;
14
+ email?: unknown;
15
+ firstName?: unknown;
16
+ lastName?: unknown;
17
+ phone?: unknown;
18
+ primaryIdentityType?: unknown;
19
+ primaryIdentityValue?: unknown;
20
+ traits?: Record<string, unknown>;
21
+ };
22
+ export declare function resolveGtmThemeInputFromTemplateData(templateData: {
23
+ themeMode?: unknown;
24
+ themeModeVariable?: unknown;
25
+ themeAttr?: unknown;
26
+ }): unknown;
27
+ export declare function buildGtmIdentifyCommand(input: GtmIdentifyCommandInput): GtmIdentifyCommand | undefined;
28
+ //# sourceMappingURL=runtime-model.d.ts.map
@@ -0,0 +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;;;CAGjC,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"}
@@ -0,0 +1,216 @@
1
+ export const GTM_QUEUE_CLIENT_META = {
2
+ loader: "gtm",
3
+ transport: "tag-manager",
4
+ };
5
+ export const RESOLVE_GTM_THEME_INPUT_FROM_TEMPLATE_DATA_SOURCE = `function resolveGtmThemeInputFromTemplateData(templateData) {
6
+ if (templateData.themeMode === "variable") {
7
+ return templateData.themeModeVariable;
8
+ }
9
+ if (templateData.themeMode === "host") {
10
+ return templateData.themeAttr;
11
+ }
12
+ return templateData.themeMode === "light" ||
13
+ templateData.themeMode === "dark" ||
14
+ templateData.themeMode === "system"
15
+ ? templateData.themeMode
16
+ : undefined;
17
+ }`;
18
+ export const BUILD_GTM_IDENTIFY_COMMAND_SOURCE = `function buildGtmIdentifyCommand(input) {
19
+ function normalizeTraitValue(value) {
20
+ if (value === undefined || value === null) {
21
+ return undefined;
22
+ }
23
+ if (typeof value !== "string") {
24
+ return value;
25
+ }
26
+ const trimmedValue = value.trim();
27
+ return trimmedValue.length > 0 ? trimmedValue : undefined;
28
+ }
29
+
30
+ function normalizeUserIdValue(value) {
31
+ if (typeof value !== "string") {
32
+ return undefined;
33
+ }
34
+ const trimmedValue = value.trim();
35
+ return trimmedValue.length > 0 ? trimmedValue : undefined;
36
+ }
37
+
38
+ function addTrait(traits, name, value) {
39
+ const traitName = name.trim();
40
+ const traitValue = normalizeTraitValue(value);
41
+ if (traitName.length === 0 || traitValue === undefined) {
42
+ return;
43
+ }
44
+ traits[traitName] = traitValue;
45
+ }
46
+
47
+ function hasOwnKeys(value) {
48
+ for (const key in value) {
49
+ return key.length > 0;
50
+ }
51
+ return false;
52
+ }
53
+
54
+ function buildFromUserIdAndTraits(userId, traits) {
55
+ const hasTraits = hasOwnKeys(traits);
56
+ if (userId && hasTraits) {
57
+ return {
58
+ kind: "identify",
59
+ userId: userId,
60
+ traits: traits,
61
+ };
62
+ }
63
+ if (userId) {
64
+ return {
65
+ kind: "identify",
66
+ userId: userId,
67
+ };
68
+ }
69
+ if (hasTraits) {
70
+ return {
71
+ kind: "identify",
72
+ traits: traits,
73
+ };
74
+ }
75
+ return undefined;
76
+ }
77
+
78
+ if (input.mode === "disabled") {
79
+ return undefined;
80
+ }
81
+
82
+ if (input.mode === "intelligent") {
83
+ const traits = {};
84
+ addTrait(traits, "email", input.email);
85
+ addTrait(traits, "firstName", input.firstName);
86
+ addTrait(traits, "lastName", input.lastName);
87
+ addTrait(traits, "phone", input.phone);
88
+ return buildFromUserIdAndTraits(normalizeUserIdValue(input.userId), traits);
89
+ }
90
+
91
+ const traits = {};
92
+ if (input.traits && typeof input.traits === "object") {
93
+ for (const key in input.traits) {
94
+ traits[key] = input.traits[key];
95
+ }
96
+ }
97
+ if (input.primaryIdentityType === "userId") {
98
+ return buildFromUserIdAndTraits(
99
+ normalizeUserIdValue(input.primaryIdentityValue),
100
+ traits,
101
+ );
102
+ }
103
+
104
+ if (
105
+ input.primaryIdentityType === "email" ||
106
+ input.primaryIdentityType === "phone"
107
+ ) {
108
+ addTrait(traits, input.primaryIdentityType, input.primaryIdentityValue);
109
+ }
110
+
111
+ return hasOwnKeys(traits)
112
+ ? {
113
+ kind: "identify",
114
+ traits: traits,
115
+ }
116
+ : undefined;
117
+ }`;
118
+ export function resolveGtmThemeInputFromTemplateData(templateData) {
119
+ if (templateData.themeMode === "variable") {
120
+ return templateData.themeModeVariable;
121
+ }
122
+ if (templateData.themeMode === "host") {
123
+ return templateData.themeAttr;
124
+ }
125
+ return templateData.themeMode === "light" ||
126
+ templateData.themeMode === "dark" ||
127
+ templateData.themeMode === "system"
128
+ ? templateData.themeMode
129
+ : undefined;
130
+ }
131
+ export function buildGtmIdentifyCommand(input) {
132
+ function normalizeTraitValue(value) {
133
+ if (value === undefined || value === null) {
134
+ return undefined;
135
+ }
136
+ if (typeof value !== "string") {
137
+ return value;
138
+ }
139
+ const trimmedValue = value.trim();
140
+ return trimmedValue.length > 0 ? trimmedValue : undefined;
141
+ }
142
+ function normalizeUserIdValue(value) {
143
+ if (typeof value !== "string") {
144
+ return undefined;
145
+ }
146
+ const trimmedValue = value.trim();
147
+ return trimmedValue.length > 0 ? trimmedValue : undefined;
148
+ }
149
+ function addTrait(traits, name, value) {
150
+ const traitName = name.trim();
151
+ const traitValue = normalizeTraitValue(value);
152
+ if (traitName.length === 0 || traitValue === undefined) {
153
+ return;
154
+ }
155
+ traits[traitName] = traitValue;
156
+ }
157
+ function hasOwnKeys(value) {
158
+ for (const key in value) {
159
+ return key.length > 0;
160
+ }
161
+ return false;
162
+ }
163
+ function buildFromUserIdAndTraits(userId, traits) {
164
+ const hasTraits = hasOwnKeys(traits);
165
+ if (userId && hasTraits) {
166
+ return {
167
+ kind: "identify",
168
+ userId,
169
+ traits,
170
+ };
171
+ }
172
+ if (userId) {
173
+ return {
174
+ kind: "identify",
175
+ userId,
176
+ };
177
+ }
178
+ if (hasTraits) {
179
+ return {
180
+ kind: "identify",
181
+ traits,
182
+ };
183
+ }
184
+ return undefined;
185
+ }
186
+ if (input.mode === "disabled") {
187
+ return undefined;
188
+ }
189
+ if (input.mode === "intelligent") {
190
+ const traits = {};
191
+ addTrait(traits, "email", input.email);
192
+ addTrait(traits, "firstName", input.firstName);
193
+ addTrait(traits, "lastName", input.lastName);
194
+ addTrait(traits, "phone", input.phone);
195
+ return buildFromUserIdAndTraits(normalizeUserIdValue(input.userId), traits);
196
+ }
197
+ const traits = {};
198
+ if (input.traits && typeof input.traits === "object") {
199
+ for (const key in input.traits) {
200
+ traits[key] = input.traits[key];
201
+ }
202
+ }
203
+ if (input.primaryIdentityType === "userId") {
204
+ return buildFromUserIdAndTraits(normalizeUserIdValue(input.primaryIdentityValue), traits);
205
+ }
206
+ if (input.primaryIdentityType === "email" ||
207
+ input.primaryIdentityType === "phone") {
208
+ addTrait(traits, input.primaryIdentityType, input.primaryIdentityValue);
209
+ }
210
+ return hasOwnKeys(traits)
211
+ ? {
212
+ kind: "identify",
213
+ traits,
214
+ }
215
+ : undefined;
216
+ }
@@ -120,8 +120,29 @@ export type GtmTemplateParts = {
120
120
  permissions: GtmTemplatePermission[];
121
121
  };
122
122
  export type GtmTemplateArtifact = GtmTemplateParts;
123
+ export type GtmTemplateFileInfoOverrides = {
124
+ id?: string;
125
+ securityGroups?: ReadonlyArray<string>;
126
+ brandDisplayName?: string;
127
+ brandThumbnail?: string;
128
+ categories?: ReadonlyArray<string>;
129
+ displayName?: string;
130
+ description?: string;
131
+ };
132
+ export type GtmTemplateFileOptions = GtmTemplateGenerationOptions & {
133
+ includeUtf8Bom?: boolean;
134
+ infoOverrides?: GtmTemplateFileInfoOverrides;
135
+ termsOfService?: string;
136
+ tests?: string;
137
+ notes?: string;
138
+ };
123
139
  export type GtmTemplateGenerationOptions = {
140
+ additionalLoaderScriptUrlPatterns?: string[];
124
141
  loaderScriptBaseUrl?: string;
142
+ runtimeEndpoints?: {
143
+ apiUrl: string;
144
+ coreUrl: string;
145
+ };
125
146
  displayName?: string;
126
147
  description?: string;
127
148
  };
@@ -132,5 +153,6 @@ export declare function buildGtmPermissions(input?: GtmTemplateGenerationOptions
132
153
  export declare function buildGtmTemplateInfo(input?: GtmTemplateGenerationOptions): GtmTemplateInfo;
133
154
  export declare function buildGtmTemplateParts(input?: GtmTemplateGenerationOptions): GtmTemplateParts;
134
155
  export declare function buildGtmTemplateArtifact(input?: GtmTemplateGenerationOptions): GtmTemplateArtifact;
156
+ export declare function buildGtmTemplateFileSource(input?: GtmTemplateFileOptions): string;
135
157
  export {};
136
158
  //# sourceMappingURL=template-generation.d.ts.map
@@ -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":"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"}