@brandlab-digital/site-core 1.0.0-rc.11 → 1.0.0-rc.13
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/dist/google-reviews.d.ts +17 -1
- package/dist/google-reviews.d.ts.map +1 -1
- package/dist/google-reviews.js +138 -12
- package/dist/google-reviews.js.map +1 -1
- package/dist/platform-contract.d.ts.map +1 -1
- package/dist/platform-contract.js +11 -1
- package/dist/platform-contract.js.map +1 -1
- package/dist/project.d.ts +12 -3
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +31 -0
- package/dist/project.js.map +1 -1
- package/package.json +1 -1
package/dist/google-reviews.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
export declare const GOOGLE_PLACE_DETAILS_ENDPOINT = "https://places.googleapis.com/v1/places";
|
|
2
|
+
export declare const GOOGLE_PLACE_REVIEWS_SUMMARY_FIELD_MASK = "id,displayName,googleMapsUri,rating,userRatingCount,attributions";
|
|
3
|
+
export declare const GOOGLE_PLACE_REVIEWS_FULL_FIELD_MASK = "id,displayName,googleMapsUri,rating,userRatingCount,attributions,reviews.authorAttribution,reviews.relativePublishTimeDescription,reviews.rating,reviews.text,reviews.originalText,reviews.publishTime,reviews.googleMapsUri,reviews.flagContentUri";
|
|
4
|
+
/** Backwards-compatible name for the policy-complete full-review field mask. */
|
|
2
5
|
export declare const GOOGLE_PLACE_REVIEWS_FIELD_MASK = "id,displayName,googleMapsUri,rating,userRatingCount,attributions,reviews.authorAttribution,reviews.relativePublishTimeDescription,reviews.rating,reviews.text,reviews.originalText,reviews.publishTime,reviews.googleMapsUri,reviews.flagContentUri";
|
|
3
6
|
export declare const GOOGLE_MAPS_ATTRIBUTION_LABEL = "Google Maps";
|
|
4
7
|
export declare const GOOGLE_MAPS_ATTRIBUTION_TEXT = "Google Maps";
|
|
5
8
|
export declare const GOOGLE_PLACE_REVIEWS_MAX_REVIEWS = 5;
|
|
9
|
+
export type GooglePlaceReviewsMode = 'summary' | 'full';
|
|
6
10
|
export type GooglePlaceReviewsUnavailableReason = 'missing-api-key' | 'missing-place-id' | 'quota-exhausted' | 'quota-guard-unavailable' | 'api-error' | 'invalid-response';
|
|
7
11
|
export interface GooglePlaceText {
|
|
8
12
|
text?: string;
|
|
@@ -62,6 +66,7 @@ export interface GooglePlaceReviewsAttribution {
|
|
|
62
66
|
}
|
|
63
67
|
export interface GooglePlaceReviewsAvailableSnapshot {
|
|
64
68
|
status: 'available';
|
|
69
|
+
mode: GooglePlaceReviewsMode;
|
|
65
70
|
businessName: string;
|
|
66
71
|
googleMapsUri: string;
|
|
67
72
|
rating?: number;
|
|
@@ -72,6 +77,7 @@ export interface GooglePlaceReviewsAvailableSnapshot {
|
|
|
72
77
|
}
|
|
73
78
|
export interface GooglePlaceReviewsUnavailableSnapshot {
|
|
74
79
|
status: 'unavailable';
|
|
80
|
+
mode: GooglePlaceReviewsMode;
|
|
75
81
|
reason: GooglePlaceReviewsUnavailableReason;
|
|
76
82
|
googleMapsUri?: string;
|
|
77
83
|
attribution: GooglePlaceReviewsAttribution;
|
|
@@ -84,23 +90,33 @@ export interface GooglePlaceDetailsRequest {
|
|
|
84
90
|
export interface FetchGooglePlaceReviewsOptions {
|
|
85
91
|
apiKey?: string | null;
|
|
86
92
|
placeId?: string | null;
|
|
93
|
+
/** Summary avoids the higher-priced reviews field; full returns up to five reviews. */
|
|
94
|
+
mode?: GooglePlaceReviewsMode;
|
|
87
95
|
maxReviews?: number;
|
|
88
96
|
fallbackGoogleMapsUri?: string | null;
|
|
89
97
|
fetcher?: typeof fetch;
|
|
90
98
|
/** Bounded upstream timeout; defaults to five seconds. */
|
|
91
99
|
timeoutMs?: number;
|
|
92
100
|
}
|
|
93
|
-
export declare function createGooglePlaceReviewsUnavailableSnapshot(reason: GooglePlaceReviewsUnavailableReason, googleMapsUri?: string | null): GooglePlaceReviewsUnavailableSnapshot;
|
|
101
|
+
export declare function createGooglePlaceReviewsUnavailableSnapshot(reason: GooglePlaceReviewsUnavailableReason, googleMapsUri?: string | null, mode?: GooglePlaceReviewsMode): GooglePlaceReviewsUnavailableSnapshot;
|
|
94
102
|
export declare function normalizeGooglePlacePublicUrl(value: string | null | undefined): string | undefined;
|
|
103
|
+
export declare function normalizeGooglePlaceReviewsMode(value: GooglePlaceReviewsMode | null | undefined): GooglePlaceReviewsMode;
|
|
95
104
|
export declare function normalizeGooglePlaceId(placeId: string | null | undefined): string | undefined;
|
|
96
105
|
export declare function buildGooglePlaceDetailsRequest(options: {
|
|
97
106
|
apiKey: string;
|
|
98
107
|
placeId: string;
|
|
108
|
+
mode?: GooglePlaceReviewsMode;
|
|
99
109
|
}): GooglePlaceDetailsRequest;
|
|
100
110
|
export declare function normalizeGooglePlaceReview(review: GooglePlaceReviewApiReview): GooglePlaceReview | null;
|
|
101
111
|
export declare function normalizeGooglePlaceReviewsResponse(response: GooglePlaceDetailsApiResponse, options?: {
|
|
112
|
+
mode?: GooglePlaceReviewsMode;
|
|
102
113
|
maxReviews?: number;
|
|
103
114
|
fallbackGoogleMapsUri?: string | null;
|
|
104
115
|
}): GooglePlaceReviewsSnapshot;
|
|
116
|
+
/**
|
|
117
|
+
* Treats the public route response as untrusted input before it reaches React.
|
|
118
|
+
* Unknown fields are discarded and incomplete review attribution is omitted.
|
|
119
|
+
*/
|
|
120
|
+
export declare function parseGooglePlaceReviewsSnapshot(value: unknown, expectedMode?: GooglePlaceReviewsMode): GooglePlaceReviewsSnapshot | null;
|
|
105
121
|
export declare function fetchGooglePlaceReviewsSnapshot(options: FetchGooglePlaceReviewsOptions): Promise<GooglePlaceReviewsSnapshot>;
|
|
106
122
|
//# sourceMappingURL=google-reviews.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-reviews.d.ts","sourceRoot":"","sources":["../src/google-reviews.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,4CAA4C,CAAA;AACtF,eAAO,MAAM,+BAA+B,
|
|
1
|
+
{"version":3,"file":"google-reviews.d.ts","sourceRoot":"","sources":["../src/google-reviews.ts"],"names":[],"mappings":"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"}
|
package/dist/google-reviews.js
CHANGED
|
@@ -1,16 +1,28 @@
|
|
|
1
1
|
export const GOOGLE_PLACE_DETAILS_ENDPOINT = 'https://places.googleapis.com/v1/places';
|
|
2
|
-
export const
|
|
2
|
+
export const GOOGLE_PLACE_REVIEWS_SUMMARY_FIELD_MASK = 'id,displayName,googleMapsUri,rating,userRatingCount,attributions';
|
|
3
|
+
export const GOOGLE_PLACE_REVIEWS_FULL_FIELD_MASK = 'id,displayName,googleMapsUri,rating,userRatingCount,attributions,reviews.authorAttribution,reviews.relativePublishTimeDescription,reviews.rating,reviews.text,reviews.originalText,reviews.publishTime,reviews.googleMapsUri,reviews.flagContentUri';
|
|
4
|
+
/** Backwards-compatible name for the policy-complete full-review field mask. */
|
|
5
|
+
export const GOOGLE_PLACE_REVIEWS_FIELD_MASK = GOOGLE_PLACE_REVIEWS_FULL_FIELD_MASK;
|
|
3
6
|
export const GOOGLE_MAPS_ATTRIBUTION_LABEL = 'Google Maps';
|
|
4
7
|
export const GOOGLE_MAPS_ATTRIBUTION_TEXT = 'Google Maps';
|
|
5
8
|
export const GOOGLE_PLACE_REVIEWS_MAX_REVIEWS = 5;
|
|
9
|
+
const GOOGLE_PLACE_REVIEWS_UNAVAILABLE_REASONS = new Set([
|
|
10
|
+
'missing-api-key',
|
|
11
|
+
'missing-place-id',
|
|
12
|
+
'quota-exhausted',
|
|
13
|
+
'quota-guard-unavailable',
|
|
14
|
+
'api-error',
|
|
15
|
+
'invalid-response',
|
|
16
|
+
]);
|
|
6
17
|
const attribution = {
|
|
7
18
|
label: GOOGLE_MAPS_ATTRIBUTION_LABEL,
|
|
8
19
|
text: GOOGLE_MAPS_ATTRIBUTION_TEXT,
|
|
9
20
|
};
|
|
10
|
-
export function createGooglePlaceReviewsUnavailableSnapshot(reason, googleMapsUri) {
|
|
21
|
+
export function createGooglePlaceReviewsUnavailableSnapshot(reason, googleMapsUri, mode = 'full') {
|
|
11
22
|
const safeGoogleMapsUri = normalizeGooglePlacePublicUrl(googleMapsUri);
|
|
12
23
|
return {
|
|
13
24
|
status: 'unavailable',
|
|
25
|
+
mode,
|
|
14
26
|
reason,
|
|
15
27
|
...(safeGoogleMapsUri ? { googleMapsUri: safeGoogleMapsUri } : {}),
|
|
16
28
|
attribution,
|
|
@@ -45,6 +57,9 @@ function clampReviewLimit(value) {
|
|
|
45
57
|
return GOOGLE_PLACE_REVIEWS_MAX_REVIEWS;
|
|
46
58
|
return Math.max(0, Math.min(GOOGLE_PLACE_REVIEWS_MAX_REVIEWS, Math.floor(value)));
|
|
47
59
|
}
|
|
60
|
+
export function normalizeGooglePlaceReviewsMode(value) {
|
|
61
|
+
return value === 'summary' ? 'summary' : 'full';
|
|
62
|
+
}
|
|
48
63
|
export function normalizeGooglePlaceId(placeId) {
|
|
49
64
|
const trimmed = trimToUndefined(placeId);
|
|
50
65
|
if (!trimmed)
|
|
@@ -64,10 +79,12 @@ export function buildGooglePlaceDetailsRequest(options) {
|
|
|
64
79
|
url: `${GOOGLE_PLACE_DETAILS_ENDPOINT}/${encodeURIComponent(normalizedPlaceId)}`,
|
|
65
80
|
headers: {
|
|
66
81
|
'X-Goog-Api-Key': apiKey,
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
'X-Goog-FieldMask':
|
|
82
|
+
// The only supported masks are platform-owned. Full mode keeps review,
|
|
83
|
+
// author, source, report and provider attribution inseparable; summary
|
|
84
|
+
// mode avoids requesting the higher-priced reviews field entirely.
|
|
85
|
+
'X-Goog-FieldMask': normalizeGooglePlaceReviewsMode(options.mode) === 'summary'
|
|
86
|
+
? GOOGLE_PLACE_REVIEWS_SUMMARY_FIELD_MASK
|
|
87
|
+
: GOOGLE_PLACE_REVIEWS_FULL_FIELD_MASK,
|
|
71
88
|
},
|
|
72
89
|
};
|
|
73
90
|
}
|
|
@@ -98,14 +115,15 @@ export function normalizeGooglePlaceReview(review) {
|
|
|
98
115
|
}
|
|
99
116
|
export function normalizeGooglePlaceReviewsResponse(response, options = {}) {
|
|
100
117
|
const businessName = trimToUndefined(response.displayName?.text);
|
|
118
|
+
const mode = normalizeGooglePlaceReviewsMode(options.mode);
|
|
101
119
|
const googleMapsUri = normalizeGooglePlacePublicUrl(response.googleMapsUri) ??
|
|
102
120
|
normalizeGooglePlacePublicUrl(options.fallbackGoogleMapsUri);
|
|
103
121
|
const rating = normalizeRating(response.rating);
|
|
104
122
|
const userRatingCount = normalizeCount(response.userRatingCount);
|
|
105
123
|
if (!businessName || !googleMapsUri) {
|
|
106
|
-
return createGooglePlaceReviewsUnavailableSnapshot('invalid-response', googleMapsUri);
|
|
124
|
+
return createGooglePlaceReviewsUnavailableSnapshot('invalid-response', googleMapsUri, mode);
|
|
107
125
|
}
|
|
108
|
-
const reviews = (response.reviews ?? [])
|
|
126
|
+
const reviews = (mode === 'full' ? response.reviews ?? [] : [])
|
|
109
127
|
.map((review) => normalizeGooglePlaceReview(review))
|
|
110
128
|
.filter((review) => Boolean(review))
|
|
111
129
|
.slice(0, clampReviewLimit(options.maxReviews));
|
|
@@ -120,6 +138,111 @@ export function normalizeGooglePlaceReviewsResponse(response, options = {}) {
|
|
|
120
138
|
.filter((item) => Boolean(item));
|
|
121
139
|
return {
|
|
122
140
|
status: 'available',
|
|
141
|
+
mode,
|
|
142
|
+
businessName,
|
|
143
|
+
googleMapsUri,
|
|
144
|
+
...(rating ? { rating } : {}),
|
|
145
|
+
...(userRatingCount !== undefined ? { userRatingCount } : {}),
|
|
146
|
+
reviews,
|
|
147
|
+
thirdPartyAttributions,
|
|
148
|
+
attribution,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Treats the public route response as untrusted input before it reaches React.
|
|
153
|
+
* Unknown fields are discarded and incomplete review attribution is omitted.
|
|
154
|
+
*/
|
|
155
|
+
export function parseGooglePlaceReviewsSnapshot(value, expectedMode) {
|
|
156
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
157
|
+
return null;
|
|
158
|
+
const record = value;
|
|
159
|
+
const mode = record.mode === 'summary' || record.mode === 'full'
|
|
160
|
+
? record.mode
|
|
161
|
+
: null;
|
|
162
|
+
if (!mode || (expectedMode && mode !== expectedMode))
|
|
163
|
+
return null;
|
|
164
|
+
if (!record.attribution ||
|
|
165
|
+
typeof record.attribution !== 'object' ||
|
|
166
|
+
Array.isArray(record.attribution)) {
|
|
167
|
+
return null;
|
|
168
|
+
}
|
|
169
|
+
const rawAttribution = record.attribution;
|
|
170
|
+
if (rawAttribution.label !== GOOGLE_MAPS_ATTRIBUTION_LABEL ||
|
|
171
|
+
rawAttribution.text !== GOOGLE_MAPS_ATTRIBUTION_TEXT) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
if (record.status === 'unavailable') {
|
|
175
|
+
if (typeof record.reason !== 'string' ||
|
|
176
|
+
!GOOGLE_PLACE_REVIEWS_UNAVAILABLE_REASONS.has(record.reason)) {
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
return createGooglePlaceReviewsUnavailableSnapshot(record.reason, typeof record.googleMapsUri === 'string' ? record.googleMapsUri : undefined, mode);
|
|
180
|
+
}
|
|
181
|
+
if (record.status !== 'available')
|
|
182
|
+
return null;
|
|
183
|
+
const businessName = typeof record.businessName === 'string'
|
|
184
|
+
? trimToUndefined(record.businessName)
|
|
185
|
+
: undefined;
|
|
186
|
+
const googleMapsUri = typeof record.googleMapsUri === 'string'
|
|
187
|
+
? normalizeGooglePlacePublicUrl(record.googleMapsUri)
|
|
188
|
+
: undefined;
|
|
189
|
+
if (!businessName || !googleMapsUri)
|
|
190
|
+
return null;
|
|
191
|
+
const rating = typeof record.rating === 'number' ? normalizeRating(record.rating) : undefined;
|
|
192
|
+
const userRatingCount = typeof record.userRatingCount === 'number'
|
|
193
|
+
? normalizeCount(record.userRatingCount)
|
|
194
|
+
: undefined;
|
|
195
|
+
const rawReviews = Array.isArray(record.reviews) ? record.reviews : null;
|
|
196
|
+
const rawAttributions = Array.isArray(record.thirdPartyAttributions)
|
|
197
|
+
? record.thirdPartyAttributions
|
|
198
|
+
: null;
|
|
199
|
+
if (!rawReviews || !rawAttributions || (mode === 'summary' && rawReviews.length > 0)) {
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
const reviews = rawReviews
|
|
203
|
+
.map((item) => {
|
|
204
|
+
if (!item || typeof item !== 'object' || Array.isArray(item))
|
|
205
|
+
return null;
|
|
206
|
+
const review = item;
|
|
207
|
+
return normalizeGooglePlaceReview({
|
|
208
|
+
authorAttribution: {
|
|
209
|
+
displayName: typeof review.authorName === 'string' ? review.authorName : undefined,
|
|
210
|
+
uri: typeof review.authorUri === 'string' ? review.authorUri : undefined,
|
|
211
|
+
photoUri: typeof review.authorPhotoUri === 'string' ? review.authorPhotoUri : undefined,
|
|
212
|
+
},
|
|
213
|
+
rating: typeof review.rating === 'number' ? review.rating : undefined,
|
|
214
|
+
text: { text: typeof review.text === 'string' ? review.text : undefined },
|
|
215
|
+
relativePublishTimeDescription: typeof review.relativePublishTimeDescription === 'string'
|
|
216
|
+
? review.relativePublishTimeDescription
|
|
217
|
+
: undefined,
|
|
218
|
+
publishTime: typeof review.publishTime === 'string' ? review.publishTime : undefined,
|
|
219
|
+
googleMapsUri: typeof review.googleMapsUri === 'string' ? review.googleMapsUri : undefined,
|
|
220
|
+
flagContentUri: typeof review.flagContentUri === 'string' ? review.flagContentUri : undefined,
|
|
221
|
+
});
|
|
222
|
+
})
|
|
223
|
+
.filter((review) => Boolean(review))
|
|
224
|
+
.slice(0, GOOGLE_PLACE_REVIEWS_MAX_REVIEWS);
|
|
225
|
+
if (mode === 'full' && reviews.length !== rawReviews.length)
|
|
226
|
+
return null;
|
|
227
|
+
const thirdPartyAttributions = rawAttributions
|
|
228
|
+
.map((item) => {
|
|
229
|
+
if (!item || typeof item !== 'object' || Array.isArray(item))
|
|
230
|
+
return null;
|
|
231
|
+
const raw = item;
|
|
232
|
+
const provider = typeof raw.provider === 'string' ? trimToUndefined(raw.provider) : undefined;
|
|
233
|
+
if (!provider)
|
|
234
|
+
return null;
|
|
235
|
+
const providerUri = typeof raw.providerUri === 'string'
|
|
236
|
+
? normalizeGooglePlacePublicUrl(raw.providerUri)
|
|
237
|
+
: undefined;
|
|
238
|
+
return { provider, ...(providerUri ? { providerUri } : {}) };
|
|
239
|
+
})
|
|
240
|
+
.filter((item) => Boolean(item));
|
|
241
|
+
if (thirdPartyAttributions.length !== rawAttributions.length)
|
|
242
|
+
return null;
|
|
243
|
+
return {
|
|
244
|
+
status: 'available',
|
|
245
|
+
mode,
|
|
123
246
|
businessName,
|
|
124
247
|
googleMapsUri,
|
|
125
248
|
...(rating ? { rating } : {}),
|
|
@@ -132,16 +255,18 @@ export function normalizeGooglePlaceReviewsResponse(response, options = {}) {
|
|
|
132
255
|
export async function fetchGooglePlaceReviewsSnapshot(options) {
|
|
133
256
|
const apiKey = trimToUndefined(options.apiKey);
|
|
134
257
|
const placeId = normalizeGooglePlaceId(options.placeId);
|
|
258
|
+
const mode = normalizeGooglePlaceReviewsMode(options.mode);
|
|
135
259
|
if (!apiKey) {
|
|
136
|
-
return createGooglePlaceReviewsUnavailableSnapshot('missing-api-key', options.fallbackGoogleMapsUri);
|
|
260
|
+
return createGooglePlaceReviewsUnavailableSnapshot('missing-api-key', options.fallbackGoogleMapsUri, mode);
|
|
137
261
|
}
|
|
138
262
|
if (!placeId) {
|
|
139
|
-
return createGooglePlaceReviewsUnavailableSnapshot('missing-place-id', options.fallbackGoogleMapsUri);
|
|
263
|
+
return createGooglePlaceReviewsUnavailableSnapshot('missing-place-id', options.fallbackGoogleMapsUri, mode);
|
|
140
264
|
}
|
|
141
265
|
try {
|
|
142
266
|
const request = buildGooglePlaceDetailsRequest({
|
|
143
267
|
apiKey,
|
|
144
268
|
placeId,
|
|
269
|
+
mode,
|
|
145
270
|
});
|
|
146
271
|
const fetcher = options.fetcher ?? fetch;
|
|
147
272
|
const timeoutMs = options.timeoutMs ?? 5_000;
|
|
@@ -162,16 +287,17 @@ export async function fetchGooglePlaceReviewsSnapshot(options) {
|
|
|
162
287
|
clearTimeout(timeout);
|
|
163
288
|
}
|
|
164
289
|
if (!response.ok) {
|
|
165
|
-
return createGooglePlaceReviewsUnavailableSnapshot('api-error', options.fallbackGoogleMapsUri);
|
|
290
|
+
return createGooglePlaceReviewsUnavailableSnapshot('api-error', options.fallbackGoogleMapsUri, mode);
|
|
166
291
|
}
|
|
167
292
|
const json = (await response.json());
|
|
168
293
|
return normalizeGooglePlaceReviewsResponse(json, {
|
|
294
|
+
mode,
|
|
169
295
|
maxReviews: options.maxReviews,
|
|
170
296
|
fallbackGoogleMapsUri: options.fallbackGoogleMapsUri,
|
|
171
297
|
});
|
|
172
298
|
}
|
|
173
299
|
catch {
|
|
174
|
-
return createGooglePlaceReviewsUnavailableSnapshot('api-error', options.fallbackGoogleMapsUri);
|
|
300
|
+
return createGooglePlaceReviewsUnavailableSnapshot('api-error', options.fallbackGoogleMapsUri, mode);
|
|
175
301
|
}
|
|
176
302
|
}
|
|
177
303
|
//# sourceMappingURL=google-reviews.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-reviews.js","sourceRoot":"","sources":["../src/google-reviews.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"google-reviews.js","sourceRoot":"","sources":["../src/google-reviews.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-contract.d.ts","sourceRoot":"","sources":["../src/platform-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAA;AACtB,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAA;AACrB,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,cAAc,CAAA;AACrB,OAAO,EAKL,KAAK,oBAAoB,EAE1B,MAAM,aAAa,CAAA;AAMpB,eAAO,MAAM,kCAAkC,EAC7C,+BAAwC,CAAA;AAE1C,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,qBAAqB,CAAA;IAC9B,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,MAAM,EAAE,oBAAoB,CAAA;IAC5B,OAAO,CAAC,EAAE,uBAAuB,CAAA;IACjC,SAAS,EAAE,yBAAyB,CAAA;CACrC;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,OAAO,kCAAkC,CAAA;IACxD,OAAO,EAAE,qBAAqB,CAAA;IAC9B,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,MAAM,EAAE,oBAAoB,CAAA;IAC5B,OAAO,CAAC,EAAE,uBAAuB,CAAA;IACjC,SAAS,EAAE,yBAAyB,CAAA;CACrC;
|
|
1
|
+
{"version":3,"file":"platform-contract.d.ts","sourceRoot":"","sources":["../src/platform-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAA;AACtB,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,cAAc,CAAA;AACrB,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,cAAc,CAAA;AACrB,OAAO,EAKL,KAAK,oBAAoB,EAE1B,MAAM,aAAa,CAAA;AAMpB,eAAO,MAAM,kCAAkC,EAC7C,+BAAwC,CAAA;AAE1C,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,qBAAqB,CAAA;IAC9B,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,MAAM,EAAE,oBAAoB,CAAA;IAC5B,OAAO,CAAC,EAAE,uBAAuB,CAAA;IACjC,SAAS,EAAE,yBAAyB,CAAA;CACrC;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,OAAO,kCAAkC,CAAA;IACxD,OAAO,EAAE,qBAAqB,CAAA;IAC9B,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,MAAM,EAAE,oBAAoB,CAAA;IAC5B,OAAO,CAAC,EAAE,uBAAuB,CAAA;IACjC,SAAS,EAAE,yBAAyB,CAAA;CACrC;AA4RD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,CAAC,CAAC,SAAS,6BAA6B,EAC7C,KAAK,EAAE,CAAC,GAAG,6BAA6B,CA0BzC;AAwCD,yFAAyF;AACzF,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,6BAA6B,UAGxC"}
|
|
@@ -170,7 +170,8 @@ function assertLocationBinding(project, business, routes) {
|
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
function assertReviewsBinding(project, routes) {
|
|
173
|
-
|
|
173
|
+
const reviews = project.capabilities?.reviews;
|
|
174
|
+
if (reviews?.provider !== 'google-places')
|
|
174
175
|
return;
|
|
175
176
|
const terms = routes.find((route) => route.kind === 'legal' && route.legalPurpose === 'terms');
|
|
176
177
|
const privacy = routes.find((route) => route.kind === 'legal' && route.legalPurpose === 'privacy');
|
|
@@ -180,6 +181,15 @@ function assertReviewsBinding(project, routes) {
|
|
|
180
181
|
if (!privacy?.legalReferences?.includes('google-privacy-policy')) {
|
|
181
182
|
throw new Error('Google Places reviews require a Privacy route referencing the Google privacy policy.');
|
|
182
183
|
}
|
|
184
|
+
for (const routeId of reviews.routeIds) {
|
|
185
|
+
const route = routes.find((candidate) => candidate.id === routeId);
|
|
186
|
+
if (!route) {
|
|
187
|
+
throw new Error(`Google Places reviews reference unknown route ID "${routeId}".`);
|
|
188
|
+
}
|
|
189
|
+
if (route.kind === 'legal' || route.kind === 'thank-you') {
|
|
190
|
+
throw new Error(`Google Places reviews cannot use ${route.kind} route "${routeId}" as a proof placement.`);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
183
193
|
}
|
|
184
194
|
/**
|
|
185
195
|
* Binds every project-config-v2 control-plane input into one validated,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-contract.js","sourceRoot":"","sources":["../src/platform-contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform-contract.js","sourceRoot":"","sources":["../src/platform-contract.ts"],"names":[],"mappings":"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"}
|
package/dist/project.d.ts
CHANGED
|
@@ -4,6 +4,17 @@ export type BrandlabBlogAdapter = 'none' | 'mdx' | 'structured';
|
|
|
4
4
|
export type BrandlabContactAttachmentMode = 'none' | 'images-optional' | 'images-required';
|
|
5
5
|
export type BrandlabLocationStrategy = 'none' | 'approved-service-area' | 'physical-location' | 'multi-location';
|
|
6
6
|
export type BrandlabReviewsProvider = 'google-places' | 'project-owned';
|
|
7
|
+
export type BrandlabGoogleReviewsMode = 'link-only' | 'summary' | 'full';
|
|
8
|
+
export type BrandlabReviewsCapability = {
|
|
9
|
+
provider: 'project-owned';
|
|
10
|
+
} | {
|
|
11
|
+
provider: 'google-places';
|
|
12
|
+
mode: BrandlabGoogleReviewsMode;
|
|
13
|
+
/** Stable route IDs where review proof is intentionally presented. */
|
|
14
|
+
routeIds: readonly string[];
|
|
15
|
+
/** Required for API-backed modes; omitted for link-only. */
|
|
16
|
+
monthlyRequestLimit?: number;
|
|
17
|
+
};
|
|
7
18
|
export interface BrandlabRouteAlias {
|
|
8
19
|
from: string;
|
|
9
20
|
to: string;
|
|
@@ -42,9 +53,7 @@ export interface BrandlabProjectConfig {
|
|
|
42
53
|
locations?: {
|
|
43
54
|
strategy: BrandlabLocationStrategy;
|
|
44
55
|
};
|
|
45
|
-
reviews?:
|
|
46
|
-
provider: BrandlabReviewsProvider;
|
|
47
|
-
};
|
|
56
|
+
reviews?: BrandlabReviewsCapability;
|
|
48
57
|
};
|
|
49
58
|
sitemap?: BrandlabSitemapConfig;
|
|
50
59
|
searchCertification: {
|
package/dist/project.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,iBAAiB,GACjB,oBAAoB,GACpB,YAAY,CAAA;AAEhB,MAAM,MAAM,mBAAmB,GAC3B,UAAU,GACV,WAAW,GACX,mBAAmB,GACnB,MAAM,GACN,UAAU,GACV,OAAO,CAAA;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,CAAA;AAC/D,MAAM,MAAM,6BAA6B,GACrC,MAAM,GACN,iBAAiB,GACjB,iBAAiB,CAAA;AACrB,MAAM,MAAM,wBAAwB,GAChC,MAAM,GACN,uBAAuB,GACvB,mBAAmB,GACnB,gBAAgB,CAAA;AACpB,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,sBAAsB,GAC9B,oBAAoB,GACpB,iBAAiB,GACjB,oBAAoB,GACpB,YAAY,CAAA;AAEhB,MAAM,MAAM,mBAAmB,GAC3B,UAAU,GACV,WAAW,GACX,mBAAmB,GACnB,MAAM,GACN,UAAU,GACV,OAAO,CAAA;AAEX,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,CAAA;AAC/D,MAAM,MAAM,6BAA6B,GACrC,MAAM,GACN,iBAAiB,GACjB,iBAAiB,CAAA;AACrB,MAAM,MAAM,wBAAwB,GAChC,MAAM,GACN,uBAAuB,GACvB,mBAAmB,GACnB,gBAAgB,CAAA;AACpB,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,eAAe,CAAA;AACvE,MAAM,MAAM,yBAAyB,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAA;AAExE,MAAM,MAAM,yBAAyB,GACjC;IAAE,QAAQ,EAAE,eAAe,CAAA;CAAE,GAC7B;IACE,QAAQ,EAAE,eAAe,CAAA;IACzB,IAAI,EAAE,yBAAyB,CAAA;IAC/B,sEAAsE;IACtE,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3B,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAEL,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IACE,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAEL,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,sBAAsB,CAAA;IAC/B,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAA;QACxC,OAAO,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAA;KACxC,CAAA;IACD,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,mBAAmB,CAAA;SAAE,CAAA;QACvC,OAAO,CAAC,EAAE;YACR,YAAY,EAAE,MAAM,CAAA;YACpB,WAAW,EAAE,6BAA6B,CAAA;SAC3C,CAAA;QACD,SAAS,CAAC,EAAE;YAAE,QAAQ,EAAE,wBAAwB,CAAA;SAAE,CAAA;QAClD,OAAO,CAAC,EAAE,yBAAyB,CAAA;KACpC,CAAA;IACD,OAAO,CAAC,EAAE,qBAAqB,CAAA;IAC/B,mBAAmB,EAAE;QACnB,oBAAoB,EAAE;YACpB,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,CAAC,EAAE,MAAM,CAAA;YAChB,OAAO,CAAC,EAAE,MAAM,CAAA;YAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,IAAI,CAAC,EAAE,MAAM,CAAA;SACd,CAAA;KACF,CAAA;IACD,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAC1C;AA4DD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,CAAC,SAAS,qBAAqB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAgJzF"}
|
package/dist/project.js
CHANGED
|
@@ -30,6 +30,12 @@ const REVIEWS_PROVIDERS = new Set([
|
|
|
30
30
|
'google-places',
|
|
31
31
|
'project-owned',
|
|
32
32
|
]);
|
|
33
|
+
const GOOGLE_REVIEWS_MODES = new Set([
|
|
34
|
+
'link-only',
|
|
35
|
+
'summary',
|
|
36
|
+
'full',
|
|
37
|
+
]);
|
|
38
|
+
const MAXIMUM_GOOGLE_REVIEWS_MONTHLY_REQUEST_LIMIT = 100_000;
|
|
33
39
|
function assertNonEmpty(value, field) {
|
|
34
40
|
if (!value.trim()) {
|
|
35
41
|
throw new Error(`${field} cannot be empty.`);
|
|
@@ -120,6 +126,31 @@ export function defineBrandlabProject(config) {
|
|
|
120
126
|
!config.routes.families.includes('legal')) {
|
|
121
127
|
throw new Error('Google Places reviews require the legal route family.');
|
|
122
128
|
}
|
|
129
|
+
if (config.capabilities?.reviews?.provider === 'google-places') {
|
|
130
|
+
const reviews = config.capabilities.reviews;
|
|
131
|
+
if (!GOOGLE_REVIEWS_MODES.has(reviews.mode)) {
|
|
132
|
+
throw new Error('reviews.mode is unsupported.');
|
|
133
|
+
}
|
|
134
|
+
if (!Array.isArray(reviews.routeIds) || reviews.routeIds.length === 0) {
|
|
135
|
+
throw new Error('Google Places reviews require at least one approved route ID.');
|
|
136
|
+
}
|
|
137
|
+
assertUnique(reviews.routeIds, 'reviews.routeIds');
|
|
138
|
+
reviews.routeIds.forEach((routeId, index) => {
|
|
139
|
+
if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(routeId)) {
|
|
140
|
+
throw new Error(`reviews.routeIds[${index}] must be lowercase kebab-case.`);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
if (reviews.mode === 'link-only') {
|
|
144
|
+
if (reviews.monthlyRequestLimit !== undefined) {
|
|
145
|
+
throw new Error('Link-only Google reviews must not configure an API request limit.');
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else if (!Number.isSafeInteger(reviews.monthlyRequestLimit) ||
|
|
149
|
+
reviews.monthlyRequestLimit < 1 ||
|
|
150
|
+
reviews.monthlyRequestLimit > MAXIMUM_GOOGLE_REVIEWS_MONTHLY_REQUEST_LIMIT) {
|
|
151
|
+
throw new Error(`API-backed Google reviews require monthlyRequestLimit between 1 and ${MAXIMUM_GOOGLE_REVIEWS_MONTHLY_REQUEST_LIMIT}.`);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
123
154
|
if (config.sitemap?.mode === 'split') {
|
|
124
155
|
if (config.sitemap.families.length === 0) {
|
|
125
156
|
throw new Error('Split sitemap configuration requires at least one family.');
|
package/dist/project.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,+BAA+B,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|