@brandlab-digital/site-next 1.0.0-rc.2 → 1.0.0-rc.21
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 +23 -0
- package/dist/analytics.d.ts.map +1 -1
- package/dist/analytics.js +61 -0
- package/dist/analytics.js.map +1 -1
- package/dist/blog.d.ts.map +1 -1
- package/dist/blog.js +5 -2
- package/dist/blog.js.map +1 -1
- package/dist/contact/attribution.d.ts +11 -0
- package/dist/contact/attribution.d.ts.map +1 -0
- package/dist/contact/attribution.js +145 -0
- package/dist/contact/attribution.js.map +1 -0
- package/dist/contact/client.d.ts +7 -1
- package/dist/contact/client.d.ts.map +1 -1
- package/dist/contact/client.js +32 -1
- package/dist/contact/client.js.map +1 -1
- package/dist/contact/context.d.ts +4 -0
- package/dist/contact/context.d.ts.map +1 -1
- package/dist/contact/context.js +56 -7
- package/dist/contact/context.js.map +1 -1
- package/dist/contact/contract.d.ts +3 -4
- package/dist/contact/contract.d.ts.map +1 -1
- package/dist/contact/contract.js +3 -5
- package/dist/contact/contract.js.map +1 -1
- package/dist/contact/email.d.ts +1 -0
- package/dist/contact/email.d.ts.map +1 -1
- package/dist/contact/email.js +137 -54
- package/dist/contact/email.js.map +1 -1
- package/dist/contact/image-sanitizer.d.ts +1 -1
- package/dist/contact/image-sanitizer.d.ts.map +1 -1
- package/dist/contact/image-sanitizer.js +12 -17
- package/dist/contact/image-sanitizer.js.map +1 -1
- package/dist/contact/index.d.ts +1 -0
- package/dist/contact/index.d.ts.map +1 -1
- package/dist/contact/index.js +2 -0
- package/dist/contact/index.js.map +1 -1
- package/dist/contact/production.d.ts +3 -1
- package/dist/contact/production.d.ts.map +1 -1
- package/dist/contact/production.js +31 -60
- package/dist/contact/production.js.map +1 -1
- package/dist/contact/resend.d.ts +1 -1
- package/dist/contact/resend.js +1 -1
- package/dist/contact/server-entry.d.ts +13 -0
- package/dist/contact/server-entry.d.ts.map +1 -0
- package/dist/contact/server-entry.js +13 -0
- package/dist/contact/server-entry.js.map +1 -0
- package/dist/contact/server.d.ts.map +1 -1
- package/dist/contact/server.js +27 -28
- package/dist/contact/server.js.map +1 -1
- package/dist/contact/shared.d.ts +3 -6
- package/dist/contact/shared.d.ts.map +1 -1
- package/dist/contact/shared.js.map +1 -1
- package/dist/google-reviews-client.d.ts +20 -0
- package/dist/google-reviews-client.d.ts.map +1 -0
- package/dist/google-reviews-client.js +85 -0
- package/dist/google-reviews-client.js.map +1 -0
- package/dist/google-reviews-durable.d.ts +22 -0
- package/dist/google-reviews-durable.d.ts.map +1 -0
- package/dist/google-reviews-durable.js +81 -0
- package/dist/google-reviews-durable.js.map +1 -0
- package/dist/google-reviews-server.d.ts +58 -0
- package/dist/google-reviews-server.d.ts.map +1 -0
- package/dist/google-reviews-server.js +151 -0
- package/dist/google-reviews-server.js.map +1 -0
- package/dist/google-reviews-ui.d.ts +599 -0
- package/dist/google-reviews-ui.d.ts.map +1 -0
- package/dist/google-reviews-ui.js +188 -0
- package/dist/google-reviews-ui.js.map +1 -0
- package/dist/google-reviews.d.ts +4 -322
- package/dist/google-reviews.d.ts.map +1 -1
- package/dist/google-reviews.js +4 -252
- package/dist/google-reviews.js.map +1 -1
- package/dist/google-tag-plan.d.ts +19 -0
- package/dist/google-tag-plan.d.ts.map +1 -0
- package/dist/google-tag-plan.js +85 -0
- package/dist/google-tag-plan.js.map +1 -0
- package/dist/google-tag.d.ts +17 -0
- package/dist/google-tag.d.ts.map +1 -0
- package/dist/google-tag.js +18 -0
- package/dist/google-tag.js.map +1 -0
- package/dist/instrumentation-client.d.ts +2 -0
- package/dist/instrumentation-client.d.ts.map +1 -1
- package/dist/instrumentation-client.js +39 -3
- package/dist/instrumentation-client.js.map +1 -1
- package/dist/redis-rest.d.ts +12 -0
- package/dist/redis-rest.d.ts.map +1 -0
- package/dist/redis-rest.js +83 -0
- package/dist/redis-rest.js.map +1 -0
- package/package.json +29 -36
|
@@ -25,15 +25,15 @@ function assertSingleImage(metadata, expectedFormat) {
|
|
|
25
25
|
throw new Error('The uploaded file is not one supported still image.');
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
function outputFilename(filename
|
|
28
|
+
function outputFilename(filename) {
|
|
29
29
|
const stem = filename.replace(/\.[a-z0-9]+$/i, '');
|
|
30
30
|
if (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(stem)) {
|
|
31
31
|
throw new Error('The validated attachment filename is invalid.');
|
|
32
32
|
}
|
|
33
|
-
return `${stem}
|
|
33
|
+
return `${stem}.jpg`;
|
|
34
34
|
}
|
|
35
|
-
function outputPipeline(image
|
|
36
|
-
|
|
35
|
+
function outputPipeline(image) {
|
|
36
|
+
return image
|
|
37
37
|
.autoOrient()
|
|
38
38
|
.resize({
|
|
39
39
|
width: MAX_OUTPUT_DIMENSION,
|
|
@@ -41,10 +41,9 @@ function outputPipeline(image, hasAlpha) {
|
|
|
41
41
|
fit: 'inside',
|
|
42
42
|
withoutEnlargement: true,
|
|
43
43
|
})
|
|
44
|
-
.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
: normalized.jpeg({ quality: 85, progressive: true, mozjpeg: true });
|
|
44
|
+
.flatten({ background: '#ffffff' })
|
|
45
|
+
.timeout({ seconds: PROCESSING_TIMEOUT_SECONDS })
|
|
46
|
+
.jpeg({ quality: 85, progressive: true, mozjpeg: true });
|
|
48
47
|
}
|
|
49
48
|
async function sanitizeOne(attachment) {
|
|
50
49
|
const expectedFormat = expectedInputFormat(attachment.contentType);
|
|
@@ -56,7 +55,6 @@ async function sanitizeOne(attachment) {
|
|
|
56
55
|
const image = sharp(input, {
|
|
57
56
|
animated: false,
|
|
58
57
|
failOn: 'warning',
|
|
59
|
-
limitInputChannels: 4,
|
|
60
58
|
limitInputPixels: MAX_INPUT_PIXELS,
|
|
61
59
|
pages: 1,
|
|
62
60
|
sequentialRead: true,
|
|
@@ -64,14 +62,11 @@ async function sanitizeOne(attachment) {
|
|
|
64
62
|
});
|
|
65
63
|
const metadata = await image.metadata();
|
|
66
64
|
assertSingleImage(metadata, expectedFormat);
|
|
67
|
-
const
|
|
68
|
-
const { data, info } = await outputPipeline(image, hasAlpha).toBuffer({
|
|
65
|
+
const { data, info } = await outputPipeline(image).toBuffer({
|
|
69
66
|
resolveWithObject: true,
|
|
70
67
|
});
|
|
71
|
-
const outputType = hasAlpha ? 'image/png' : 'image/jpeg';
|
|
72
|
-
const extension = hasAlpha ? 'png' : 'jpg';
|
|
73
68
|
if (data.byteLength < 1 ||
|
|
74
|
-
info.format !==
|
|
69
|
+
info.format !== 'jpeg' ||
|
|
75
70
|
!Number.isSafeInteger(info.width) ||
|
|
76
71
|
!Number.isSafeInteger(info.height) ||
|
|
77
72
|
info.width < 1 ||
|
|
@@ -81,13 +76,13 @@ async function sanitizeOne(attachment) {
|
|
|
81
76
|
throw new Error('The uploaded image could not be normalised safely.');
|
|
82
77
|
}
|
|
83
78
|
return Object.freeze({
|
|
84
|
-
filename: outputFilename(attachment.filename
|
|
79
|
+
filename: outputFilename(attachment.filename),
|
|
85
80
|
content: new Uint8Array(data),
|
|
86
|
-
contentType:
|
|
81
|
+
contentType: 'image/jpeg',
|
|
87
82
|
});
|
|
88
83
|
}
|
|
89
84
|
/**
|
|
90
|
-
* The production image boundary for Contact Contract
|
|
85
|
+
* The production image boundary for Contact Contract v3. Every accepted image
|
|
91
86
|
* is fully decoded, bounded, auto-oriented and re-encoded without source
|
|
92
87
|
* metadata. Project code cannot replace this processor in production.
|
|
93
88
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-sanitizer.js","sourceRoot":"","sources":["../../src/contact/image-sanitizer.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,EAA6B,MAAM,OAAO,CAAA;AAMxD,MAAM,gBAAgB,GAAG,UAAU,CAAA;AACnC,MAAM,oBAAoB,GAAG,KAAK,CAAA;AAClC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAEpC,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,MAAM;IACpB,YAAY,EAAE,MAAM;CACZ,CAAC,CAAA;AAEX,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,OAAO,oBAAoB,CACzB,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAuC,CACtE,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAkB,EAAE,cAAsB;IACnE,IACE,QAAQ,CAAC,MAAM,KAAK,cAAc;QAClC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrC,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtC,CAAC,QAAQ,CAAC,KAAK;QACf,CAAC,QAAQ,CAAC,MAAM;QAChB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,EAC3B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IACxE,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB
|
|
1
|
+
{"version":3,"file":"image-sanitizer.js","sourceRoot":"","sources":["../../src/contact/image-sanitizer.ts"],"names":[],"mappings":"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"}
|
package/dist/contact/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './shared.js';
|
|
2
2
|
export * from './contract.js';
|
|
3
|
+
export { addContactSubmissionContext, createContactHttpSubmissionController, createContactSubmissionController, normalizeContactUploadFile, parseContactActionResult, shouldTrackContactResult, trackDeliveredContactResult, type ContactClientSubmissionContext, type ContactHttpSubmissionControllerOptions, type ContactSubmissionController, type ContactSubmissionControllerOptions, type ContactSubmissionPhase, type ContactSubmissionState, } from './client.js';
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contact/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contact/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,OAAO,EACL,2BAA2B,EAC3B,qCAAqC,EACrC,iCAAiC,EACjC,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,8BAA8B,EACnC,KAAK,sCAAsC,EAC3C,KAAK,2BAA2B,EAChC,KAAK,kCAAkC,EACvC,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,aAAa,CAAA"}
|
package/dist/contact/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
export * from './shared.js';
|
|
2
3
|
export * from './contract.js';
|
|
4
|
+
export { addContactSubmissionContext, createContactHttpSubmissionController, createContactSubmissionController, normalizeContactUploadFile, parseContactActionResult, shouldTrackContactResult, trackDeliveredContactResult, } from './client.js';
|
|
3
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contact/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contact/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,OAAO,EACL,2BAA2B,EAC3B,qCAAqC,EACrC,iCAAiC,EACjC,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAO5B,MAAM,aAAa,CAAA"}
|
|
@@ -4,7 +4,9 @@ import { createContactDefinitionFromContract, type ContactRuntimeDefinitionOptio
|
|
|
4
4
|
import { type ResendContactSend } from './resend.js';
|
|
5
5
|
import { createContactRouteHandler } from './route.js';
|
|
6
6
|
import { type ContactBotGuard } from './shared.js';
|
|
7
|
-
export declare const BRANDLAB_PRODUCTION_CONTACT_RUNTIME: "brandlab-contact-production-
|
|
7
|
+
export declare const BRANDLAB_PRODUCTION_CONTACT_RUNTIME: "brandlab-contact-production-v3";
|
|
8
|
+
export declare const BRANDLAB_VERCEL_FUNCTION_BODY_LIMIT_BYTES = 4500000;
|
|
9
|
+
export declare const BRANDLAB_VERCEL_CONTACT_ATTACHMENT_LIMIT_BYTES = 4000000;
|
|
8
10
|
export interface BrandlabProductionContactEnvironmentNames {
|
|
9
11
|
contextSecret: string;
|
|
10
12
|
resendApiKey: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production.d.ts","sourceRoot":"","sources":["../../src/contact/production.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAEL,KAAK,uBAAuB,
|
|
1
|
+
{"version":3,"file":"production.d.ts","sourceRoot":"","sources":["../../src/contact/production.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAEL,KAAK,uBAAuB,EAE7B,MAAM,qCAAqC,CAAA;AAI5C,OAAO,EAAE,mCAAmC,EAAE,KAAK,+BAA+B,EAAE,MAAM,eAAe,CAAA;AAMzG,OAAO,EAAwC,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAA;AAMpB,eAAO,MAAM,mCAAmC,EAAG,gCAAyC,CAAA;AAC5F,eAAO,MAAM,yCAAyC,UAAY,CAAA;AAClE,eAAO,MAAM,8CAA8C,UAAY,CAAA;AAMvE,MAAM,WAAW,yCAAyC;IACxD,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,kFAAkF;IAClF,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,MAAM,6BAA6B,GACrC,YAAY,GACZ,SAAS,GACT,aAAa,GACb,MAAM,CAAA;AAEV,MAAM,MAAM,0CAA0C,GAAG,IAAI,CAC3D,+BAA+B,EAC/B,gBAAgB,GAAG,gBAAgB,CACpC,CAAA;AAED,MAAM,WAAW,uCAAuC;IACtD,QAAQ,EAAE,uBAAuB,CAAA;IACjC,OAAO,EAAE,0CAA0C,CAAA;IACnD,oFAAoF;IACpF,gBAAgB,EAAE,yCAAyC,CAAA;IAC3D,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;IACzD,4DAA4D;IAC5D,cAAc,CAAC,EAAE,6BAA6B,CAAA;IAC9C,2EAA2E;IAC3E,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAA;IACvD,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IACtB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,gCAAgC;IAC/C,WAAW,EAAE,OAAO,mCAAmC,CAAA;IACvD,uEAAuE;IACvE,UAAU,EAAE,UAAU,CAAC,OAAO,mCAAmC,CAAC,CAAA;IAClE,mBAAmB,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;IACjE,8EAA8E;IAC9E,mBAAmB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC7D;AAoMD;;;;GAIG;AACH,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,uCAAuC,GAC/C,gCAAgC,CAmKlC"}
|
|
@@ -9,11 +9,14 @@ import { createContractResendContactTransport } from './resend.js';
|
|
|
9
9
|
import { createContactRouteHandler } from './route.js';
|
|
10
10
|
import { createContactSubmissionId, } from './shared.js';
|
|
11
11
|
import { createBrandlabContactImageSanitizer } from './image-sanitizer.js';
|
|
12
|
-
|
|
12
|
+
import { getContactRequestLimits } from './server.js';
|
|
13
|
+
import { normalizeContactAttributionSummary } from './attribution.js';
|
|
14
|
+
import { createBrandlabUpstashRedisEvalClient } from '../redis-rest.js';
|
|
15
|
+
export const BRANDLAB_PRODUCTION_CONTACT_RUNTIME = 'brandlab-contact-production-v3';
|
|
16
|
+
export const BRANDLAB_VERCEL_FUNCTION_BODY_LIMIT_BYTES = 4_500_000;
|
|
17
|
+
export const BRANDLAB_VERCEL_CONTACT_ATTACHMENT_LIMIT_BYTES = 4_000_000;
|
|
13
18
|
const ENVIRONMENT_NAME_PATTERN = /^[A-Z][A-Z0-9_]*$/;
|
|
14
19
|
const DEFAULT_CONTEXT_BODY_BYTES = 2_048;
|
|
15
|
-
const REDIS_REQUEST_TIMEOUT_MS = 5_000;
|
|
16
|
-
const REDIS_RESPONSE_MAXIMUM_BYTES = 64 * 1_024;
|
|
17
20
|
const VERCEL_TRUSTED_IP_HEADER = 'x-vercel-forwarded-for';
|
|
18
21
|
function assertEnvironmentName(value, field) {
|
|
19
22
|
if (!value || !ENVIRONMENT_NAME_PATTERN.test(value)) {
|
|
@@ -76,60 +79,6 @@ function normalizeDeploymentOrigin(value, field, mode) {
|
|
|
76
79
|
}
|
|
77
80
|
return parsed.origin;
|
|
78
81
|
}
|
|
79
|
-
function createUpstashRedisEvalClient(options) {
|
|
80
|
-
const endpoint = normalizeHttpsOrigin(options.url, 'Redis REST URL');
|
|
81
|
-
if (options.token.length < 16 ||
|
|
82
|
-
options.token.length > 8_192 ||
|
|
83
|
-
/[\u0000-\u001f\u007f]/.test(options.token)) {
|
|
84
|
-
throw new Error('Redis REST token is invalid.');
|
|
85
|
-
}
|
|
86
|
-
if (typeof options.fetcher !== 'function') {
|
|
87
|
-
throw new Error('A Redis REST fetch implementation is required.');
|
|
88
|
-
}
|
|
89
|
-
return {
|
|
90
|
-
async eval(script, keys, args) {
|
|
91
|
-
const controller = new AbortController();
|
|
92
|
-
const timeout = globalThis.setTimeout(() => controller.abort(), REDIS_REQUEST_TIMEOUT_MS);
|
|
93
|
-
try {
|
|
94
|
-
const response = await options.fetcher(endpoint, {
|
|
95
|
-
method: 'POST',
|
|
96
|
-
headers: {
|
|
97
|
-
authorization: `Bearer ${options.token}`,
|
|
98
|
-
'content-type': 'application/json',
|
|
99
|
-
},
|
|
100
|
-
body: JSON.stringify(['EVAL', script, keys.length, ...keys, ...args]),
|
|
101
|
-
cache: 'no-store',
|
|
102
|
-
signal: controller.signal,
|
|
103
|
-
});
|
|
104
|
-
if (!response.ok)
|
|
105
|
-
throw new Error('The durable contact store is unavailable.');
|
|
106
|
-
const rawPayload = await response.text();
|
|
107
|
-
if (new TextEncoder().encode(rawPayload).byteLength >
|
|
108
|
-
REDIS_RESPONSE_MAXIMUM_BYTES) {
|
|
109
|
-
throw new Error('The durable contact store returned an invalid result.');
|
|
110
|
-
}
|
|
111
|
-
let payload;
|
|
112
|
-
try {
|
|
113
|
-
payload = JSON.parse(rawPayload);
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
throw new Error('The durable contact store returned an invalid result.');
|
|
117
|
-
}
|
|
118
|
-
if (!payload || typeof payload !== 'object' || Array.isArray(payload)) {
|
|
119
|
-
throw new Error('The durable contact store returned an invalid result.');
|
|
120
|
-
}
|
|
121
|
-
const record = payload;
|
|
122
|
-
if (record.error || !Object.prototype.hasOwnProperty.call(record, 'result')) {
|
|
123
|
-
throw new Error('The durable contact store returned an invalid result.');
|
|
124
|
-
}
|
|
125
|
-
return record.result;
|
|
126
|
-
}
|
|
127
|
-
finally {
|
|
128
|
-
globalThis.clearTimeout(timeout);
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
82
|
function safeJsonResponse(body, status) {
|
|
134
83
|
return Response.json(body, {
|
|
135
84
|
status,
|
|
@@ -179,14 +128,30 @@ function createContextRouteHandler(options) {
|
|
|
179
128
|
return safeJsonResponse({ ok: false }, 400);
|
|
180
129
|
}
|
|
181
130
|
const record = input;
|
|
182
|
-
if (Object.keys(record).some((key) => ![
|
|
131
|
+
if (Object.keys(record).some((key) => ![
|
|
132
|
+
'pagePath',
|
|
133
|
+
'pageLabel',
|
|
134
|
+
'initialLandingPath',
|
|
135
|
+
'visitSource',
|
|
136
|
+
'visitSourceDetail',
|
|
137
|
+
].includes(key)) ||
|
|
183
138
|
typeof record.pagePath !== 'string' ||
|
|
184
|
-
(record.pageLabel !== undefined && typeof record.pageLabel !== 'string')
|
|
139
|
+
(record.pageLabel !== undefined && typeof record.pageLabel !== 'string') ||
|
|
140
|
+
typeof record.initialLandingPath !== 'string' ||
|
|
141
|
+
typeof record.visitSource !== 'string' ||
|
|
142
|
+
(record.visitSourceDetail !== undefined && typeof record.visitSourceDetail !== 'string')) {
|
|
185
143
|
return safeJsonResponse({ ok: false }, 400);
|
|
186
144
|
}
|
|
187
145
|
try {
|
|
188
146
|
const pagePath = normalizeBrandlabRoutePath(record.pagePath);
|
|
189
147
|
const pageLabel = record.pageLabel?.trim();
|
|
148
|
+
const attribution = normalizeContactAttributionSummary({
|
|
149
|
+
initialLandingPath: record.initialLandingPath,
|
|
150
|
+
visitSource: record.visitSource,
|
|
151
|
+
...(record.visitSourceDetail
|
|
152
|
+
? { visitSourceDetail: record.visitSourceDetail }
|
|
153
|
+
: {}),
|
|
154
|
+
});
|
|
190
155
|
if (pageLabel !== undefined &&
|
|
191
156
|
(!pageLabel || pageLabel.length > 160 || /[\u0000-\u001f\u007f]/.test(pageLabel))) {
|
|
192
157
|
return safeJsonResponse({ ok: false }, 400);
|
|
@@ -198,6 +163,7 @@ function createContextRouteHandler(options) {
|
|
|
198
163
|
origin,
|
|
199
164
|
pagePath,
|
|
200
165
|
...(pageLabel ? { pageLabel } : {}),
|
|
166
|
+
...attribution,
|
|
201
167
|
});
|
|
202
168
|
return safeJsonResponse({ clientSubmissionId, signedContext }, 200);
|
|
203
169
|
}
|
|
@@ -304,7 +270,12 @@ export function createBrandlabProductionContactRuntime(options) {
|
|
|
304
270
|
: {}),
|
|
305
271
|
};
|
|
306
272
|
const definition = createContactDefinitionFromContract(contract, runtimeOptions);
|
|
307
|
-
|
|
273
|
+
if (contract.attachments.mode !== 'none' &&
|
|
274
|
+
getContactRequestLimits(definition).maxRequestBytes >
|
|
275
|
+
BRANDLAB_VERCEL_FUNCTION_BODY_LIMIT_BYTES) {
|
|
276
|
+
throw new Error(`The production contact request envelope must not exceed ${BRANDLAB_VERCEL_FUNCTION_BODY_LIMIT_BYTES} bytes.`);
|
|
277
|
+
}
|
|
278
|
+
const redis = createBrandlabUpstashRedisEvalClient({
|
|
308
279
|
url: redisRestUrl,
|
|
309
280
|
token: redisRestToken,
|
|
310
281
|
fetcher: options.fetcher ?? fetch,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production.js","sourceRoot":"","sources":["../../src/contact/production.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EACL,qBAAqB,GAEtB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAA;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,mCAAmC,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EAAE,mCAAmC,EAAwC,MAAM,eAAe,CAAA;AACzG,OAAO,EACL,sCAAsC,EACtC,6BAA6B,EAC7B,iCAAiC,GAElC,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oCAAoC,EAA0B,MAAM,aAAa,CAAA;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EACL,yBAAyB,GAE1B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAA;AAE1E,MAAM,CAAC,MAAM,mCAAmC,GAAG,gCAAyC,CAAA;AAE5F,MAAM,wBAAwB,GAAG,mBAAmB,CAAA;AACpD,MAAM,0BAA0B,GAAG,KAAK,CAAA;AACxC,MAAM,wBAAwB,GAAG,KAAK,CAAA;AACtC,MAAM,4BAA4B,GAAG,EAAE,GAAG,KAAK,CAAA;AAC/C,MAAM,wBAAwB,GAAG,wBAAwB,CAAA;AAgDzD,SAAS,qBAAqB,CAAC,KAAyB,EAAE,KAAa;IACrE,IAAI,CAAC,KAAK,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,wCAAwC,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAAyD,EACzD,IAAY;IAEZ,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAC/B,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,MAAM,GAAG,KAAK;QACpB,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,EACnC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,kBAAkB,CAAC,CAAA;IAClF,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa,EAAE,KAAa;IACxD,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAA;IACpE,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,4CAA4C,CAAC,CAAA;IACvE,CAAC;IACD,IACE,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAC5B,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ,KAAK,GAAG;QACvB,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,IAAI;QACX,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC9B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,4CAA4C,CAAC,CAAA;IACvE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAA;AACtB,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAa,EACb,KAAa,EACb,IAAmC;IAEnC,MAAM,SAAS,GACb,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;IAC3E,IAAI,MAAW,CAAA;IACf,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mBAAmB,IAAI,gBAAgB,CAAC,CAAA;IAClE,CAAC;IACD,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAA;IAClE,MAAM,aAAa,GAAG,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAA;IACxE,MAAM,cAAc,GAClB,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,MAAM,CAAC;QAC3C,MAAM,CAAC,QAAQ,KAAK,OAAO;QAC3B,CAAC,MAAM,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAA;IACtE,IACE,CAAC,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC;QACnC,CAAC,WAAW;QACZ,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ,KAAK,GAAG;QACvB,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,IAAI,EACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mBAAmB,IAAI,gBAAgB,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAA;AACtB,CAAC;AAED,SAAS,4BAA4B,CAAC,OAIrC;IACC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IACpE,IACE,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK;QAC5B,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IACD,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI;YAC3B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;YACxC,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CACnC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EACxB,wBAAwB,CACzB,CAAA;YACD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC/C,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;wBACxC,cAAc,EAAE,kBAAkB;qBACnC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;oBACrE,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAA;gBACF,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;gBAC9E,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACxC,IACE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,UAAU;oBAC/C,4BAA4B,EAC5B,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;gBAC1E,CAAC;gBACD,IAAI,OAAgB,CAAA;gBACpB,IAAI,CAAC;oBACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;gBAClC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;gBAC1E,CAAC;gBACD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;gBAC1E,CAAC;gBACD,MAAM,MAAM,GAAG,OAAkC,CAAA;gBACjD,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC5E,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;gBAC1E,CAAC;gBACD,OAAO,MAAM,CAAC,MAAM,CAAA;YACtB,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAa,EAAE,MAAc;IACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;QACzB,MAAM;QACN,OAAO,EAAE;YACP,eAAe,EAAE,qBAAqB;YACtC,MAAM,EAAE,UAAU;YAClB,wBAAwB,EAAE,SAAS;SACpC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,OAUlC;IACC,OAAO,KAAK,EAAE,OAAgB,EAAE,EAAE;QAChC,IAAI,CAAC,CAAC,OAAO,YAAY,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;YAC7E,OAAO,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC/F,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QACpD,IACE,CAAC,MAAM;YACP,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;YACnC,WAAW,KAAK,kBAAkB;YAClC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YACxC,CAAC,MAAM;YACP,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,0BAA0B,EAC3C,CAAC;YACD,OAAO,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,OAAe,CAAA;QACnB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;QACD,IACE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC;YAC/D,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,0BAA0B,EACzE,CAAC;YACD,OAAO,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,KAAc,CAAA;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,MAAM,GAAG,KAAgC,CAAA;QAC/C,IACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC3E,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACnC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,EACxE,CAAC;YACD,OAAO,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAA;YAC1C,IACE,SAAS,KAAK,SAAS;gBACvB,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EACjF,CAAC;gBACD,OAAO,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;YAC7C,CAAC;YACD,MAAM,kBAAkB,GAAG,yBAAyB,EAAE,CAAA;YACtD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;gBACxC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,kBAAkB;gBAClB,MAAM;gBACN,QAAQ;gBACR,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC,CAAC,CAAA;YACF,OAAO,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,aAAa,EAAE,EAAE,GAAG,CAAC,CAAA;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,gBAAgB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sCAAsC,CACpD,OAAgD;IAEhD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAA;IACzE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,IAAI,SAAS,CAAC,oDAAoD,CAAC,CAAA;IAC3E,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,YAAY,CAAA;IAC7D,IAAI,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxD,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;IACD,IACE,gBAAgB,IAAI,OAAO,CAAC,OAAO;QACnC,gBAAgB,IAAI,OAAO,CAAC,OAAO,EACnC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAA;IAC9F,CAAC;IACD,IACE,OAAO,CAAC,wBAAwB,KAAK,SAAS;QAC9C,OAAO,CAAC,wBAAwB,KAAK,wBAAwB,EAC7D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;IACtF,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,EAAE,aAAa,EAAE,eAAe,CAAC;QAC9F,YAAY,EAAE,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,EAAE,YAAY,EAAE,cAAc,CAAC;QAC3F,YAAY,EAAE,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,EAAE,YAAY,EAAE,cAAc,CAAC;QAC3F,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,CAAC;QACjG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB;YAC5C,CAAC,CAAC,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE;YAC5G,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IACD,MAAM,aAAa,GAAG;QACpB,KAAK,CAAC,aAAa;QACnB,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,cAAc;QACpB,QAAQ,CAAC,QAAQ,CAAC,YAAY;QAC9B,QAAQ,CAAC,QAAQ,CAAC,SAAS;QAC3B,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAA;IACD,IAAI,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;IAC3F,CAAC;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAA;IAC7C,MAAM,aAAa,GAAG,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;IAC3E,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IACzE,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;IACzE,MAAM,cAAc,GAAG,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC7E,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;IAChE,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC7D,IACE,aAAa,KAAK,YAAY;QAC9B,aAAa,KAAK,cAAc;QAChC,YAAY,KAAK,cAAc,EAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;IACpF,CAAC;IACD,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAChF,MAAM,qBAAqB,GAAG,KAAK,CAAC,gBAAgB;QAClD,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACrC,CAAC,CAAC,SAAS,CAAA;IACb,IAAI,gBAAoC,CAAA;IACxC,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;QACpC,IAAI,qBAAqB,EAAE,CAAC;YAC1B,gBAAgB,GAAG,oBAAoB,CAAC,qBAAqB,EAAE,KAAK,CAAC,gBAAiB,CAAC,CAAA;YACvF,IAAI,gBAAgB,KAAK,eAAe,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;YAChF,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,kEAAkE,CAAC,CAAA;QACtG,CAAC;QACD,gBAAgB,GAAG,yBAAyB,CAC1C,qBAAqB,EACrB,KAAK,CAAC,gBAAgB,EACtB,cAAc,CACf,CAAA;IACH,CAAC;IACD,IAAI,cAAc,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAA;IAC3F,CAAC;IAED,MAAM,cAAc,GAAoC;QACtD,GAAG,OAAO,CAAC,OAAO;QAClB,cAAc;QACd,GAAG,CAAC,gBAAgB,IAAI,gBAAgB,KAAK,eAAe;YAC1D,CAAC,CAAC;gBACE,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;oBACjC,gBAAgB;iBACjB,CAAC,CAAC;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IACD,MAAM,UAAU,GAAG,mCAAmC,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAA;IAChF,MAAM,KAAK,GAAG,4BAA4B,CAAC;QACzC,GAAG,EAAE,YAAY;QACjB,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;KAClC,CAAC,CAAA;IACF,MAAM,YAAY,GAAG,mCAAmC,CAAC;QACvD,MAAM,EAAE,aAAa;QACrB,cAAc;QACd,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iCAAiC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IACxF,MAAM,WAAW,GAAG,6BAA6B,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAC1F,MAAM,YAAY,GAAG,sCAAsC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IACpG,MAAM,SAAS,GAAG,oCAAoC,CAAC;QACrD,QAAQ;QACR,WAAW;QACX,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;KAC7C,CAAC,CAAA;IACF,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;QACpD,UAAU;QACV,SAAS;QACT,KAAK;QACL,WAAW;QACX,eAAe,EAAE,YAAY;QAC7B,cAAc,EAAE,YAAY,CAAC,cAAc;QAC3C,aAAa,EAAE,YAAY,CAAC,aAAa;QACzC,YAAY;QACZ,GAAG,CAAC,UAAU,CAAC,WAAW;YACxB,CAAC,CAAC,EAAE,mBAAmB,EAAE,mCAAmC,EAAE,EAAE;YAChE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,wBAAwB,EAAE,wBAAwB;QAClD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC7B,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM;QAClC,GAAG,CAAC,UAAU,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;KAC7E,CAAC,CAAA;IACF,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;QACpD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,cAAc;QACd,KAAK,EAAE,YAAY,CAAC,KAAK;KAC1B,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,mCAAmC;QAChD,UAAU;QACV,mBAAmB;QACnB,mBAAmB;KACpB,CAAC,CAAA;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"production.js","sourceRoot":"","sources":["../../src/contact/production.ts"],"names":[],"mappings":"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"}
|
package/dist/contact/resend.d.ts
CHANGED
|
@@ -44,6 +44,6 @@ export interface ContractResendContactTransportOptions {
|
|
|
44
44
|
*/
|
|
45
45
|
export declare function encodeBrandlabEntityIdForResendTag(projectId: string): string;
|
|
46
46
|
export declare function createResendContactTransport(options: ResendContactTransportOptions): ContactTransport;
|
|
47
|
-
/** Resolves only the two reviewed environment keys declared by Contact Contract
|
|
47
|
+
/** Resolves only the two reviewed environment keys declared by Contact Contract v3. */
|
|
48
48
|
export declare function createContractResendContactTransport(options: ContractResendContactTransportOptions): ContactTransport;
|
|
49
49
|
//# sourceMappingURL=resend.d.ts.map
|
package/dist/contact/resend.js
CHANGED
|
@@ -125,7 +125,7 @@ export function createResendContactTransport(options) {
|
|
|
125
125
|
},
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
|
-
/** Resolves only the two reviewed environment keys declared by Contact Contract
|
|
128
|
+
/** Resolves only the two reviewed environment keys declared by Contact Contract v3. */
|
|
129
129
|
export function createContractResendContactTransport(options) {
|
|
130
130
|
const contract = defineContactContract(options.contract);
|
|
131
131
|
return createResendContactTransport({
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import 'server-only';
|
|
2
|
+
export * from './shared.js';
|
|
3
|
+
export * from './contract.js';
|
|
4
|
+
export * from './attribution.js';
|
|
5
|
+
export * from './context.js';
|
|
6
|
+
export * from './request.js';
|
|
7
|
+
export * from './route.js';
|
|
8
|
+
export * from './durable.js';
|
|
9
|
+
export * from './email.js';
|
|
10
|
+
export * from './resend.js';
|
|
11
|
+
export * from './production.js';
|
|
12
|
+
export * from './server.js';
|
|
13
|
+
//# sourceMappingURL=server-entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/contact/server-entry.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import 'server-only';
|
|
2
|
+
export * from './shared.js';
|
|
3
|
+
export * from './contract.js';
|
|
4
|
+
export * from './attribution.js';
|
|
5
|
+
export * from './context.js';
|
|
6
|
+
export * from './request.js';
|
|
7
|
+
export * from './route.js';
|
|
8
|
+
export * from './durable.js';
|
|
9
|
+
export * from './email.js';
|
|
10
|
+
export * from './resend.js';
|
|
11
|
+
export * from './production.js';
|
|
12
|
+
export * from './server.js';
|
|
13
|
+
//# sourceMappingURL=server-entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/contact/server-entry.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/contact/server.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,qCAAqC,CAAA;AAG5C,OAAO,EAIL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAE/B,KAAK,eAAe,EAGpB,KAAK,mBAAmB,EAExB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAE1B,KAAK,gCAAgC,EAErC,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/contact/server.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,qCAAqC,CAAA;AAG5C,OAAO,EAIL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAE/B,KAAK,eAAe,EAGpB,KAAK,mBAAmB,EAExB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAE1B,KAAK,gCAAgC,EAErC,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,mCAAmC,EAAE,MAAM,sBAAsB,CAAA;AA8C1E,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,yBAAyB,CAAA;IACrC,SAAS,EAAE,gBAAgB,CAAA;IAC3B,oFAAoF;IACpF,KAAK,EAAE,sBAAsB,CAAA;IAC7B,gFAAgF;IAChF,WAAW,EAAE,kBAAkB,CAAA;IAC/B,kFAAkF;IAClF,eAAe,EAAE,gCAAgC,CAAA;IACjD,+EAA+E;IAC/E,cAAc,EAAE,qBAAqB,CAAA;IACrC,iEAAiE;IACjE,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,0BAA0B,CAAA;IAChD,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAClC,iBAAiB,EAAE,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC/E,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CACjB;AA6bD,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,yBAAyB;;;;EAY5E;AAyoBD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,IAMzE,gBAAgB,mBAAmB,GAAG,IAAI,EAC1C,UAAU,QAAQ,KACjB,OAAO,CAAC,mBAAmB,CAAC,CAoBhC"}
|
package/dist/contact/server.js
CHANGED
|
@@ -5,7 +5,6 @@ import { renderContactEmail } from './email.js';
|
|
|
5
5
|
import { CONTACT_CLIENT_SUBMISSION_ID_PATTERN, CONTACT_CONTEXT_FIELD_NAMES, CONTACT_HASH_PATTERN, } from './shared.js';
|
|
6
6
|
export { createBrandlabContactImageSanitizer } from './image-sanitizer.js';
|
|
7
7
|
const FIELD_NAME_PATTERN = /^[a-z][a-z0-9_-]{0,63}$/;
|
|
8
|
-
const ATTACHMENT_FILENAME_PREFIX_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
9
8
|
const SAFE_PROVIDER_MESSAGE_ID_PATTERN = /^[A-Za-z0-9._-]{1,256}$/;
|
|
10
9
|
const EMAIL_PATTERN = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
11
10
|
const EMAIL_COLOR_PATTERN = /^#[0-9a-fA-F]{6}$/;
|
|
@@ -112,6 +111,13 @@ function getFieldRole(field) {
|
|
|
112
111
|
}
|
|
113
112
|
return 'custom';
|
|
114
113
|
}
|
|
114
|
+
function assertOnlyObjectKeys(value, allowedKeys, field) {
|
|
115
|
+
const allowed = new Set(allowedKeys);
|
|
116
|
+
const unsupported = Object.keys(value).filter((key) => !allowed.has(key));
|
|
117
|
+
if (unsupported.length > 0) {
|
|
118
|
+
throw new Error(`${field} contains unsupported keys: ${unsupported.join(', ')}.`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
115
121
|
function validateDefinition(definition) {
|
|
116
122
|
const deploymentMode = definition.deploymentMode ?? 'production';
|
|
117
123
|
if (!['production', 'preview', 'development', 'test'].includes(deploymentMode)) {
|
|
@@ -216,6 +222,14 @@ function validateDefinition(definition) {
|
|
|
216
222
|
Array.isArray(definition.attachments)) {
|
|
217
223
|
throw new Error('The attachment configuration must be an object or false.');
|
|
218
224
|
}
|
|
225
|
+
assertOnlyObjectKeys(definition.attachments, [
|
|
226
|
+
'maxFiles',
|
|
227
|
+
'maxFileSizeBytes',
|
|
228
|
+
'maxTotalSizeBytes',
|
|
229
|
+
'allowedTypes',
|
|
230
|
+
'fieldPrefix',
|
|
231
|
+
'required',
|
|
232
|
+
], 'attachments');
|
|
219
233
|
const fieldPrefix = definition.attachments?.fieldPrefix ?? 'attachments';
|
|
220
234
|
if (!FIELD_NAME_PATTERN.test(fieldPrefix) ||
|
|
221
235
|
names.has(fieldPrefix) ||
|
|
@@ -242,12 +256,6 @@ function validateDefinition(definition) {
|
|
|
242
256
|
new Set(policy.allowedTypes).size !== policy.allowedTypes.length) {
|
|
243
257
|
throw new Error('The attachment MIME allowlist is invalid.');
|
|
244
258
|
}
|
|
245
|
-
const filenamePrefix = policy.filenamePrefix ?? 'contact-photo';
|
|
246
|
-
if (typeof filenamePrefix !== 'string' ||
|
|
247
|
-
filenamePrefix.length > 48 ||
|
|
248
|
-
!ATTACHMENT_FILENAME_PREFIX_PATTERN.test(filenamePrefix)) {
|
|
249
|
-
throw new Error('The attachment filename prefix must be bounded lowercase kebab-case.');
|
|
250
|
-
}
|
|
251
259
|
if (definition.limits?.maxRequestBytes !== undefined &&
|
|
252
260
|
definition.limits.maxRequestBytes < policy.maxTotalSizeBytes) {
|
|
253
261
|
throw new Error('maxRequestBytes must cover the configured attachment total.');
|
|
@@ -259,21 +267,8 @@ function validateDefinition(definition) {
|
|
|
259
267
|
Array.isArray(definition.email))) {
|
|
260
268
|
throw new Error('The contact email configuration must be an object.');
|
|
261
269
|
}
|
|
262
|
-
if (definition.email
|
|
263
|
-
(
|
|
264
|
-
!definition.email.subject.trim() ||
|
|
265
|
-
definition.email.subject.trim() !== definition.email.subject ||
|
|
266
|
-
definition.email.subject.length > 200 ||
|
|
267
|
-
/[\u0000-\u001f\u007f]/.test(definition.email.subject))) {
|
|
268
|
-
throw new Error('The contact email subject must be a bounded static string.');
|
|
269
|
-
}
|
|
270
|
-
if (definition.email?.heading !== undefined &&
|
|
271
|
-
(typeof definition.email.heading !== 'string' ||
|
|
272
|
-
!definition.email.heading.trim() ||
|
|
273
|
-
definition.email.heading.trim() !== definition.email.heading ||
|
|
274
|
-
definition.email.heading.length > 200 ||
|
|
275
|
-
/[\u0000-\u001f\u007f]/.test(definition.email.heading))) {
|
|
276
|
-
throw new Error('The contact email heading must be bounded reviewed text.');
|
|
270
|
+
if (definition.email) {
|
|
271
|
+
assertOnlyObjectKeys(definition.email, ['style', 'logo'], 'email');
|
|
277
272
|
}
|
|
278
273
|
if (definition.email?.style !== undefined) {
|
|
279
274
|
if (!definition.email.style ||
|
|
@@ -282,8 +277,10 @@ function validateDefinition(definition) {
|
|
|
282
277
|
Object.values(definition.email.style).some((value) => typeof value !== 'string' || !EMAIL_COLOR_PATTERN.test(value))) {
|
|
283
278
|
throw new Error('Contact email colours must use six-digit hexadecimal values.');
|
|
284
279
|
}
|
|
280
|
+
assertOnlyObjectKeys(definition.email.style, ['accentColor', 'backgroundColor', 'surfaceColor', 'textColor', 'mutedTextColor'], 'email.style');
|
|
285
281
|
}
|
|
286
282
|
if (definition.email?.logo !== undefined) {
|
|
283
|
+
assertOnlyObjectKeys(definition.email.logo, ['url', 'alt', 'width'], 'email.logo');
|
|
287
284
|
const { alt, url, width } = definition.email.logo;
|
|
288
285
|
let parsedUrl;
|
|
289
286
|
try {
|
|
@@ -351,6 +348,11 @@ function getPageContext(definition, context) {
|
|
|
351
348
|
...(context.pageLabel ? { pageLabel: context.pageLabel } : {}),
|
|
352
349
|
pagePath: context.pagePath,
|
|
353
350
|
pageUrl: new URL(context.pagePath, definition.siteUrl).toString(),
|
|
351
|
+
initialLandingPath: context.initialLandingPath,
|
|
352
|
+
visitSource: context.visitSource,
|
|
353
|
+
...(context.visitSourceDetail
|
|
354
|
+
? { visitSourceDetail: context.visitSourceDetail }
|
|
355
|
+
: {}),
|
|
354
356
|
};
|
|
355
357
|
}
|
|
356
358
|
function attachmentPolicy(definition) {
|
|
@@ -363,7 +365,6 @@ function attachmentPolicy(definition) {
|
|
|
363
365
|
maxFileSizeBytes: configured.maxFileSizeBytes ?? DEFAULT_CONTACT_ATTACHMENT_POLICY.maxFileSizeBytes,
|
|
364
366
|
maxTotalSizeBytes: configured.maxTotalSizeBytes ?? DEFAULT_CONTACT_ATTACHMENT_POLICY.maxTotalSizeBytes,
|
|
365
367
|
allowedTypes: configured.allowedTypes ?? DEFAULT_CONTACT_ATTACHMENT_POLICY.allowedTypes,
|
|
366
|
-
filenamePrefix: configured.filenamePrefix ?? DEFAULT_CONTACT_ATTACHMENT_POLICY.filenamePrefix,
|
|
367
368
|
};
|
|
368
369
|
}
|
|
369
370
|
export function getContactRequestLimits(definition) {
|
|
@@ -586,8 +587,6 @@ async function readValidatedAttachments(definition, formData) {
|
|
|
586
587
|
attachments.push({
|
|
587
588
|
filename: createContactAttachmentFilename({
|
|
588
589
|
index,
|
|
589
|
-
contentType: extensionType,
|
|
590
|
-
policy,
|
|
591
590
|
}),
|
|
592
591
|
contentType: extensionType,
|
|
593
592
|
content,
|
|
@@ -599,12 +598,11 @@ function validateProcessedAttachments(definition, attachments) {
|
|
|
599
598
|
if (!definition.attachments)
|
|
600
599
|
return attachments.length === 0;
|
|
601
600
|
const policy = attachmentPolicy(definition);
|
|
602
|
-
const allowed = allowedNormalizedTypes(policy);
|
|
603
601
|
const filenames = new Set();
|
|
604
602
|
let totalBytes = 0;
|
|
605
603
|
if (attachments.length > policy.maxFiles)
|
|
606
604
|
return false;
|
|
607
|
-
for (const attachment of attachments) {
|
|
605
|
+
for (const [index, attachment] of attachments.entries()) {
|
|
608
606
|
if (!attachment ||
|
|
609
607
|
typeof attachment.filename !== 'string' ||
|
|
610
608
|
!(attachment.content instanceof Uint8Array) ||
|
|
@@ -620,7 +618,8 @@ function validateProcessedAttachments(definition, attachments) {
|
|
|
620
618
|
filenames.has(attachment.filename) ||
|
|
621
619
|
!extensionType ||
|
|
622
620
|
normalizeMimeType(extensionType) !== type ||
|
|
623
|
-
|
|
621
|
+
attachment.filename !== createContactAttachmentFilename({ index }) ||
|
|
622
|
+
type !== 'image/jpeg' ||
|
|
624
623
|
attachment.content.byteLength < 1 ||
|
|
625
624
|
attachment.content.byteLength > policy.maxFileSizeBytes ||
|
|
626
625
|
totalBytes > policy.maxTotalSizeBytes ||
|