siteplane 0.1.57 → 0.1.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -5
- package/dist/bin/siteplane.js +37 -38
- package/dist/index.js +36 -37
- package/dist/next.js +54 -80
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
**Image-policy preparation:** When the scan includes image fields, `withSiteplane` prepares
|
|
4
4
|
Next Image and existing Next-config CSP headers for Siteplane's image route and your website's
|
|
5
5
|
`/siteplane-assets/` path. Existing image sources stay in place. Local builds require the same public HTTPS
|
|
6
|
-
`SITEPLANE_SITE_ORIGIN` supplied by `setup deploy`.
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
`SITEPLANE_SITE_ORIGIN` supplied by `setup deploy`. The wrapper adds only those exact patterns: existing
|
|
7
|
+
sources, custom loaders and redirect settings remain unchanged. Preflight still flags custom loaders and CSP
|
|
8
|
+
in middleware, proxy or app source for explicit delivery checks. Keep existing policies and verify Siteplane
|
|
9
|
+
images through the website's actual renderer. This preparation does not authorize hosting.
|
|
9
10
|
|
|
10
11
|
Public Siteplane CLI for connected-site setup, field synchronization, Analytics
|
|
11
12
|
instrumentation and Booking integration.
|
|
@@ -98,8 +99,8 @@ Before starting, add `.siteplane/credentials.json` to the repository’s `.gitig
|
|
|
98
99
|
unprotected credentials before any provisioning request.
|
|
99
100
|
|
|
100
101
|
```bash
|
|
101
|
-
npx -y siteplane@0.1.
|
|
102
|
-
npx -y siteplane@0.1.
|
|
102
|
+
npx -y siteplane@0.1.59 setup start --modules editing --instructions-file instructions.txt
|
|
103
|
+
npx -y siteplane@0.1.59 setup context
|
|
103
104
|
```
|
|
104
105
|
|
|
105
106
|
Start performs read-only preflight and saves the installation key and original request privately before the
|
package/dist/bin/siteplane.js
CHANGED
|
@@ -9,12 +9,12 @@ import { join as join13, resolve as resolve4 } from "path";
|
|
|
9
9
|
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
10
10
|
import { dirname } from "path";
|
|
11
11
|
|
|
12
|
-
//
|
|
12
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/actors.js
|
|
13
13
|
import { z } from "zod";
|
|
14
14
|
var ACTOR_TYPES = ["workspace_member", "site_member", "agent", "setup_guest", "system"];
|
|
15
15
|
var actorTypeSchema = z.enum(ACTOR_TYPES);
|
|
16
16
|
|
|
17
|
-
//
|
|
17
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-defaults.js
|
|
18
18
|
var ANALYTICS_BATCH_LIMITS = {
|
|
19
19
|
maxEventsPerRequest: 50,
|
|
20
20
|
maxJsonBodyBytes: 64 * 1024,
|
|
@@ -29,7 +29,7 @@ var ANALYTICS_RETENTION_DEFAULTS = {
|
|
|
29
29
|
lateEventWindowHours: 72
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
//
|
|
32
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-booking.js
|
|
33
33
|
import { z as z2 } from "zod";
|
|
34
34
|
var bookingProviders = ["treatwell", "beautinda", "other"];
|
|
35
35
|
var bookingAttributionModes = [
|
|
@@ -72,7 +72,7 @@ var bookingProviderHintSchema = z2.object({
|
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
-
//
|
|
75
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-contract.js
|
|
76
76
|
import { z as z3 } from "zod";
|
|
77
77
|
var ANALYTICS_CONTRACT_VERSION = "analytics-contract.v1";
|
|
78
78
|
var ANALYTICS_CONTRACT_HASH = "sha256:a91bddcc3c5e4196933b0335d03eaf41ff929cb736bdd694fe54d07ab52dada1";
|
|
@@ -100,7 +100,7 @@ var analyticsProviderImportSchema = z3.object({
|
|
|
100
100
|
rows: z3.array(analyticsProviderImportRowSchema).min(1).max(1e3)
|
|
101
101
|
}).strict();
|
|
102
102
|
|
|
103
|
-
//
|
|
103
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-config.js
|
|
104
104
|
import { z as z4 } from "zod";
|
|
105
105
|
var ANALYTICS_CONFIG_LEASE_MS = 6e4;
|
|
106
106
|
var analyticsMeasurementConfigSchema = z4.object({
|
|
@@ -129,7 +129,7 @@ var analyticsMeasurementConfigSchema = z4.object({
|
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
131
|
|
|
132
|
-
//
|
|
132
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-events.js
|
|
133
133
|
import { z as z5 } from "zod";
|
|
134
134
|
var ANALYTICS_SCHEMA_VERSION = "analytics.v1";
|
|
135
135
|
var ANALYTICS_KEY_PATTERN = /^(pk|sk)_siteplane_([A-Za-z0-9_-]{16})_[A-Za-z0-9_-]{43}$/;
|
|
@@ -338,7 +338,7 @@ function expandAnalyticsDataAttributeEvent(event) {
|
|
|
338
338
|
return [event];
|
|
339
339
|
}
|
|
340
340
|
|
|
341
|
-
//
|
|
341
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-manifest.js
|
|
342
342
|
import { z as z6 } from "zod";
|
|
343
343
|
var analyticsTargetIdSchema = z6.string().min(1).max(120).regex(/^[a-zA-Z][a-zA-Z0-9]*(?:[._-][a-zA-Z0-9]+)*$/u, {
|
|
344
344
|
message: "Analytics target IDs must be stable identifiers without whitespace or visible copy."
|
|
@@ -491,7 +491,7 @@ function isPlainRecord(value) {
|
|
|
491
491
|
return typeof value === "object" && value !== null;
|
|
492
492
|
}
|
|
493
493
|
|
|
494
|
-
//
|
|
494
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-metrics.js
|
|
495
495
|
import { z as z7 } from "zod";
|
|
496
496
|
var analyticsVisitorQualities = ["exact", "estimated"];
|
|
497
497
|
var analyticsVisitorQualitySchema = z7.enum(analyticsVisitorQualities);
|
|
@@ -508,7 +508,7 @@ var analyticsKpiKeys = [
|
|
|
508
508
|
];
|
|
509
509
|
var analyticsKpiKeySchema = z7.enum(analyticsKpiKeys);
|
|
510
510
|
|
|
511
|
-
//
|
|
511
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-privacy.js
|
|
512
512
|
var serverPropertySchemas = {
|
|
513
513
|
lead_created: {
|
|
514
514
|
conversionId: "identifier",
|
|
@@ -543,7 +543,7 @@ function revenuePropertySchema() {
|
|
|
543
543
|
};
|
|
544
544
|
}
|
|
545
545
|
|
|
546
|
-
//
|
|
546
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/assets.js
|
|
547
547
|
import { z as z8 } from "zod";
|
|
548
548
|
var ASSET_STAGES = ["staging", "final", "deleted"];
|
|
549
549
|
var ASSET_VISIBILITIES = ["private", "public", "deleted"];
|
|
@@ -558,7 +558,7 @@ var assetVisibilitySchema = z8.enum(ASSET_VISIBILITIES);
|
|
|
558
558
|
var assetUsageEntityTypeSchema = z8.enum(ASSET_USAGE_ENTITY_TYPES);
|
|
559
559
|
var brandingAccentColorSchema = z8.string().regex(/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/);
|
|
560
560
|
|
|
561
|
-
//
|
|
561
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-contracts.js
|
|
562
562
|
import { z as z9 } from "zod";
|
|
563
563
|
var bookingStatuses = [
|
|
564
564
|
"pending_payment",
|
|
@@ -919,13 +919,13 @@ function redactBookingManifest(value) {
|
|
|
919
919
|
return value;
|
|
920
920
|
}
|
|
921
921
|
|
|
922
|
-
//
|
|
922
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-defaults.js
|
|
923
923
|
var BOOKING_CREATE_PAYLOAD_LIMIT_BYTES = 16 * 1024;
|
|
924
924
|
|
|
925
|
-
//
|
|
925
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
|
|
926
926
|
import { z as z17 } from "zod";
|
|
927
927
|
|
|
928
|
-
//
|
|
928
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-id.js
|
|
929
929
|
import { z as z10 } from "zod";
|
|
930
930
|
var FIELD_ID_PATTERN = /^[a-z][a-z0-9_-]*(\.[a-z][a-z0-9_-]*)+$/;
|
|
931
931
|
var fieldIdSchema = z10.string().regex(FIELD_ID_PATTERN, "Invalid field id");
|
|
@@ -933,12 +933,12 @@ function isFieldId(value) {
|
|
|
933
933
|
return typeof value === "string" && fieldIdSchema.safeParse(value).success;
|
|
934
934
|
}
|
|
935
935
|
|
|
936
|
-
//
|
|
936
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-types.js
|
|
937
937
|
import { z as z11 } from "zod";
|
|
938
938
|
var FIELD_TYPES = ["text", "longText", "image", "link"];
|
|
939
939
|
var fieldTypeSchema = z11.enum(FIELD_TYPES);
|
|
940
940
|
|
|
941
|
-
//
|
|
941
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/image-value.js
|
|
942
942
|
import { z as z12 } from "zod";
|
|
943
943
|
var SUPPORTED_IMAGE_CONTENT_TYPES = [
|
|
944
944
|
"image/jpeg",
|
|
@@ -970,7 +970,7 @@ var imageValueSchema = z12.object({
|
|
|
970
970
|
]).optional()
|
|
971
971
|
});
|
|
972
972
|
|
|
973
|
-
//
|
|
973
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-deployment.js
|
|
974
974
|
import { z as z13 } from "zod";
|
|
975
975
|
var version = z13.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u);
|
|
976
976
|
var siteSetupPackagesSchema = z13.object({
|
|
@@ -1024,13 +1024,13 @@ var setupDeploymentInputSchema = z13.discriminatedUnion("action", [
|
|
|
1024
1024
|
}).strict()
|
|
1025
1025
|
]);
|
|
1026
1026
|
|
|
1027
|
-
//
|
|
1027
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
|
|
1028
1028
|
import { z as z16 } from "zod";
|
|
1029
1029
|
|
|
1030
|
-
//
|
|
1030
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
|
|
1031
1031
|
import { z as z15 } from "zod";
|
|
1032
1032
|
|
|
1033
|
-
//
|
|
1033
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/fallback-hash.js
|
|
1034
1034
|
import { z as z14 } from "zod";
|
|
1035
1035
|
var SAFE_REPRESENTATION_REASONS = [
|
|
1036
1036
|
"asset_import_rewritten",
|
|
@@ -1252,7 +1252,7 @@ var SHA256_CONSTANTS = [
|
|
|
1252
1252
|
3329325298
|
|
1253
1253
|
];
|
|
1254
1254
|
|
|
1255
|
-
//
|
|
1255
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
|
|
1256
1256
|
var fieldContractVersion = "1.0.0";
|
|
1257
1257
|
var scannerContractVersion = "1.0.0";
|
|
1258
1258
|
var siteFieldStatusSchema = z15.enum(["hidden", "active"]);
|
|
@@ -1341,7 +1341,7 @@ function createSiteFieldContractHash(input) {
|
|
|
1341
1341
|
return `sha256:${sha256Hex(payload)}`;
|
|
1342
1342
|
}
|
|
1343
1343
|
|
|
1344
|
-
//
|
|
1344
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
|
|
1345
1345
|
var SITE_SETUP_RUN_STATUSES = [
|
|
1346
1346
|
"waiting_for_agent",
|
|
1347
1347
|
"working",
|
|
@@ -1816,6 +1816,7 @@ var siteSetupEvidenceInputSchema = z16.object({
|
|
|
1816
1816
|
bridgeSessionId: normalizedSafeTextSchema(256, "bridgeSessionId"),
|
|
1817
1817
|
observations: z16.array(z16.object({
|
|
1818
1818
|
fieldId: fieldIdSchema,
|
|
1819
|
+
fieldType: fieldTypeSchema,
|
|
1819
1820
|
routeKey: siteFieldRouteKeySchema,
|
|
1820
1821
|
renderedPath: renderedPathSchema,
|
|
1821
1822
|
targetResolved: z16.boolean(),
|
|
@@ -1884,7 +1885,7 @@ var activateSetupModulesInputSchema = activateSiteSetupInputSchema.extend({
|
|
|
1884
1885
|
])
|
|
1885
1886
|
}).strict();
|
|
1886
1887
|
|
|
1887
|
-
//
|
|
1888
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
|
|
1888
1889
|
var BRIDGE_PROTOCOL_VERSION = 2;
|
|
1889
1890
|
var bridgeRectSchema = z17.object({
|
|
1890
1891
|
x: z17.number(),
|
|
@@ -2122,10 +2123,10 @@ var fieldBridgeMessageSchema = z17.discriminatedUnion("type", [
|
|
|
2122
2123
|
fieldBridgeAnalyticsProbeResultSchema
|
|
2123
2124
|
]);
|
|
2124
2125
|
|
|
2125
|
-
//
|
|
2126
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
|
|
2126
2127
|
import { z as z19 } from "zod";
|
|
2127
2128
|
|
|
2128
|
-
//
|
|
2129
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/errors.js
|
|
2129
2130
|
import { z as z18 } from "zod";
|
|
2130
2131
|
var UI_ERROR_CATEGORIES = [
|
|
2131
2132
|
"site_member",
|
|
@@ -2140,7 +2141,7 @@ var commandErrorPayloadSchema = z18.object({
|
|
|
2140
2141
|
details: z18.record(z18.string(), z18.unknown()).optional()
|
|
2141
2142
|
});
|
|
2142
2143
|
|
|
2143
|
-
//
|
|
2144
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
|
|
2144
2145
|
var commandSuccessSchema = z19.object({
|
|
2145
2146
|
ok: z19.literal(true),
|
|
2146
2147
|
data: z19.unknown()
|
|
@@ -2154,7 +2155,7 @@ var commandResultSchema = z19.discriminatedUnion("ok", [
|
|
|
2154
2155
|
commandErrorSchema
|
|
2155
2156
|
]);
|
|
2156
2157
|
|
|
2157
|
-
//
|
|
2158
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/editor-settings.js
|
|
2158
2159
|
import { z as z20 } from "zod";
|
|
2159
2160
|
var editorColorSchemeSchema = z20.enum([
|
|
2160
2161
|
"paper",
|
|
@@ -2166,7 +2167,7 @@ var editorColorSchemes = editorColorSchemeSchema.options;
|
|
|
2166
2167
|
var editorColorModeSchema = z20.enum(["light", "dark"]);
|
|
2167
2168
|
var editorColorModes = editorColorModeSchema.options;
|
|
2168
2169
|
|
|
2169
|
-
//
|
|
2170
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-slug.js
|
|
2170
2171
|
import { z as z21 } from "zod";
|
|
2171
2172
|
var SITE_SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
2172
2173
|
var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
@@ -2186,7 +2187,7 @@ var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
|
2186
2187
|
]);
|
|
2187
2188
|
var siteSlugSchema = z21.string().regex(SITE_SLUG_PATTERN, "Invalid site slug").refine((value) => !RESERVED_SITE_SLUGS.has(value), "Reserved site slug");
|
|
2188
2189
|
|
|
2189
|
-
//
|
|
2190
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/entitlements.js
|
|
2190
2191
|
import { z as z22 } from "zod";
|
|
2191
2192
|
var entitlementSnapshotSchema = z22.object({
|
|
2192
2193
|
planKey: z22.string().trim().min(1),
|
|
@@ -2233,10 +2234,10 @@ var EARLY_ACCESS_PLAN = {
|
|
|
2233
2234
|
bookingRemindersEnabled: true
|
|
2234
2235
|
};
|
|
2235
2236
|
|
|
2236
|
-
//
|
|
2237
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/first-party-image-upload.js
|
|
2237
2238
|
var maxFirstPartyImageUploadBytes = 4 * 1024 * 1024;
|
|
2238
2239
|
|
|
2239
|
-
//
|
|
2240
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/readiness.js
|
|
2240
2241
|
import { z as z23 } from "zod";
|
|
2241
2242
|
var READINESS_CHECK_KEYS = [
|
|
2242
2243
|
"agent_instructions_installed",
|
|
@@ -2255,7 +2256,7 @@ var READINESS_STATUSES = [
|
|
|
2255
2256
|
var readinessCheckKeySchema = z23.enum(READINESS_CHECK_KEYS);
|
|
2256
2257
|
var readinessStatusSchema = z23.enum(READINESS_STATUSES);
|
|
2257
2258
|
|
|
2258
|
-
//
|
|
2259
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site.js
|
|
2259
2260
|
import { z as z24 } from "zod";
|
|
2260
2261
|
var SITE_STATUSES = [
|
|
2261
2262
|
"setup",
|
|
@@ -2266,7 +2267,7 @@ var SITE_STATUSES = [
|
|
|
2266
2267
|
var siteStatusSchema = z24.enum(SITE_STATUSES);
|
|
2267
2268
|
var websiteUrlSchema = z24.string().trim().url().refine((value) => value.startsWith("https://") || value.startsWith("http://"), "Website URL must use http or https");
|
|
2268
2269
|
|
|
2269
|
-
//
|
|
2270
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-assets.js
|
|
2270
2271
|
import { z as z25 } from "zod";
|
|
2271
2272
|
var configureSetupAssetTargetInputSchema = z25.object({
|
|
2272
2273
|
siteId: z25.string().uuid(),
|
|
@@ -2327,7 +2328,7 @@ var checkSetupAssetTargetInputSchema = z25.object({
|
|
|
2327
2328
|
intent: z25.enum(["start", "poll"])
|
|
2328
2329
|
}).strict();
|
|
2329
2330
|
|
|
2330
|
-
//
|
|
2331
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-installation.js
|
|
2331
2332
|
import { z as z26 } from "zod";
|
|
2332
2333
|
var setupInstallationRequestSchema = z26.object({
|
|
2333
2334
|
modules: siteSetupModulesSchema,
|
|
@@ -2338,7 +2339,7 @@ var setupInstallationRequestSchema = z26.object({
|
|
|
2338
2339
|
}).strict()
|
|
2339
2340
|
}).strict();
|
|
2340
2341
|
|
|
2341
|
-
//
|
|
2342
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-claim.js
|
|
2342
2343
|
import { z as z27 } from "zod";
|
|
2343
2344
|
var setupClaimCodeSchema = z27.string().regex(/^[0-9A-HJKMNP-TV-Z]{8}$/u);
|
|
2344
2345
|
var setupClaimBindingSchema = z27.object({
|
|
@@ -3968,8 +3969,6 @@ async function inspectSetupLocalProject(projectDir) {
|
|
|
3968
3969
|
sourceConflicts.push("base_path");
|
|
3969
3970
|
if (/\bloaderFile\s*:|\bloader\s*:\s*['"](?:custom|imgix|cloudinary|akamai)['"]/u.test(source))
|
|
3970
3971
|
sourceConflicts.push(`inspect_image_loader:${file}`);
|
|
3971
|
-
if (/\bmaximumRedirects\s*:\s*[1-9]/u.test(source))
|
|
3972
|
-
sourceConflicts.push(`inspect_image_redirects:${file}`);
|
|
3973
3972
|
}
|
|
3974
3973
|
if (sourceConflicts.some((conflict) => conflict === "static_export" || conflict === "base_path"))
|
|
3975
3974
|
fail("unsupported_server_configuration", "Resolve static export/basePath configuration explicitly; Siteplane requires its server-side admin and revalidation handlers.");
|
|
@@ -5606,7 +5605,7 @@ ${task.goal}
|
|
|
5606
5605
|
|
|
5607
5606
|
${task.discovery.rules.map((rule) => `- ${rule}`).join("\n")}
|
|
5608
5607
|
|
|
5609
|
-
Run setup context for the current user instructions and authorized modules. Keep the user instructions distinct from your selection summary. Use setup deploy --wait for environment transfer and deployment; never read or print credential values. For image fields, withSiteplane
|
|
5608
|
+
Run setup context for the current user instructions and authorized modules. Keep the user instructions distinct from your selection summary. Use setup deploy --wait for environment transfer and deployment; never read or print credential values. For image fields, withSiteplane adds only the exact Siteplane asset route and website /siteplane-assets/ pattern while preserving existing sources, loaders, and redirect policy. This grants no hosting permission. If the website uses a global or component image loader, keep it and verify Siteplane image delivery explicitly. Inspect CSP written by middleware/proxy/meta tags before deployment. Use the provider-selected public SITEPLANE_SITE_ORIGIN for local builds.
|
|
5610
5609
|
`);
|
|
5611
5610
|
for (const [path, content] of files) {
|
|
5612
5611
|
if (path === layoutPath || path === nextPath || path === guidePath)
|
package/dist/index.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
3
3
|
import { dirname } from "path";
|
|
4
4
|
|
|
5
|
-
//
|
|
5
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/actors.js
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
var ACTOR_TYPES = ["workspace_member", "site_member", "agent", "setup_guest", "system"];
|
|
8
8
|
var actorTypeSchema = z.enum(ACTOR_TYPES);
|
|
9
9
|
|
|
10
|
-
//
|
|
10
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-defaults.js
|
|
11
11
|
var ANALYTICS_BATCH_LIMITS = {
|
|
12
12
|
maxEventsPerRequest: 50,
|
|
13
13
|
maxJsonBodyBytes: 64 * 1024,
|
|
@@ -22,7 +22,7 @@ var ANALYTICS_RETENTION_DEFAULTS = {
|
|
|
22
22
|
lateEventWindowHours: 72
|
|
23
23
|
};
|
|
24
24
|
|
|
25
|
-
//
|
|
25
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-booking.js
|
|
26
26
|
import { z as z2 } from "zod";
|
|
27
27
|
var bookingProviders = ["treatwell", "beautinda", "other"];
|
|
28
28
|
var bookingAttributionModes = [
|
|
@@ -65,7 +65,7 @@ var bookingProviderHintSchema = z2.object({
|
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
|
|
68
|
-
//
|
|
68
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-contract.js
|
|
69
69
|
import { z as z3 } from "zod";
|
|
70
70
|
var ANALYTICS_CONTRACT_VERSION = "analytics-contract.v1";
|
|
71
71
|
var ANALYTICS_CONTRACT_HASH = "sha256:a91bddcc3c5e4196933b0335d03eaf41ff929cb736bdd694fe54d07ab52dada1";
|
|
@@ -93,7 +93,7 @@ var analyticsProviderImportSchema = z3.object({
|
|
|
93
93
|
rows: z3.array(analyticsProviderImportRowSchema).min(1).max(1e3)
|
|
94
94
|
}).strict();
|
|
95
95
|
|
|
96
|
-
//
|
|
96
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-config.js
|
|
97
97
|
import { z as z4 } from "zod";
|
|
98
98
|
var ANALYTICS_CONFIG_LEASE_MS = 6e4;
|
|
99
99
|
var analyticsMeasurementConfigSchema = z4.object({
|
|
@@ -122,7 +122,7 @@ var analyticsMeasurementConfigSchema = z4.object({
|
|
|
122
122
|
}
|
|
123
123
|
});
|
|
124
124
|
|
|
125
|
-
//
|
|
125
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-events.js
|
|
126
126
|
import { z as z5 } from "zod";
|
|
127
127
|
var ANALYTICS_SCHEMA_VERSION = "analytics.v1";
|
|
128
128
|
var analyticsSessionIdSchema = z5.string().regex(/^cpa_s_[a-f0-9]{32}$/u);
|
|
@@ -320,7 +320,7 @@ function isServerOnlyAnalyticsEvent(eventName) {
|
|
|
320
320
|
return serverOnlyAnalyticsEvents.includes(eventName);
|
|
321
321
|
}
|
|
322
322
|
|
|
323
|
-
//
|
|
323
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-manifest.js
|
|
324
324
|
import { z as z6 } from "zod";
|
|
325
325
|
var analyticsTargetIdSchema = z6.string().min(1).max(120).regex(/^[a-zA-Z][a-zA-Z0-9]*(?:[._-][a-zA-Z0-9]+)*$/u, {
|
|
326
326
|
message: "Analytics target IDs must be stable identifiers without whitespace or visible copy."
|
|
@@ -430,7 +430,7 @@ function isPlainRecord(value) {
|
|
|
430
430
|
return typeof value === "object" && value !== null;
|
|
431
431
|
}
|
|
432
432
|
|
|
433
|
-
//
|
|
433
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-metrics.js
|
|
434
434
|
import { z as z7 } from "zod";
|
|
435
435
|
var analyticsVisitorQualities = ["exact", "estimated"];
|
|
436
436
|
var analyticsVisitorQualitySchema = z7.enum(analyticsVisitorQualities);
|
|
@@ -447,7 +447,7 @@ var analyticsKpiKeys = [
|
|
|
447
447
|
];
|
|
448
448
|
var analyticsKpiKeySchema = z7.enum(analyticsKpiKeys);
|
|
449
449
|
|
|
450
|
-
//
|
|
450
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-privacy.js
|
|
451
451
|
var serverPropertySchemas = {
|
|
452
452
|
lead_created: {
|
|
453
453
|
conversionId: "identifier",
|
|
@@ -482,7 +482,7 @@ function revenuePropertySchema() {
|
|
|
482
482
|
};
|
|
483
483
|
}
|
|
484
484
|
|
|
485
|
-
//
|
|
485
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/assets.js
|
|
486
486
|
import { z as z8 } from "zod";
|
|
487
487
|
var ASSET_STAGES = ["staging", "final", "deleted"];
|
|
488
488
|
var ASSET_VISIBILITIES = ["private", "public", "deleted"];
|
|
@@ -497,7 +497,7 @@ var assetVisibilitySchema = z8.enum(ASSET_VISIBILITIES);
|
|
|
497
497
|
var assetUsageEntityTypeSchema = z8.enum(ASSET_USAGE_ENTITY_TYPES);
|
|
498
498
|
var brandingAccentColorSchema = z8.string().regex(/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/);
|
|
499
499
|
|
|
500
|
-
//
|
|
500
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-contracts.js
|
|
501
501
|
import { z as z9 } from "zod";
|
|
502
502
|
var bookingStatuses = [
|
|
503
503
|
"pending_payment",
|
|
@@ -858,23 +858,23 @@ function redactBookingManifest(value) {
|
|
|
858
858
|
return value;
|
|
859
859
|
}
|
|
860
860
|
|
|
861
|
-
//
|
|
861
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-defaults.js
|
|
862
862
|
var BOOKING_CREATE_PAYLOAD_LIMIT_BYTES = 16 * 1024;
|
|
863
863
|
|
|
864
|
-
//
|
|
864
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
|
|
865
865
|
import { z as z17 } from "zod";
|
|
866
866
|
|
|
867
|
-
//
|
|
867
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-id.js
|
|
868
868
|
import { z as z10 } from "zod";
|
|
869
869
|
var FIELD_ID_PATTERN = /^[a-z][a-z0-9_-]*(\.[a-z][a-z0-9_-]*)+$/;
|
|
870
870
|
var fieldIdSchema = z10.string().regex(FIELD_ID_PATTERN, "Invalid field id");
|
|
871
871
|
|
|
872
|
-
//
|
|
872
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-types.js
|
|
873
873
|
import { z as z11 } from "zod";
|
|
874
874
|
var FIELD_TYPES = ["text", "longText", "image", "link"];
|
|
875
875
|
var fieldTypeSchema = z11.enum(FIELD_TYPES);
|
|
876
876
|
|
|
877
|
-
//
|
|
877
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/image-value.js
|
|
878
878
|
import { z as z12 } from "zod";
|
|
879
879
|
var SUPPORTED_IMAGE_CONTENT_TYPES = [
|
|
880
880
|
"image/jpeg",
|
|
@@ -906,7 +906,7 @@ var imageValueSchema = z12.object({
|
|
|
906
906
|
]).optional()
|
|
907
907
|
});
|
|
908
908
|
|
|
909
|
-
//
|
|
909
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-deployment.js
|
|
910
910
|
import { z as z13 } from "zod";
|
|
911
911
|
var version = z13.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u);
|
|
912
912
|
var siteSetupPackagesSchema = z13.object({
|
|
@@ -960,13 +960,13 @@ var setupDeploymentInputSchema = z13.discriminatedUnion("action", [
|
|
|
960
960
|
}).strict()
|
|
961
961
|
]);
|
|
962
962
|
|
|
963
|
-
//
|
|
963
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
|
|
964
964
|
import { z as z16 } from "zod";
|
|
965
965
|
|
|
966
|
-
//
|
|
966
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
|
|
967
967
|
import { z as z15 } from "zod";
|
|
968
968
|
|
|
969
|
-
//
|
|
969
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/fallback-hash.js
|
|
970
970
|
import { z as z14 } from "zod";
|
|
971
971
|
var SAFE_REPRESENTATION_REASONS = [
|
|
972
972
|
"asset_import_rewritten",
|
|
@@ -993,7 +993,7 @@ function sortObjectKeys(value) {
|
|
|
993
993
|
return Object.fromEntries(Object.entries(value).sort(([left], [right]) => left.localeCompare(right)).map(([key, entryValue]) => [key, sortObjectKeys(entryValue)]));
|
|
994
994
|
}
|
|
995
995
|
|
|
996
|
-
//
|
|
996
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
|
|
997
997
|
var siteFieldStatusSchema = z15.enum(["hidden", "active"]);
|
|
998
998
|
var semanticVersionSchema = z15.string().regex(/^\d+\.\d+\.\d+$/u);
|
|
999
999
|
var siteFieldRouteKeySchema = z15.string().trim().refine((value) => value === "$global" || value.startsWith("/") && !value.includes("?") && !value.includes("#") && (value === "/" || !value.endsWith("/")), "Route keys must be canonical paths or $global.");
|
|
@@ -1069,7 +1069,7 @@ var siteFieldContractV1Schema = z15.object({
|
|
|
1069
1069
|
}
|
|
1070
1070
|
});
|
|
1071
1071
|
|
|
1072
|
-
//
|
|
1072
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
|
|
1073
1073
|
var SITE_SETUP_RUN_STATUSES = [
|
|
1074
1074
|
"waiting_for_agent",
|
|
1075
1075
|
"working",
|
|
@@ -1544,6 +1544,7 @@ var siteSetupEvidenceInputSchema = z16.object({
|
|
|
1544
1544
|
bridgeSessionId: normalizedSafeTextSchema(256, "bridgeSessionId"),
|
|
1545
1545
|
observations: z16.array(z16.object({
|
|
1546
1546
|
fieldId: fieldIdSchema,
|
|
1547
|
+
fieldType: fieldTypeSchema,
|
|
1547
1548
|
routeKey: siteFieldRouteKeySchema,
|
|
1548
1549
|
renderedPath: renderedPathSchema,
|
|
1549
1550
|
targetResolved: z16.boolean(),
|
|
@@ -1612,7 +1613,7 @@ var activateSetupModulesInputSchema = activateSiteSetupInputSchema.extend({
|
|
|
1612
1613
|
])
|
|
1613
1614
|
}).strict();
|
|
1614
1615
|
|
|
1615
|
-
//
|
|
1616
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
|
|
1616
1617
|
var BRIDGE_PROTOCOL_VERSION = 2;
|
|
1617
1618
|
var bridgeRectSchema = z17.object({
|
|
1618
1619
|
x: z17.number(),
|
|
@@ -1850,10 +1851,10 @@ var fieldBridgeMessageSchema = z17.discriminatedUnion("type", [
|
|
|
1850
1851
|
fieldBridgeAnalyticsProbeResultSchema
|
|
1851
1852
|
]);
|
|
1852
1853
|
|
|
1853
|
-
//
|
|
1854
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
|
|
1854
1855
|
import { z as z19 } from "zod";
|
|
1855
1856
|
|
|
1856
|
-
//
|
|
1857
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/errors.js
|
|
1857
1858
|
import { z as z18 } from "zod";
|
|
1858
1859
|
var UI_ERROR_CATEGORIES = [
|
|
1859
1860
|
"site_member",
|
|
@@ -1868,7 +1869,7 @@ var commandErrorPayloadSchema = z18.object({
|
|
|
1868
1869
|
details: z18.record(z18.string(), z18.unknown()).optional()
|
|
1869
1870
|
});
|
|
1870
1871
|
|
|
1871
|
-
//
|
|
1872
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
|
|
1872
1873
|
var commandSuccessSchema = z19.object({
|
|
1873
1874
|
ok: z19.literal(true),
|
|
1874
1875
|
data: z19.unknown()
|
|
@@ -1882,7 +1883,7 @@ var commandResultSchema = z19.discriminatedUnion("ok", [
|
|
|
1882
1883
|
commandErrorSchema
|
|
1883
1884
|
]);
|
|
1884
1885
|
|
|
1885
|
-
//
|
|
1886
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/editor-settings.js
|
|
1886
1887
|
import { z as z20 } from "zod";
|
|
1887
1888
|
var editorColorSchemeSchema = z20.enum([
|
|
1888
1889
|
"paper",
|
|
@@ -1894,7 +1895,7 @@ var editorColorSchemes = editorColorSchemeSchema.options;
|
|
|
1894
1895
|
var editorColorModeSchema = z20.enum(["light", "dark"]);
|
|
1895
1896
|
var editorColorModes = editorColorModeSchema.options;
|
|
1896
1897
|
|
|
1897
|
-
//
|
|
1898
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-slug.js
|
|
1898
1899
|
import { z as z21 } from "zod";
|
|
1899
1900
|
var SITE_SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
1900
1901
|
var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
@@ -1914,7 +1915,7 @@ var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
|
1914
1915
|
]);
|
|
1915
1916
|
var siteSlugSchema = z21.string().regex(SITE_SLUG_PATTERN, "Invalid site slug").refine((value) => !RESERVED_SITE_SLUGS.has(value), "Reserved site slug");
|
|
1916
1917
|
|
|
1917
|
-
//
|
|
1918
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/entitlements.js
|
|
1918
1919
|
import { z as z22 } from "zod";
|
|
1919
1920
|
var entitlementSnapshotSchema = z22.object({
|
|
1920
1921
|
planKey: z22.string().trim().min(1),
|
|
@@ -1961,10 +1962,10 @@ var EARLY_ACCESS_PLAN = {
|
|
|
1961
1962
|
bookingRemindersEnabled: true
|
|
1962
1963
|
};
|
|
1963
1964
|
|
|
1964
|
-
//
|
|
1965
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/first-party-image-upload.js
|
|
1965
1966
|
var maxFirstPartyImageUploadBytes = 4 * 1024 * 1024;
|
|
1966
1967
|
|
|
1967
|
-
//
|
|
1968
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/readiness.js
|
|
1968
1969
|
import { z as z23 } from "zod";
|
|
1969
1970
|
var READINESS_CHECK_KEYS = [
|
|
1970
1971
|
"agent_instructions_installed",
|
|
@@ -1983,7 +1984,7 @@ var READINESS_STATUSES = [
|
|
|
1983
1984
|
var readinessCheckKeySchema = z23.enum(READINESS_CHECK_KEYS);
|
|
1984
1985
|
var readinessStatusSchema = z23.enum(READINESS_STATUSES);
|
|
1985
1986
|
|
|
1986
|
-
//
|
|
1987
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site.js
|
|
1987
1988
|
import { z as z24 } from "zod";
|
|
1988
1989
|
var SITE_STATUSES = [
|
|
1989
1990
|
"setup",
|
|
@@ -1994,7 +1995,7 @@ var SITE_STATUSES = [
|
|
|
1994
1995
|
var siteStatusSchema = z24.enum(SITE_STATUSES);
|
|
1995
1996
|
var websiteUrlSchema = z24.string().trim().url().refine((value) => value.startsWith("https://") || value.startsWith("http://"), "Website URL must use http or https");
|
|
1996
1997
|
|
|
1997
|
-
//
|
|
1998
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-assets.js
|
|
1998
1999
|
import { z as z25 } from "zod";
|
|
1999
2000
|
var configureSetupAssetTargetInputSchema = z25.object({
|
|
2000
2001
|
siteId: z25.string().uuid(),
|
|
@@ -2055,7 +2056,7 @@ var checkSetupAssetTargetInputSchema = z25.object({
|
|
|
2055
2056
|
intent: z25.enum(["start", "poll"])
|
|
2056
2057
|
}).strict();
|
|
2057
2058
|
|
|
2058
|
-
//
|
|
2059
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-installation.js
|
|
2059
2060
|
import { z as z26 } from "zod";
|
|
2060
2061
|
var setupInstallationRequestSchema = z26.object({
|
|
2061
2062
|
modules: siteSetupModulesSchema,
|
|
@@ -2066,7 +2067,7 @@ var setupInstallationRequestSchema = z26.object({
|
|
|
2066
2067
|
}).strict()
|
|
2067
2068
|
}).strict();
|
|
2068
2069
|
|
|
2069
|
-
//
|
|
2070
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-claim.js
|
|
2070
2071
|
import { z as z27 } from "zod";
|
|
2071
2072
|
var setupClaimCodeSchema = z27.string().regex(/^[0-9A-HJKMNP-TV-Z]{8}$/u);
|
|
2072
2073
|
var setupClaimBindingSchema = z27.object({
|
|
@@ -3036,8 +3037,6 @@ async function inspectSetupLocalProject(projectDir) {
|
|
|
3036
3037
|
sourceConflicts.push("base_path");
|
|
3037
3038
|
if (/\bloaderFile\s*:|\bloader\s*:\s*['"](?:custom|imgix|cloudinary|akamai)['"]/u.test(source))
|
|
3038
3039
|
sourceConflicts.push(`inspect_image_loader:${file}`);
|
|
3039
|
-
if (/\bmaximumRedirects\s*:\s*[1-9]/u.test(source))
|
|
3040
|
-
sourceConflicts.push(`inspect_image_redirects:${file}`);
|
|
3041
3040
|
}
|
|
3042
3041
|
if (sourceConflicts.some((conflict) => conflict === "static_export" || conflict === "base_path"))
|
|
3043
3042
|
fail("unsupported_server_configuration", "Resolve static export/basePath configuration explicitly; Siteplane requires its server-side admin and revalidation handlers.");
|
package/dist/next.js
CHANGED
|
@@ -9,12 +9,12 @@ import { promisify as promisify4 } from "util";
|
|
|
9
9
|
import { mkdir, readFile, writeFile } from "fs/promises";
|
|
10
10
|
import { dirname } from "path";
|
|
11
11
|
|
|
12
|
-
//
|
|
12
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/actors.js
|
|
13
13
|
import { z } from "zod";
|
|
14
14
|
var ACTOR_TYPES = ["workspace_member", "site_member", "agent", "setup_guest", "system"];
|
|
15
15
|
var actorTypeSchema = z.enum(ACTOR_TYPES);
|
|
16
16
|
|
|
17
|
-
//
|
|
17
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-defaults.js
|
|
18
18
|
var ANALYTICS_BATCH_LIMITS = {
|
|
19
19
|
maxEventsPerRequest: 50,
|
|
20
20
|
maxJsonBodyBytes: 64 * 1024,
|
|
@@ -29,7 +29,7 @@ var ANALYTICS_RETENTION_DEFAULTS = {
|
|
|
29
29
|
lateEventWindowHours: 72
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
//
|
|
32
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-booking.js
|
|
33
33
|
import { z as z2 } from "zod";
|
|
34
34
|
var bookingProviders = ["treatwell", "beautinda", "other"];
|
|
35
35
|
var bookingAttributionModes = [
|
|
@@ -72,7 +72,7 @@ var bookingProviderHintSchema = z2.object({
|
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
-
//
|
|
75
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-contract.js
|
|
76
76
|
import { z as z3 } from "zod";
|
|
77
77
|
var ANALYTICS_CONTRACT_VERSION = "analytics-contract.v1";
|
|
78
78
|
var ANALYTICS_CONTRACT_HASH = "sha256:a91bddcc3c5e4196933b0335d03eaf41ff929cb736bdd694fe54d07ab52dada1";
|
|
@@ -100,7 +100,7 @@ var analyticsProviderImportSchema = z3.object({
|
|
|
100
100
|
rows: z3.array(analyticsProviderImportRowSchema).min(1).max(1e3)
|
|
101
101
|
}).strict();
|
|
102
102
|
|
|
103
|
-
//
|
|
103
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-config.js
|
|
104
104
|
import { z as z4 } from "zod";
|
|
105
105
|
var ANALYTICS_CONFIG_LEASE_MS = 6e4;
|
|
106
106
|
var analyticsMeasurementConfigSchema = z4.object({
|
|
@@ -129,7 +129,7 @@ var analyticsMeasurementConfigSchema = z4.object({
|
|
|
129
129
|
}
|
|
130
130
|
});
|
|
131
131
|
|
|
132
|
-
//
|
|
132
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-events.js
|
|
133
133
|
import { z as z5 } from "zod";
|
|
134
134
|
var ANALYTICS_SCHEMA_VERSION = "analytics.v1";
|
|
135
135
|
var analyticsSessionIdSchema = z5.string().regex(/^cpa_s_[a-f0-9]{32}$/u);
|
|
@@ -327,7 +327,7 @@ function isServerOnlyAnalyticsEvent(eventName) {
|
|
|
327
327
|
return serverOnlyAnalyticsEvents.includes(eventName);
|
|
328
328
|
}
|
|
329
329
|
|
|
330
|
-
//
|
|
330
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-manifest.js
|
|
331
331
|
import { z as z6 } from "zod";
|
|
332
332
|
var analyticsTargetIdSchema = z6.string().min(1).max(120).regex(/^[a-zA-Z][a-zA-Z0-9]*(?:[._-][a-zA-Z0-9]+)*$/u, {
|
|
333
333
|
message: "Analytics target IDs must be stable identifiers without whitespace or visible copy."
|
|
@@ -437,7 +437,7 @@ function isPlainRecord(value) {
|
|
|
437
437
|
return typeof value === "object" && value !== null;
|
|
438
438
|
}
|
|
439
439
|
|
|
440
|
-
//
|
|
440
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-metrics.js
|
|
441
441
|
import { z as z7 } from "zod";
|
|
442
442
|
var analyticsVisitorQualities = ["exact", "estimated"];
|
|
443
443
|
var analyticsVisitorQualitySchema = z7.enum(analyticsVisitorQualities);
|
|
@@ -454,7 +454,7 @@ var analyticsKpiKeys = [
|
|
|
454
454
|
];
|
|
455
455
|
var analyticsKpiKeySchema = z7.enum(analyticsKpiKeys);
|
|
456
456
|
|
|
457
|
-
//
|
|
457
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-privacy.js
|
|
458
458
|
var serverPropertySchemas = {
|
|
459
459
|
lead_created: {
|
|
460
460
|
conversionId: "identifier",
|
|
@@ -489,7 +489,7 @@ function revenuePropertySchema() {
|
|
|
489
489
|
};
|
|
490
490
|
}
|
|
491
491
|
|
|
492
|
-
//
|
|
492
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/assets.js
|
|
493
493
|
import { z as z8 } from "zod";
|
|
494
494
|
var ASSET_STAGES = ["staging", "final", "deleted"];
|
|
495
495
|
var ASSET_VISIBILITIES = ["private", "public", "deleted"];
|
|
@@ -504,7 +504,7 @@ var assetVisibilitySchema = z8.enum(ASSET_VISIBILITIES);
|
|
|
504
504
|
var assetUsageEntityTypeSchema = z8.enum(ASSET_USAGE_ENTITY_TYPES);
|
|
505
505
|
var brandingAccentColorSchema = z8.string().regex(/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/);
|
|
506
506
|
|
|
507
|
-
//
|
|
507
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-contracts.js
|
|
508
508
|
import { z as z9 } from "zod";
|
|
509
509
|
var bookingStatuses = [
|
|
510
510
|
"pending_payment",
|
|
@@ -850,13 +850,13 @@ var bookingManifestSchema = z9.object({
|
|
|
850
850
|
productionOrigin: z9.string().url().optional()
|
|
851
851
|
}).passthrough();
|
|
852
852
|
|
|
853
|
-
//
|
|
853
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-defaults.js
|
|
854
854
|
var BOOKING_CREATE_PAYLOAD_LIMIT_BYTES = 16 * 1024;
|
|
855
855
|
|
|
856
|
-
//
|
|
856
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
|
|
857
857
|
import { z as z17 } from "zod";
|
|
858
858
|
|
|
859
|
-
//
|
|
859
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-id.js
|
|
860
860
|
import { z as z10 } from "zod";
|
|
861
861
|
var FIELD_ID_PATTERN = /^[a-z][a-z0-9_-]*(\.[a-z][a-z0-9_-]*)+$/;
|
|
862
862
|
var fieldIdSchema = z10.string().regex(FIELD_ID_PATTERN, "Invalid field id");
|
|
@@ -864,12 +864,12 @@ function isFieldId(value) {
|
|
|
864
864
|
return typeof value === "string" && fieldIdSchema.safeParse(value).success;
|
|
865
865
|
}
|
|
866
866
|
|
|
867
|
-
//
|
|
867
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-types.js
|
|
868
868
|
import { z as z11 } from "zod";
|
|
869
869
|
var FIELD_TYPES = ["text", "longText", "image", "link"];
|
|
870
870
|
var fieldTypeSchema = z11.enum(FIELD_TYPES);
|
|
871
871
|
|
|
872
|
-
//
|
|
872
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/image-value.js
|
|
873
873
|
import { z as z12 } from "zod";
|
|
874
874
|
var SUPPORTED_IMAGE_CONTENT_TYPES = [
|
|
875
875
|
"image/jpeg",
|
|
@@ -901,7 +901,7 @@ var imageValueSchema = z12.object({
|
|
|
901
901
|
]).optional()
|
|
902
902
|
});
|
|
903
903
|
|
|
904
|
-
//
|
|
904
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-deployment.js
|
|
905
905
|
import { z as z13 } from "zod";
|
|
906
906
|
var version = z13.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u);
|
|
907
907
|
var siteSetupPackagesSchema = z13.object({
|
|
@@ -955,13 +955,13 @@ var setupDeploymentInputSchema = z13.discriminatedUnion("action", [
|
|
|
955
955
|
}).strict()
|
|
956
956
|
]);
|
|
957
957
|
|
|
958
|
-
//
|
|
958
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
|
|
959
959
|
import { z as z16 } from "zod";
|
|
960
960
|
|
|
961
|
-
//
|
|
961
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
|
|
962
962
|
import { z as z15 } from "zod";
|
|
963
963
|
|
|
964
|
-
//
|
|
964
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/fallback-hash.js
|
|
965
965
|
import { z as z14 } from "zod";
|
|
966
966
|
var SAFE_REPRESENTATION_REASONS = [
|
|
967
967
|
"asset_import_rewritten",
|
|
@@ -1183,7 +1183,7 @@ var SHA256_CONSTANTS = [
|
|
|
1183
1183
|
3329325298
|
|
1184
1184
|
];
|
|
1185
1185
|
|
|
1186
|
-
//
|
|
1186
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
|
|
1187
1187
|
var fieldContractVersion = "1.0.0";
|
|
1188
1188
|
var scannerContractVersion = "1.0.0";
|
|
1189
1189
|
var siteFieldStatusSchema = z15.enum(["hidden", "active"]);
|
|
@@ -1272,7 +1272,7 @@ function createSiteFieldContractHash(input) {
|
|
|
1272
1272
|
return `sha256:${sha256Hex(payload)}`;
|
|
1273
1273
|
}
|
|
1274
1274
|
|
|
1275
|
-
//
|
|
1275
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
|
|
1276
1276
|
var SITE_SETUP_RUN_STATUSES = [
|
|
1277
1277
|
"waiting_for_agent",
|
|
1278
1278
|
"working",
|
|
@@ -1747,6 +1747,7 @@ var siteSetupEvidenceInputSchema = z16.object({
|
|
|
1747
1747
|
bridgeSessionId: normalizedSafeTextSchema(256, "bridgeSessionId"),
|
|
1748
1748
|
observations: z16.array(z16.object({
|
|
1749
1749
|
fieldId: fieldIdSchema,
|
|
1750
|
+
fieldType: fieldTypeSchema,
|
|
1750
1751
|
routeKey: siteFieldRouteKeySchema,
|
|
1751
1752
|
renderedPath: renderedPathSchema,
|
|
1752
1753
|
targetResolved: z16.boolean(),
|
|
@@ -1815,7 +1816,7 @@ var activateSetupModulesInputSchema = activateSiteSetupInputSchema.extend({
|
|
|
1815
1816
|
])
|
|
1816
1817
|
}).strict();
|
|
1817
1818
|
|
|
1818
|
-
//
|
|
1819
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
|
|
1819
1820
|
var BRIDGE_PROTOCOL_VERSION = 2;
|
|
1820
1821
|
var bridgeRectSchema = z17.object({
|
|
1821
1822
|
x: z17.number(),
|
|
@@ -2053,10 +2054,10 @@ var fieldBridgeMessageSchema = z17.discriminatedUnion("type", [
|
|
|
2053
2054
|
fieldBridgeAnalyticsProbeResultSchema
|
|
2054
2055
|
]);
|
|
2055
2056
|
|
|
2056
|
-
//
|
|
2057
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
|
|
2057
2058
|
import { z as z19 } from "zod";
|
|
2058
2059
|
|
|
2059
|
-
//
|
|
2060
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/errors.js
|
|
2060
2061
|
import { z as z18 } from "zod";
|
|
2061
2062
|
var UI_ERROR_CATEGORIES = [
|
|
2062
2063
|
"site_member",
|
|
@@ -2071,7 +2072,7 @@ var commandErrorPayloadSchema = z18.object({
|
|
|
2071
2072
|
details: z18.record(z18.string(), z18.unknown()).optional()
|
|
2072
2073
|
});
|
|
2073
2074
|
|
|
2074
|
-
//
|
|
2075
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
|
|
2075
2076
|
var commandSuccessSchema = z19.object({
|
|
2076
2077
|
ok: z19.literal(true),
|
|
2077
2078
|
data: z19.unknown()
|
|
@@ -2085,7 +2086,7 @@ var commandResultSchema = z19.discriminatedUnion("ok", [
|
|
|
2085
2086
|
commandErrorSchema
|
|
2086
2087
|
]);
|
|
2087
2088
|
|
|
2088
|
-
//
|
|
2089
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/editor-settings.js
|
|
2089
2090
|
import { z as z20 } from "zod";
|
|
2090
2091
|
var editorColorSchemeSchema = z20.enum([
|
|
2091
2092
|
"paper",
|
|
@@ -2097,7 +2098,7 @@ var editorColorSchemes = editorColorSchemeSchema.options;
|
|
|
2097
2098
|
var editorColorModeSchema = z20.enum(["light", "dark"]);
|
|
2098
2099
|
var editorColorModes = editorColorModeSchema.options;
|
|
2099
2100
|
|
|
2100
|
-
//
|
|
2101
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-slug.js
|
|
2101
2102
|
import { z as z21 } from "zod";
|
|
2102
2103
|
var SITE_SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
2103
2104
|
var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
@@ -2117,7 +2118,7 @@ var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
|
2117
2118
|
]);
|
|
2118
2119
|
var siteSlugSchema = z21.string().regex(SITE_SLUG_PATTERN, "Invalid site slug").refine((value) => !RESERVED_SITE_SLUGS.has(value), "Reserved site slug");
|
|
2119
2120
|
|
|
2120
|
-
//
|
|
2121
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/entitlements.js
|
|
2121
2122
|
import { z as z22 } from "zod";
|
|
2122
2123
|
var entitlementSnapshotSchema = z22.object({
|
|
2123
2124
|
planKey: z22.string().trim().min(1),
|
|
@@ -2164,10 +2165,10 @@ var EARLY_ACCESS_PLAN = {
|
|
|
2164
2165
|
bookingRemindersEnabled: true
|
|
2165
2166
|
};
|
|
2166
2167
|
|
|
2167
|
-
//
|
|
2168
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/first-party-image-upload.js
|
|
2168
2169
|
var maxFirstPartyImageUploadBytes = 4 * 1024 * 1024;
|
|
2169
2170
|
|
|
2170
|
-
//
|
|
2171
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/readiness.js
|
|
2171
2172
|
import { z as z23 } from "zod";
|
|
2172
2173
|
var READINESS_CHECK_KEYS = [
|
|
2173
2174
|
"agent_instructions_installed",
|
|
@@ -2186,7 +2187,7 @@ var READINESS_STATUSES = [
|
|
|
2186
2187
|
var readinessCheckKeySchema = z23.enum(READINESS_CHECK_KEYS);
|
|
2187
2188
|
var readinessStatusSchema = z23.enum(READINESS_STATUSES);
|
|
2188
2189
|
|
|
2189
|
-
//
|
|
2190
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site.js
|
|
2190
2191
|
import { z as z24 } from "zod";
|
|
2191
2192
|
var SITE_STATUSES = [
|
|
2192
2193
|
"setup",
|
|
@@ -2197,7 +2198,7 @@ var SITE_STATUSES = [
|
|
|
2197
2198
|
var siteStatusSchema = z24.enum(SITE_STATUSES);
|
|
2198
2199
|
var websiteUrlSchema = z24.string().trim().url().refine((value) => value.startsWith("https://") || value.startsWith("http://"), "Website URL must use http or https");
|
|
2199
2200
|
|
|
2200
|
-
//
|
|
2201
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-assets.js
|
|
2201
2202
|
import { z as z25 } from "zod";
|
|
2202
2203
|
var configureSetupAssetTargetInputSchema = z25.object({
|
|
2203
2204
|
siteId: z25.string().uuid(),
|
|
@@ -2258,7 +2259,7 @@ var checkSetupAssetTargetInputSchema = z25.object({
|
|
|
2258
2259
|
intent: z25.enum(["start", "poll"])
|
|
2259
2260
|
}).strict();
|
|
2260
2261
|
|
|
2261
|
-
//
|
|
2262
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-installation.js
|
|
2262
2263
|
import { z as z26 } from "zod";
|
|
2263
2264
|
var setupInstallationRequestSchema = z26.object({
|
|
2264
2265
|
modules: siteSetupModulesSchema,
|
|
@@ -2269,7 +2270,7 @@ var setupInstallationRequestSchema = z26.object({
|
|
|
2269
2270
|
}).strict()
|
|
2270
2271
|
}).strict();
|
|
2271
2272
|
|
|
2272
|
-
//
|
|
2273
|
+
// ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-claim.js
|
|
2273
2274
|
import { z as z27 } from "zod";
|
|
2274
2275
|
var setupClaimCodeSchema = z27.string().regex(/^[0-9A-HJKMNP-TV-Z]{8}$/u);
|
|
2275
2276
|
var setupClaimBindingSchema = z27.object({
|
|
@@ -2839,8 +2840,6 @@ async function inspectSetupLocalProject(projectDir) {
|
|
|
2839
2840
|
sourceConflicts.push("base_path");
|
|
2840
2841
|
if (/\bloaderFile\s*:|\bloader\s*:\s*['"](?:custom|imgix|cloudinary|akamai)['"]/u.test(source))
|
|
2841
2842
|
sourceConflicts.push(`inspect_image_loader:${file}`);
|
|
2842
|
-
if (/\bmaximumRedirects\s*:\s*[1-9]/u.test(source))
|
|
2843
|
-
sourceConflicts.push(`inspect_image_redirects:${file}`);
|
|
2844
2843
|
}
|
|
2845
2844
|
if (sourceConflicts.some((conflict) => conflict === "static_export" || conflict === "base_path"))
|
|
2846
2845
|
fail("unsupported_server_configuration", "Resolve static export/basePath configuration explicitly; Siteplane requires its server-side admin and revalidation handlers.");
|
|
@@ -4192,39 +4191,25 @@ async function scanNextProjectFieldContract(projectDir) {
|
|
|
4192
4191
|
async function withSiteplane(nextConfig, options = {}) {
|
|
4193
4192
|
const projectDir = options.projectDir ?? process.cwd();
|
|
4194
4193
|
const config = await readProjectConfig(projectDir);
|
|
4195
|
-
if (!config.fieldContractHash) {
|
|
4196
|
-
throw new SiteplaneNextContractError(
|
|
4197
|
-
"missing_field_contract",
|
|
4198
|
-
"Run siteplane setup apply before starting or building Next.js."
|
|
4199
|
-
);
|
|
4200
|
-
}
|
|
4201
4194
|
const scan = await scanNextProjectFieldContract(projectDir);
|
|
4202
|
-
if (scan.fieldContractHash !== config.fieldContractHash) {
|
|
4203
|
-
throw new SiteplaneNextContractError(
|
|
4204
|
-
"stale_field_contract",
|
|
4205
|
-
"The instrumented source no longer matches siteplane.config.json. Run siteplane setup apply again."
|
|
4206
|
-
);
|
|
4207
|
-
}
|
|
4208
|
-
const checkoutRevision = await readGitRevision2(projectDir) || await readBuildProvenance(projectDir) || (process.env.VERCEL === "1" ? process.env.VERCEL_GIT_COMMIT_SHA?.trim() : "");
|
|
4209
4195
|
const requestedRevision = options.buildRevision?.trim() || process.env.SITEPLANE_BUILD_REVISION?.trim();
|
|
4210
|
-
|
|
4211
|
-
|
|
4212
|
-
|
|
4213
|
-
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
);
|
|
4196
|
+
const providerRevision = process.env.VERCEL === "1" ? process.env.VERCEL_GIT_COMMIT_SHA?.trim() : void 0;
|
|
4197
|
+
const buildRevision = providerRevision || await readGitRevision2(projectDir) || await readBuildProvenance(projectDir) || requestedRevision || "local";
|
|
4198
|
+
if (process.env.VERCEL === "1" && /^[0-9a-f]{40}$/u.test(buildRevision)) {
|
|
4199
|
+
try {
|
|
4200
|
+
await emitBuildProof(
|
|
4201
|
+
projectDir,
|
|
4202
|
+
config.packages,
|
|
4203
|
+
buildRevision,
|
|
4204
|
+
scan.fieldContractHash
|
|
4205
|
+
);
|
|
4206
|
+
} catch (error) {
|
|
4207
|
+
const detail = error instanceof SiteplaneNextContractError ? error.code : "unavailable";
|
|
4208
|
+
console.warn(
|
|
4209
|
+
`[Siteplane] Build proof ${detail}; the website build continues. Run the scoped Siteplane setup verification when editor evidence must be refreshed.`
|
|
4210
|
+
);
|
|
4211
|
+
}
|
|
4212
|
+
}
|
|
4228
4213
|
const hasImages = scan.contract.fields.some(
|
|
4229
4214
|
(field) => field.fieldType === "image"
|
|
4230
4215
|
);
|
|
@@ -4306,16 +4291,6 @@ function readImageWebsiteOrigin() {
|
|
|
4306
4291
|
}
|
|
4307
4292
|
}
|
|
4308
4293
|
function prepareImagePatterns(images, websiteOrigin) {
|
|
4309
|
-
if (images?.loaderFile || images?.loader && images.loader !== "default")
|
|
4310
|
-
throw new SiteplaneNextContractError(
|
|
4311
|
-
"image_policy_conflict",
|
|
4312
|
-
"The website uses a custom image loader. Reconcile its handling of Siteplane and repository image URLs while preserving existing images; do not bypass optimization globally."
|
|
4313
|
-
);
|
|
4314
|
-
if (images?.maximumRedirects !== void 0 && images.maximumRedirects !== 0)
|
|
4315
|
-
throw new SiteplaneNextContractError(
|
|
4316
|
-
"image_policy_conflict",
|
|
4317
|
-
"The website explicitly follows image redirects. Resolve redirecting sources before setting maximumRedirects to 0; Siteplane image destinations must be fetched directly."
|
|
4318
|
-
);
|
|
4319
4294
|
const remotePatterns = [...images?.remotePatterns ?? []];
|
|
4320
4295
|
for (const [origin, pathname] of [
|
|
4321
4296
|
[managedImageOrigin, "/api/assets/*/content"],
|
|
@@ -4341,8 +4316,7 @@ function prepareImagePatterns(images, websiteOrigin) {
|
|
|
4341
4316
|
return {
|
|
4342
4317
|
...images,
|
|
4343
4318
|
remotePatterns,
|
|
4344
|
-
...localPatterns ? { localPatterns } : {}
|
|
4345
|
-
maximumRedirects: 0
|
|
4319
|
+
...localPatterns ? { localPatterns } : {}
|
|
4346
4320
|
};
|
|
4347
4321
|
}
|
|
4348
4322
|
function prepareImageCsp(policy, websiteOrigin) {
|