@brandlab-digital/site-core 1.0.0-rc.9 → 1.0.1
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/analytics.d.ts +21 -1
- package/dist/analytics.d.ts.map +1 -1
- package/dist/analytics.js +27 -1
- package/dist/analytics.js.map +1 -1
- package/dist/business.d.ts +21 -9
- package/dist/business.d.ts.map +1 -1
- package/dist/business.js +73 -15
- package/dist/business.js.map +1 -1
- package/dist/contact.d.ts +4 -13
- package/dist/contact.d.ts.map +1 -1
- package/dist/contact.js +10 -9
- package/dist/contact.js.map +1 -1
- package/dist/geography.d.ts +23 -11
- package/dist/geography.d.ts.map +1 -1
- package/dist/geography.js +1426 -1
- package/dist/geography.js.map +1 -1
- package/dist/google-reviews.d.ts +17 -3
- package/dist/google-reviews.d.ts.map +1 -1
- package/dist/google-reviews.js +134 -12
- package/dist/google-reviews.js.map +1 -1
- package/dist/locations.d.ts +12 -46
- package/dist/locations.d.ts.map +1 -1
- package/dist/locations.js +16 -108
- package/dist/locations.js.map +1 -1
- package/dist/metadata.d.ts +2 -11
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +3 -7
- package/dist/metadata.js.map +1 -1
- package/dist/project.d.ts +11 -4
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +20 -2
- package/dist/project.js.map +1 -1
- package/dist/reviews.d.ts +0 -5
- package/dist/reviews.d.ts.map +1 -1
- package/dist/reviews.js +1 -9
- package/dist/reviews.js.map +1 -1
- package/dist/routes.d.ts +3 -3
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +7 -4
- package/dist/routes.js.map +1 -1
- package/package.json +2 -6
- package/dist/platform-contract.d.ts +0 -30
- package/dist/platform-contract.d.ts.map +0 -1
- package/dist/platform-contract.js +0 -254
- package/dist/platform-contract.js.map +0 -1
package/dist/google-reviews.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export declare const GOOGLE_PLACE_DETAILS_ENDPOINT = "https://places.googleapis.com/v1/places";
|
|
2
|
-
export declare const
|
|
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";
|
|
3
4
|
export declare const GOOGLE_MAPS_ATTRIBUTION_LABEL = "Google Maps";
|
|
4
5
|
export declare const GOOGLE_MAPS_ATTRIBUTION_TEXT = "Google Maps";
|
|
5
6
|
export declare const GOOGLE_PLACE_REVIEWS_MAX_REVIEWS = 5;
|
|
6
|
-
export type
|
|
7
|
+
export type GooglePlaceReviewsMode = 'summary' | 'full';
|
|
8
|
+
export type GooglePlaceReviewsUnavailableReason = 'missing-api-key' | 'missing-place-id' | 'api-error' | 'invalid-response';
|
|
7
9
|
export interface GooglePlaceText {
|
|
8
10
|
text?: string;
|
|
9
11
|
languageCode?: string;
|
|
@@ -62,6 +64,7 @@ export interface GooglePlaceReviewsAttribution {
|
|
|
62
64
|
}
|
|
63
65
|
export interface GooglePlaceReviewsAvailableSnapshot {
|
|
64
66
|
status: 'available';
|
|
67
|
+
mode: GooglePlaceReviewsMode;
|
|
65
68
|
businessName: string;
|
|
66
69
|
googleMapsUri: string;
|
|
67
70
|
rating?: number;
|
|
@@ -72,6 +75,7 @@ export interface GooglePlaceReviewsAvailableSnapshot {
|
|
|
72
75
|
}
|
|
73
76
|
export interface GooglePlaceReviewsUnavailableSnapshot {
|
|
74
77
|
status: 'unavailable';
|
|
78
|
+
mode: GooglePlaceReviewsMode;
|
|
75
79
|
reason: GooglePlaceReviewsUnavailableReason;
|
|
76
80
|
googleMapsUri?: string;
|
|
77
81
|
attribution: GooglePlaceReviewsAttribution;
|
|
@@ -84,23 +88,33 @@ export interface GooglePlaceDetailsRequest {
|
|
|
84
88
|
export interface FetchGooglePlaceReviewsOptions {
|
|
85
89
|
apiKey?: string | null;
|
|
86
90
|
placeId?: string | null;
|
|
91
|
+
/** Summary avoids the higher-priced reviews field; full returns up to five reviews. */
|
|
92
|
+
mode?: GooglePlaceReviewsMode;
|
|
87
93
|
maxReviews?: number;
|
|
88
94
|
fallbackGoogleMapsUri?: string | null;
|
|
89
95
|
fetcher?: typeof fetch;
|
|
90
96
|
/** Bounded upstream timeout; defaults to five seconds. */
|
|
91
97
|
timeoutMs?: number;
|
|
92
98
|
}
|
|
93
|
-
export declare function createGooglePlaceReviewsUnavailableSnapshot(reason: GooglePlaceReviewsUnavailableReason, googleMapsUri?: string | null): GooglePlaceReviewsUnavailableSnapshot;
|
|
99
|
+
export declare function createGooglePlaceReviewsUnavailableSnapshot(reason: GooglePlaceReviewsUnavailableReason, googleMapsUri?: string | null, mode?: GooglePlaceReviewsMode): GooglePlaceReviewsUnavailableSnapshot;
|
|
94
100
|
export declare function normalizeGooglePlacePublicUrl(value: string | null | undefined): string | undefined;
|
|
101
|
+
export declare function normalizeGooglePlaceReviewsMode(value: GooglePlaceReviewsMode | null | undefined): GooglePlaceReviewsMode;
|
|
95
102
|
export declare function normalizeGooglePlaceId(placeId: string | null | undefined): string | undefined;
|
|
96
103
|
export declare function buildGooglePlaceDetailsRequest(options: {
|
|
97
104
|
apiKey: string;
|
|
98
105
|
placeId: string;
|
|
106
|
+
mode?: GooglePlaceReviewsMode;
|
|
99
107
|
}): GooglePlaceDetailsRequest;
|
|
100
108
|
export declare function normalizeGooglePlaceReview(review: GooglePlaceReviewApiReview): GooglePlaceReview | null;
|
|
101
109
|
export declare function normalizeGooglePlaceReviewsResponse(response: GooglePlaceDetailsApiResponse, options?: {
|
|
110
|
+
mode?: GooglePlaceReviewsMode;
|
|
102
111
|
maxReviews?: number;
|
|
103
112
|
fallbackGoogleMapsUri?: string | null;
|
|
104
113
|
}): GooglePlaceReviewsSnapshot;
|
|
114
|
+
/**
|
|
115
|
+
* Treats the public route response as untrusted input before it reaches React.
|
|
116
|
+
* Unknown fields are discarded and incomplete review attribution is omitted.
|
|
117
|
+
*/
|
|
118
|
+
export declare function parseGooglePlaceReviewsSnapshot(value: unknown, expectedMode?: GooglePlaceReviewsMode): GooglePlaceReviewsSnapshot | null;
|
|
105
119
|
export declare function fetchGooglePlaceReviewsSnapshot(options: FetchGooglePlaceReviewsOptions): Promise<GooglePlaceReviewsSnapshot>;
|
|
106
120
|
//# 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
|
|
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,24 @@
|
|
|
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';
|
|
3
4
|
export const GOOGLE_MAPS_ATTRIBUTION_LABEL = 'Google Maps';
|
|
4
5
|
export const GOOGLE_MAPS_ATTRIBUTION_TEXT = 'Google Maps';
|
|
5
6
|
export const GOOGLE_PLACE_REVIEWS_MAX_REVIEWS = 5;
|
|
7
|
+
const GOOGLE_PLACE_REVIEWS_UNAVAILABLE_REASONS = new Set([
|
|
8
|
+
'missing-api-key',
|
|
9
|
+
'missing-place-id',
|
|
10
|
+
'api-error',
|
|
11
|
+
'invalid-response',
|
|
12
|
+
]);
|
|
6
13
|
const attribution = {
|
|
7
14
|
label: GOOGLE_MAPS_ATTRIBUTION_LABEL,
|
|
8
15
|
text: GOOGLE_MAPS_ATTRIBUTION_TEXT,
|
|
9
16
|
};
|
|
10
|
-
export function createGooglePlaceReviewsUnavailableSnapshot(reason, googleMapsUri) {
|
|
17
|
+
export function createGooglePlaceReviewsUnavailableSnapshot(reason, googleMapsUri, mode = 'full') {
|
|
11
18
|
const safeGoogleMapsUri = normalizeGooglePlacePublicUrl(googleMapsUri);
|
|
12
19
|
return {
|
|
13
20
|
status: 'unavailable',
|
|
21
|
+
mode,
|
|
14
22
|
reason,
|
|
15
23
|
...(safeGoogleMapsUri ? { googleMapsUri: safeGoogleMapsUri } : {}),
|
|
16
24
|
attribution,
|
|
@@ -45,6 +53,9 @@ function clampReviewLimit(value) {
|
|
|
45
53
|
return GOOGLE_PLACE_REVIEWS_MAX_REVIEWS;
|
|
46
54
|
return Math.max(0, Math.min(GOOGLE_PLACE_REVIEWS_MAX_REVIEWS, Math.floor(value)));
|
|
47
55
|
}
|
|
56
|
+
export function normalizeGooglePlaceReviewsMode(value) {
|
|
57
|
+
return value === 'summary' ? 'summary' : 'full';
|
|
58
|
+
}
|
|
48
59
|
export function normalizeGooglePlaceId(placeId) {
|
|
49
60
|
const trimmed = trimToUndefined(placeId);
|
|
50
61
|
if (!trimmed)
|
|
@@ -64,10 +75,12 @@ export function buildGooglePlaceDetailsRequest(options) {
|
|
|
64
75
|
url: `${GOOGLE_PLACE_DETAILS_ENDPOINT}/${encodeURIComponent(normalizedPlaceId)}`,
|
|
65
76
|
headers: {
|
|
66
77
|
'X-Goog-Api-Key': apiKey,
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
'X-Goog-FieldMask':
|
|
78
|
+
// The only supported masks are platform-owned. Full mode keeps review,
|
|
79
|
+
// author, source, report and provider attribution inseparable; summary
|
|
80
|
+
// mode avoids requesting the higher-priced reviews field entirely.
|
|
81
|
+
'X-Goog-FieldMask': normalizeGooglePlaceReviewsMode(options.mode) === 'summary'
|
|
82
|
+
? GOOGLE_PLACE_REVIEWS_SUMMARY_FIELD_MASK
|
|
83
|
+
: GOOGLE_PLACE_REVIEWS_FULL_FIELD_MASK,
|
|
71
84
|
},
|
|
72
85
|
};
|
|
73
86
|
}
|
|
@@ -98,14 +111,15 @@ export function normalizeGooglePlaceReview(review) {
|
|
|
98
111
|
}
|
|
99
112
|
export function normalizeGooglePlaceReviewsResponse(response, options = {}) {
|
|
100
113
|
const businessName = trimToUndefined(response.displayName?.text);
|
|
114
|
+
const mode = normalizeGooglePlaceReviewsMode(options.mode);
|
|
101
115
|
const googleMapsUri = normalizeGooglePlacePublicUrl(response.googleMapsUri) ??
|
|
102
116
|
normalizeGooglePlacePublicUrl(options.fallbackGoogleMapsUri);
|
|
103
117
|
const rating = normalizeRating(response.rating);
|
|
104
118
|
const userRatingCount = normalizeCount(response.userRatingCount);
|
|
105
119
|
if (!businessName || !googleMapsUri) {
|
|
106
|
-
return createGooglePlaceReviewsUnavailableSnapshot('invalid-response', googleMapsUri);
|
|
120
|
+
return createGooglePlaceReviewsUnavailableSnapshot('invalid-response', googleMapsUri, mode);
|
|
107
121
|
}
|
|
108
|
-
const reviews = (response.reviews ?? [])
|
|
122
|
+
const reviews = (mode === 'full' ? response.reviews ?? [] : [])
|
|
109
123
|
.map((review) => normalizeGooglePlaceReview(review))
|
|
110
124
|
.filter((review) => Boolean(review))
|
|
111
125
|
.slice(0, clampReviewLimit(options.maxReviews));
|
|
@@ -120,6 +134,111 @@ export function normalizeGooglePlaceReviewsResponse(response, options = {}) {
|
|
|
120
134
|
.filter((item) => Boolean(item));
|
|
121
135
|
return {
|
|
122
136
|
status: 'available',
|
|
137
|
+
mode,
|
|
138
|
+
businessName,
|
|
139
|
+
googleMapsUri,
|
|
140
|
+
...(rating ? { rating } : {}),
|
|
141
|
+
...(userRatingCount !== undefined ? { userRatingCount } : {}),
|
|
142
|
+
reviews,
|
|
143
|
+
thirdPartyAttributions,
|
|
144
|
+
attribution,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Treats the public route response as untrusted input before it reaches React.
|
|
149
|
+
* Unknown fields are discarded and incomplete review attribution is omitted.
|
|
150
|
+
*/
|
|
151
|
+
export function parseGooglePlaceReviewsSnapshot(value, expectedMode) {
|
|
152
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
153
|
+
return null;
|
|
154
|
+
const record = value;
|
|
155
|
+
const mode = record.mode === 'summary' || record.mode === 'full'
|
|
156
|
+
? record.mode
|
|
157
|
+
: null;
|
|
158
|
+
if (!mode || (expectedMode && mode !== expectedMode))
|
|
159
|
+
return null;
|
|
160
|
+
if (!record.attribution ||
|
|
161
|
+
typeof record.attribution !== 'object' ||
|
|
162
|
+
Array.isArray(record.attribution)) {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
const rawAttribution = record.attribution;
|
|
166
|
+
if (rawAttribution.label !== GOOGLE_MAPS_ATTRIBUTION_LABEL ||
|
|
167
|
+
rawAttribution.text !== GOOGLE_MAPS_ATTRIBUTION_TEXT) {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
if (record.status === 'unavailable') {
|
|
171
|
+
if (typeof record.reason !== 'string' ||
|
|
172
|
+
!GOOGLE_PLACE_REVIEWS_UNAVAILABLE_REASONS.has(record.reason)) {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
return createGooglePlaceReviewsUnavailableSnapshot(record.reason, typeof record.googleMapsUri === 'string' ? record.googleMapsUri : undefined, mode);
|
|
176
|
+
}
|
|
177
|
+
if (record.status !== 'available')
|
|
178
|
+
return null;
|
|
179
|
+
const businessName = typeof record.businessName === 'string'
|
|
180
|
+
? trimToUndefined(record.businessName)
|
|
181
|
+
: undefined;
|
|
182
|
+
const googleMapsUri = typeof record.googleMapsUri === 'string'
|
|
183
|
+
? normalizeGooglePlacePublicUrl(record.googleMapsUri)
|
|
184
|
+
: undefined;
|
|
185
|
+
if (!businessName || !googleMapsUri)
|
|
186
|
+
return null;
|
|
187
|
+
const rating = typeof record.rating === 'number' ? normalizeRating(record.rating) : undefined;
|
|
188
|
+
const userRatingCount = typeof record.userRatingCount === 'number'
|
|
189
|
+
? normalizeCount(record.userRatingCount)
|
|
190
|
+
: undefined;
|
|
191
|
+
const rawReviews = Array.isArray(record.reviews) ? record.reviews : null;
|
|
192
|
+
const rawAttributions = Array.isArray(record.thirdPartyAttributions)
|
|
193
|
+
? record.thirdPartyAttributions
|
|
194
|
+
: null;
|
|
195
|
+
if (!rawReviews || !rawAttributions || (mode === 'summary' && rawReviews.length > 0)) {
|
|
196
|
+
return null;
|
|
197
|
+
}
|
|
198
|
+
const reviews = rawReviews
|
|
199
|
+
.map((item) => {
|
|
200
|
+
if (!item || typeof item !== 'object' || Array.isArray(item))
|
|
201
|
+
return null;
|
|
202
|
+
const review = item;
|
|
203
|
+
return normalizeGooglePlaceReview({
|
|
204
|
+
authorAttribution: {
|
|
205
|
+
displayName: typeof review.authorName === 'string' ? review.authorName : undefined,
|
|
206
|
+
uri: typeof review.authorUri === 'string' ? review.authorUri : undefined,
|
|
207
|
+
photoUri: typeof review.authorPhotoUri === 'string' ? review.authorPhotoUri : undefined,
|
|
208
|
+
},
|
|
209
|
+
rating: typeof review.rating === 'number' ? review.rating : undefined,
|
|
210
|
+
text: { text: typeof review.text === 'string' ? review.text : undefined },
|
|
211
|
+
relativePublishTimeDescription: typeof review.relativePublishTimeDescription === 'string'
|
|
212
|
+
? review.relativePublishTimeDescription
|
|
213
|
+
: undefined,
|
|
214
|
+
publishTime: typeof review.publishTime === 'string' ? review.publishTime : undefined,
|
|
215
|
+
googleMapsUri: typeof review.googleMapsUri === 'string' ? review.googleMapsUri : undefined,
|
|
216
|
+
flagContentUri: typeof review.flagContentUri === 'string' ? review.flagContentUri : undefined,
|
|
217
|
+
});
|
|
218
|
+
})
|
|
219
|
+
.filter((review) => Boolean(review))
|
|
220
|
+
.slice(0, GOOGLE_PLACE_REVIEWS_MAX_REVIEWS);
|
|
221
|
+
if (mode === 'full' && reviews.length !== rawReviews.length)
|
|
222
|
+
return null;
|
|
223
|
+
const thirdPartyAttributions = rawAttributions
|
|
224
|
+
.map((item) => {
|
|
225
|
+
if (!item || typeof item !== 'object' || Array.isArray(item))
|
|
226
|
+
return null;
|
|
227
|
+
const raw = item;
|
|
228
|
+
const provider = typeof raw.provider === 'string' ? trimToUndefined(raw.provider) : undefined;
|
|
229
|
+
if (!provider)
|
|
230
|
+
return null;
|
|
231
|
+
const providerUri = typeof raw.providerUri === 'string'
|
|
232
|
+
? normalizeGooglePlacePublicUrl(raw.providerUri)
|
|
233
|
+
: undefined;
|
|
234
|
+
return { provider, ...(providerUri ? { providerUri } : {}) };
|
|
235
|
+
})
|
|
236
|
+
.filter((item) => Boolean(item));
|
|
237
|
+
if (thirdPartyAttributions.length !== rawAttributions.length)
|
|
238
|
+
return null;
|
|
239
|
+
return {
|
|
240
|
+
status: 'available',
|
|
241
|
+
mode,
|
|
123
242
|
businessName,
|
|
124
243
|
googleMapsUri,
|
|
125
244
|
...(rating ? { rating } : {}),
|
|
@@ -132,16 +251,18 @@ export function normalizeGooglePlaceReviewsResponse(response, options = {}) {
|
|
|
132
251
|
export async function fetchGooglePlaceReviewsSnapshot(options) {
|
|
133
252
|
const apiKey = trimToUndefined(options.apiKey);
|
|
134
253
|
const placeId = normalizeGooglePlaceId(options.placeId);
|
|
254
|
+
const mode = normalizeGooglePlaceReviewsMode(options.mode);
|
|
135
255
|
if (!apiKey) {
|
|
136
|
-
return createGooglePlaceReviewsUnavailableSnapshot('missing-api-key', options.fallbackGoogleMapsUri);
|
|
256
|
+
return createGooglePlaceReviewsUnavailableSnapshot('missing-api-key', options.fallbackGoogleMapsUri, mode);
|
|
137
257
|
}
|
|
138
258
|
if (!placeId) {
|
|
139
|
-
return createGooglePlaceReviewsUnavailableSnapshot('missing-place-id', options.fallbackGoogleMapsUri);
|
|
259
|
+
return createGooglePlaceReviewsUnavailableSnapshot('missing-place-id', options.fallbackGoogleMapsUri, mode);
|
|
140
260
|
}
|
|
141
261
|
try {
|
|
142
262
|
const request = buildGooglePlaceDetailsRequest({
|
|
143
263
|
apiKey,
|
|
144
264
|
placeId,
|
|
265
|
+
mode,
|
|
145
266
|
});
|
|
146
267
|
const fetcher = options.fetcher ?? fetch;
|
|
147
268
|
const timeoutMs = options.timeoutMs ?? 5_000;
|
|
@@ -162,16 +283,17 @@ export async function fetchGooglePlaceReviewsSnapshot(options) {
|
|
|
162
283
|
clearTimeout(timeout);
|
|
163
284
|
}
|
|
164
285
|
if (!response.ok) {
|
|
165
|
-
return createGooglePlaceReviewsUnavailableSnapshot('api-error', options.fallbackGoogleMapsUri);
|
|
286
|
+
return createGooglePlaceReviewsUnavailableSnapshot('api-error', options.fallbackGoogleMapsUri, mode);
|
|
166
287
|
}
|
|
167
288
|
const json = (await response.json());
|
|
168
289
|
return normalizeGooglePlaceReviewsResponse(json, {
|
|
290
|
+
mode,
|
|
169
291
|
maxReviews: options.maxReviews,
|
|
170
292
|
fallbackGoogleMapsUri: options.fallbackGoogleMapsUri,
|
|
171
293
|
});
|
|
172
294
|
}
|
|
173
295
|
catch {
|
|
174
|
-
return createGooglePlaceReviewsUnavailableSnapshot('api-error', options.fallbackGoogleMapsUri);
|
|
296
|
+
return createGooglePlaceReviewsUnavailableSnapshot('api-error', options.fallbackGoogleMapsUri, mode);
|
|
175
297
|
}
|
|
176
298
|
}
|
|
177
299
|
//# sourceMappingURL=google-reviews.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google-reviews.js","sourceRoot":"","sources":["../src/google-reviews.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG,yCAAyC,CAAA;AACtF,MAAM,CAAC,MAAM,+BAA+B,GAC1C,qPAAqP,CAAA;AACvP,MAAM,CAAC,MAAM,6BAA6B,GAAG,aAAa,CAAA;AAC1D,MAAM,CAAC,MAAM,4BAA4B,GAAG,aAAa,CAAA;AACzD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAA;AAgHjD,MAAM,WAAW,GAAkC;IACjD,KAAK,EAAE,6BAA6B;IACpC,IAAI,EAAE,4BAA4B;CACnC,CAAA;AAED,MAAM,UAAU,2CAA2C,CACzD,MAA2C,EAC3C,aAA6B;IAE7B,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAA;IACtE,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,MAAM;QACN,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,WAAW;KACZ,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAgC;IACvD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAA;IAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAgC;IAC5E,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAE9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAgC;IACvD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;QACnF,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAA;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAgC;IACtD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/F,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAgC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,gCAAgC,CAAA;IACjG,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,gCAAgC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACnF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAkC;IACvE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAA;IAE9B,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,OAG9C;IACC,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACjE,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IAED,OAAO;QACL,GAAG,EAAE,GAAG,6BAA6B,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;QAChF,OAAO,EAAE;YACP,gBAAgB,EAAE,MAAM;YACxB,0EAA0E;YAC1E,wEAAwE;YACxE,kEAAkE;YAClE,kBAAkB,EAAE,+BAA+B;SACpD;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAkC;IAElC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA;IACzE,MAAM,SAAS,GAAG,6BAA6B,CAAC,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;IAC9E,MAAM,cAAc,GAAG,6BAA6B,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAA;IACxF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC7C,MAAM,8BAA8B,GAAG,eAAe,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAA;IAC7F,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACvD,MAAM,aAAa,GAAG,6BAA6B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACzE,MAAM,cAAc,GAAG,6BAA6B,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAC3E,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE/C,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,UAAU;QACV,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,IAAI;QACJ,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,8BAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,aAAa;QACb,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mCAAmC,CACjD,QAAuC,EACvC,UAGI,EAAE;IAEN,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IAChE,MAAM,aAAa,GAAG,6BAA6B,CAAC,QAAQ,CAAC,aAAa,CAAC;QACzE,6BAA6B,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC9D,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;IAEhE,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO,2CAA2C,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;IACvF,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;SACrC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,MAAM,EAA+B,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAChE,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IACjD,MAAM,sBAAsB,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;SACzD,GAAG,CAAC,CAAC,IAAI,EAAiC,EAAE;QAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC/C,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC1B,MAAM,WAAW,GAAG,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACnE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAA;IAC9D,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAAI,EAAkC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAElE,OAAO;QACL,MAAM,EAAE,WAAW;QACnB,YAAY;QACZ,aAAa;QACb,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO;QACP,sBAAsB;QACtB,WAAW;KACZ,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,OAAuC;IAEvC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAEvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,2CAA2C,CAAC,iBAAiB,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACtG,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,2CAA2C,CAAC,kBAAkB,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACvG,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,8BAA8B,CAAC;YAC7C,MAAM;YACN,OAAO;SACR,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAA;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAA;QAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;QACtF,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAA;QAC/D,IAAI,QAAkB,CAAA;QACtB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;gBACpC,KAAK,EAAE,UAAU;gBACjB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAA;QACJ,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,2CAA2C,CAAC,WAAW,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;QAChG,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkC,CAAA;QAErE,OAAO,mCAAmC,CAAC,IAAI,EAAE;YAC/C,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;SACrD,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,2CAA2C,CAAC,WAAW,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAChG,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"google-reviews.js","sourceRoot":"","sources":["../src/google-reviews.ts"],"names":[],"mappings":"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"}
|
package/dist/locations.d.ts
CHANGED
|
@@ -1,55 +1,21 @@
|
|
|
1
|
-
import type { BrandlabFact, BrandlabProofReference } from './business.js';
|
|
2
1
|
/**
|
|
3
|
-
* Location
|
|
4
|
-
* (Brandlab Location Pages Standard §5, §7).
|
|
2
|
+
* Location publication and geography-registry contracts.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* every project derives draft/noindex/indexable the same way. The registry
|
|
9
|
-
* types describe `standards/registry/sydney-geography.json` and the committed
|
|
10
|
-
* snapshots client repos validate against.
|
|
4
|
+
* Brandlab owns route correctness and shared geography. Projects own their
|
|
5
|
+
* content, evidence and publication decisions.
|
|
11
6
|
*/
|
|
12
|
-
export type ProgrammaticIndexationStatus = 'draft' | 'noindex' | 'indexable';
|
|
13
|
-
export type ProgrammaticQualityTier = 'core' | 'supporting' | 'experimental';
|
|
14
|
-
export type ProgrammaticContentDepth = 'thin' | 'standard' | 'strong';
|
|
15
|
-
export type ProgrammaticProofLevel = 'none' | 'council' | 'review' | 'project';
|
|
16
|
-
export type ProgrammaticSearchDemand = 'unknown' | 'low' | 'medium' | 'high';
|
|
17
|
-
/** Suburb publication tier (standard §7.2). */
|
|
18
|
-
export type SuburbTier = 'core' | 'secondary' | 'edge';
|
|
19
|
-
export interface ProgrammaticQualitySignals {
|
|
20
|
-
indexationStatus: ProgrammaticIndexationStatus;
|
|
21
|
-
qualityTier: ProgrammaticQualityTier;
|
|
22
|
-
contentDepth: ProgrammaticContentDepth;
|
|
23
|
-
proofLevel: ProgrammaticProofLevel;
|
|
24
|
-
proofAssetIds: readonly string[];
|
|
25
|
-
searchDemand: ProgrammaticSearchDemand;
|
|
26
|
-
uniqueLocalSignals: readonly string[];
|
|
27
|
-
qualityNotes: readonly string[];
|
|
28
|
-
}
|
|
29
|
-
export type BrandlabLocationQualityInput = Omit<ProgrammaticQualitySignals, 'indexationStatus' | 'proofLevel'>;
|
|
30
|
-
export type BrandlabLocationProofFact = BrandlabFact<readonly BrandlabProofReference[]>;
|
|
31
7
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
8
|
+
* The preferred location publication contract. A project owner explicitly
|
|
9
|
+
* decides whether a route is indexable after checking customer usefulness,
|
|
10
|
+
* geographic correctness and available evidence.
|
|
34
11
|
*/
|
|
35
|
-
export
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
export declare function resolveLocationRouteIndexing(quality: ProgrammaticQualitySignals | 'unknown' | null | undefined): 'index' | 'noindex-follow';
|
|
40
|
-
export interface IndexableProgrammaticRecord {
|
|
41
|
-
indexationStatus: ProgrammaticIndexationStatus;
|
|
12
|
+
export interface BrandlabLocationRouteDecision {
|
|
13
|
+
indexing: 'index' | 'noindex-follow';
|
|
14
|
+
rationale: string;
|
|
15
|
+
reviewedAt?: string;
|
|
42
16
|
}
|
|
43
|
-
export declare function
|
|
44
|
-
|
|
45
|
-
};
|
|
46
|
-
export declare function getProofLevelFromAssetIds(proofAssetIds: readonly string[], businessProof: BrandlabLocationProofFact): ProgrammaticProofLevel;
|
|
47
|
-
/**
|
|
48
|
-
* The portfolio indexation gate: thin content or missing proof can never be
|
|
49
|
-
* invited into the index; fewer than three unique local signals keeps a page
|
|
50
|
-
* in draft (standard §7.1).
|
|
51
|
-
*/
|
|
52
|
-
export declare function resolveIndexationStatus({ contentDepth, proofLevel, uniqueLocalSignals, }: Pick<ProgrammaticQualitySignals, 'contentDepth' | 'proofLevel' | 'uniqueLocalSignals'>): ProgrammaticIndexationStatus;
|
|
17
|
+
export declare function defineLocationRouteDecision<const T extends BrandlabLocationRouteDecision>(input: T): T;
|
|
18
|
+
export declare function resolveLocationRouteIndexing(decision: BrandlabLocationRouteDecision | null | undefined): 'index' | 'noindex-follow';
|
|
53
19
|
export interface RegistryRegion {
|
|
54
20
|
slug: string;
|
|
55
21
|
name: string;
|
package/dist/locations.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locations.d.ts","sourceRoot":"","sources":["../src/locations.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"locations.d.ts","sourceRoot":"","sources":["../src/locations.ts"],"names":[],"mappings":"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"}
|
package/dist/locations.js
CHANGED
|
@@ -1,118 +1,26 @@
|
|
|
1
|
-
const QUALITY_TIERS = new Set(['core', 'supporting', 'experimental']);
|
|
2
|
-
const CONTENT_DEPTHS = new Set(['thin', 'standard', 'strong']);
|
|
3
|
-
const SEARCH_DEMAND_LEVELS = new Set([
|
|
4
|
-
'unknown',
|
|
5
|
-
'low',
|
|
6
|
-
'medium',
|
|
7
|
-
'high',
|
|
8
|
-
]);
|
|
9
|
-
const PROOF_ASSET_ID_PATTERN = /^(?:project|region-review|council-source):[a-z0-9][a-z0-9./:_-]*$/;
|
|
10
|
-
const LOCATION_PROOF_RULES = {
|
|
11
|
-
project: { namespace: 'project:', level: 'project' },
|
|
12
|
-
review: { namespace: 'region-review:', level: 'review' },
|
|
13
|
-
'external-source': { namespace: 'council-source:', level: 'council' },
|
|
14
|
-
};
|
|
15
|
-
function assertLocationQualityInput(input) {
|
|
16
|
-
if (!QUALITY_TIERS.has(input.qualityTier)) {
|
|
17
|
-
throw new Error(`Unsupported location qualityTier "${input.qualityTier}".`);
|
|
18
|
-
}
|
|
19
|
-
if (!CONTENT_DEPTHS.has(input.contentDepth)) {
|
|
20
|
-
throw new Error(`Unsupported location contentDepth "${input.contentDepth}".`);
|
|
21
|
-
}
|
|
22
|
-
if (!SEARCH_DEMAND_LEVELS.has(input.searchDemand)) {
|
|
23
|
-
throw new Error(`Unsupported location searchDemand "${input.searchDemand}".`);
|
|
24
|
-
}
|
|
25
|
-
if (input.proofAssetIds.some((value) => !PROOF_ASSET_ID_PATTERN.test(value))) {
|
|
26
|
-
throw new Error('proofAssetIds must use a supported, non-empty proof namespace.');
|
|
27
|
-
}
|
|
28
|
-
if (new Set(input.proofAssetIds).size !== input.proofAssetIds.length) {
|
|
29
|
-
throw new Error('proofAssetIds must be unique.');
|
|
30
|
-
}
|
|
31
|
-
if (input.uniqueLocalSignals.some((value) => !value.trim())) {
|
|
32
|
-
throw new Error('uniqueLocalSignals cannot contain empty values.');
|
|
33
|
-
}
|
|
34
|
-
const normalizedSignals = input.uniqueLocalSignals.map((value) => value.trim().toLowerCase());
|
|
35
|
-
if (new Set(normalizedSignals).size !== normalizedSignals.length) {
|
|
36
|
-
throw new Error('uniqueLocalSignals must be unique after normalization.');
|
|
37
|
-
}
|
|
38
|
-
if (input.qualityNotes.some((value) => !value.trim())) {
|
|
39
|
-
throw new Error('qualityNotes cannot contain empty values.');
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
1
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
2
|
+
* Location publication and geography-registry contracts.
|
|
3
|
+
*
|
|
4
|
+
* Brandlab owns route correctness and shared geography. Projects own their
|
|
5
|
+
* content, evidence and publication decisions.
|
|
45
6
|
*/
|
|
46
|
-
export function
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
...input,
|
|
51
|
-
proofLevel,
|
|
52
|
-
indexationStatus: resolveIndexationStatus({ ...input, proofLevel }),
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
export function resolveLocationRouteIndexing(quality) {
|
|
56
|
-
if (!quality || quality === 'unknown')
|
|
57
|
-
return 'noindex-follow';
|
|
58
|
-
assertLocationQualityInput(quality);
|
|
59
|
-
if (quality.proofAssetIds.length === 0 && quality.proofLevel !== 'none') {
|
|
60
|
-
throw new Error('Location quality proofLevel must be "none" when proofAssetIds is empty.');
|
|
7
|
+
export function defineLocationRouteDecision(input) {
|
|
8
|
+
if (input.indexing !== 'index' && input.indexing !== 'noindex-follow') {
|
|
9
|
+
throw new Error('Location route indexing must be "index" or "noindex-follow".');
|
|
61
10
|
}
|
|
62
|
-
if (
|
|
63
|
-
throw new Error('Location
|
|
11
|
+
if (!input.rationale.trim()) {
|
|
12
|
+
throw new Error('Location route decision requires a concise rationale.');
|
|
64
13
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
throw new Error('Location quality indexationStatus must be derived from its proof signals.');
|
|
14
|
+
if (input.reviewedAt && Number.isNaN(Date.parse(input.reviewedAt))) {
|
|
15
|
+
throw new Error('Location route decision reviewedAt must be a valid date.');
|
|
68
16
|
}
|
|
69
|
-
return
|
|
17
|
+
return input;
|
|
70
18
|
}
|
|
71
|
-
export function
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
export function getProofLevelFromAssetIds(proofAssetIds, businessProof) {
|
|
75
|
-
if (proofAssetIds.length === 0)
|
|
76
|
-
return 'none';
|
|
77
|
-
if (businessProof.status !== 'verified') {
|
|
78
|
-
throw new Error(`Location proofAssetIds require verified business.proof; received "${businessProof.status}".`);
|
|
79
|
-
}
|
|
80
|
-
const proofById = new Map(businessProof.value.map((proof) => [proof.id, proof]));
|
|
81
|
-
const levels = proofAssetIds.map((proofAssetId) => {
|
|
82
|
-
const proof = proofById.get(proofAssetId);
|
|
83
|
-
if (!proof) {
|
|
84
|
-
throw new Error(`Location proofAssetId "${proofAssetId}" is missing from verified business.proof.`);
|
|
85
|
-
}
|
|
86
|
-
const rule = LOCATION_PROOF_RULES[proof.kind];
|
|
87
|
-
if (!rule) {
|
|
88
|
-
throw new Error(`Location proofAssetId "${proofAssetId}" uses unsupported proof kind "${proof.kind}".`);
|
|
89
|
-
}
|
|
90
|
-
if (!proofAssetId.startsWith(rule.namespace)) {
|
|
91
|
-
throw new Error(`Location proofAssetId "${proofAssetId}" does not match proof kind "${proof.kind}".`);
|
|
92
|
-
}
|
|
93
|
-
return rule.level;
|
|
94
|
-
});
|
|
95
|
-
if (levels.includes('project')) {
|
|
96
|
-
return 'project';
|
|
97
|
-
}
|
|
98
|
-
if (levels.includes('review')) {
|
|
99
|
-
return 'review';
|
|
100
|
-
}
|
|
101
|
-
return 'council';
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* The portfolio indexation gate: thin content or missing proof can never be
|
|
105
|
-
* invited into the index; fewer than three unique local signals keeps a page
|
|
106
|
-
* in draft (standard §7.1).
|
|
107
|
-
*/
|
|
108
|
-
export function resolveIndexationStatus({ contentDepth, proofLevel, uniqueLocalSignals, }) {
|
|
109
|
-
if (contentDepth === 'thin' || proofLevel === 'none') {
|
|
110
|
-
return 'noindex';
|
|
111
|
-
}
|
|
112
|
-
if (uniqueLocalSignals.length < 3) {
|
|
113
|
-
return 'draft';
|
|
19
|
+
export function resolveLocationRouteIndexing(decision) {
|
|
20
|
+
if (!decision) {
|
|
21
|
+
throw new Error('Location route decision is required.');
|
|
114
22
|
}
|
|
115
|
-
return
|
|
23
|
+
return defineLocationRouteDecision(decision).indexing;
|
|
116
24
|
}
|
|
117
25
|
/** Canonical Brandlab slugify — identical to the benchmark implementation. */
|
|
118
26
|
export function toLocationSlug(name) {
|
package/dist/locations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locations.js","sourceRoot":"","sources":["../src/locations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"locations.js","sourceRoot":"","sources":["../src/locations.ts"],"names":[],"mappings":"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"}
|