siteplane 0.1.59 → 0.1.60
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 -3
- package/dist/bin/siteplane.js +46 -41
- package/dist/index.js +35 -35
- package/dist/next.js +35 -35
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -82,7 +82,10 @@ siteplane setup deploy --wait
|
|
|
82
82
|
Commit only intended source before deploy. The CLI securely transfers its Production environment, adopts or
|
|
83
83
|
starts one matching deployment and verifies the actual build and signed runtime. Unchanged resume creates no
|
|
84
84
|
new deployment. A saved 15-minute provider deadline and operation identity prevent blind retries after response
|
|
85
|
-
loss.
|
|
85
|
+
loss. If that deadline expires after the deploy was requested, rerun the same command: each invocation gets a
|
|
86
|
+
bounded 120-second readback of that same operation. A ready result is adopted; a still-running or unreachable
|
|
87
|
+
provider remains resumable and never authorizes a second deploy. Uploads use committed source in a temporary
|
|
88
|
+
checkout; local credentials are never copied into it.
|
|
86
89
|
|
|
87
90
|
For a lost connection, the owner chooses **Replace local connection** in the same open setup. Its new grant
|
|
88
91
|
preserves the Site, Run, runtime key, revalidation generation, selected fields and provider admin-session secret.
|
|
@@ -99,8 +102,8 @@ Before starting, add `.siteplane/credentials.json` to the repository’s `.gitig
|
|
|
99
102
|
unprotected credentials before any provisioning request.
|
|
100
103
|
|
|
101
104
|
```bash
|
|
102
|
-
npx -y siteplane@0.1.
|
|
103
|
-
npx -y siteplane@0.1.
|
|
105
|
+
npx -y siteplane@0.1.60 setup start --modules editing --instructions-file instructions.txt
|
|
106
|
+
npx -y siteplane@0.1.60 setup context
|
|
104
107
|
```
|
|
105
108
|
|
|
106
109
|
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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../shared/dist/booking-defaults.js
|
|
923
923
|
var BOOKING_CREATE_PAYLOAD_LIMIT_BYTES = 16 * 1024;
|
|
924
924
|
|
|
925
|
-
//
|
|
925
|
+
// ../shared/dist/bridge-protocol.js
|
|
926
926
|
import { z as z17 } from "zod";
|
|
927
927
|
|
|
928
|
-
//
|
|
928
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../shared/dist/site-setup.js
|
|
1028
1028
|
import { z as z16 } from "zod";
|
|
1029
1029
|
|
|
1030
|
-
//
|
|
1030
|
+
// ../shared/dist/site-field-contract.js
|
|
1031
1031
|
import { z as z15 } from "zod";
|
|
1032
1032
|
|
|
1033
|
-
//
|
|
1033
|
+
// ../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
|
+
// ../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
|
+
// ../shared/dist/site-setup.js
|
|
1345
1345
|
var SITE_SETUP_RUN_STATUSES = [
|
|
1346
1346
|
"waiting_for_agent",
|
|
1347
1347
|
"working",
|
|
@@ -1885,7 +1885,7 @@ var activateSetupModulesInputSchema = activateSiteSetupInputSchema.extend({
|
|
|
1885
1885
|
])
|
|
1886
1886
|
}).strict();
|
|
1887
1887
|
|
|
1888
|
-
//
|
|
1888
|
+
// ../shared/dist/bridge-protocol.js
|
|
1889
1889
|
var BRIDGE_PROTOCOL_VERSION = 2;
|
|
1890
1890
|
var bridgeRectSchema = z17.object({
|
|
1891
1891
|
x: z17.number(),
|
|
@@ -2123,10 +2123,10 @@ var fieldBridgeMessageSchema = z17.discriminatedUnion("type", [
|
|
|
2123
2123
|
fieldBridgeAnalyticsProbeResultSchema
|
|
2124
2124
|
]);
|
|
2125
2125
|
|
|
2126
|
-
//
|
|
2126
|
+
// ../shared/dist/commands.js
|
|
2127
2127
|
import { z as z19 } from "zod";
|
|
2128
2128
|
|
|
2129
|
-
//
|
|
2129
|
+
// ../shared/dist/errors.js
|
|
2130
2130
|
import { z as z18 } from "zod";
|
|
2131
2131
|
var UI_ERROR_CATEGORIES = [
|
|
2132
2132
|
"site_member",
|
|
@@ -2141,7 +2141,7 @@ var commandErrorPayloadSchema = z18.object({
|
|
|
2141
2141
|
details: z18.record(z18.string(), z18.unknown()).optional()
|
|
2142
2142
|
});
|
|
2143
2143
|
|
|
2144
|
-
//
|
|
2144
|
+
// ../shared/dist/commands.js
|
|
2145
2145
|
var commandSuccessSchema = z19.object({
|
|
2146
2146
|
ok: z19.literal(true),
|
|
2147
2147
|
data: z19.unknown()
|
|
@@ -2155,7 +2155,7 @@ var commandResultSchema = z19.discriminatedUnion("ok", [
|
|
|
2155
2155
|
commandErrorSchema
|
|
2156
2156
|
]);
|
|
2157
2157
|
|
|
2158
|
-
//
|
|
2158
|
+
// ../shared/dist/editor-settings.js
|
|
2159
2159
|
import { z as z20 } from "zod";
|
|
2160
2160
|
var editorColorSchemeSchema = z20.enum([
|
|
2161
2161
|
"paper",
|
|
@@ -2167,7 +2167,7 @@ var editorColorSchemes = editorColorSchemeSchema.options;
|
|
|
2167
2167
|
var editorColorModeSchema = z20.enum(["light", "dark"]);
|
|
2168
2168
|
var editorColorModes = editorColorModeSchema.options;
|
|
2169
2169
|
|
|
2170
|
-
//
|
|
2170
|
+
// ../shared/dist/site-slug.js
|
|
2171
2171
|
import { z as z21 } from "zod";
|
|
2172
2172
|
var SITE_SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
2173
2173
|
var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
@@ -2187,7 +2187,7 @@ var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
|
2187
2187
|
]);
|
|
2188
2188
|
var siteSlugSchema = z21.string().regex(SITE_SLUG_PATTERN, "Invalid site slug").refine((value) => !RESERVED_SITE_SLUGS.has(value), "Reserved site slug");
|
|
2189
2189
|
|
|
2190
|
-
//
|
|
2190
|
+
// ../shared/dist/entitlements.js
|
|
2191
2191
|
import { z as z22 } from "zod";
|
|
2192
2192
|
var entitlementSnapshotSchema = z22.object({
|
|
2193
2193
|
planKey: z22.string().trim().min(1),
|
|
@@ -2234,10 +2234,10 @@ var EARLY_ACCESS_PLAN = {
|
|
|
2234
2234
|
bookingRemindersEnabled: true
|
|
2235
2235
|
};
|
|
2236
2236
|
|
|
2237
|
-
//
|
|
2237
|
+
// ../shared/dist/first-party-image-upload.js
|
|
2238
2238
|
var maxFirstPartyImageUploadBytes = 4 * 1024 * 1024;
|
|
2239
2239
|
|
|
2240
|
-
//
|
|
2240
|
+
// ../shared/dist/readiness.js
|
|
2241
2241
|
import { z as z23 } from "zod";
|
|
2242
2242
|
var READINESS_CHECK_KEYS = [
|
|
2243
2243
|
"agent_instructions_installed",
|
|
@@ -2256,7 +2256,7 @@ var READINESS_STATUSES = [
|
|
|
2256
2256
|
var readinessCheckKeySchema = z23.enum(READINESS_CHECK_KEYS);
|
|
2257
2257
|
var readinessStatusSchema = z23.enum(READINESS_STATUSES);
|
|
2258
2258
|
|
|
2259
|
-
//
|
|
2259
|
+
// ../shared/dist/site.js
|
|
2260
2260
|
import { z as z24 } from "zod";
|
|
2261
2261
|
var SITE_STATUSES = [
|
|
2262
2262
|
"setup",
|
|
@@ -2267,7 +2267,7 @@ var SITE_STATUSES = [
|
|
|
2267
2267
|
var siteStatusSchema = z24.enum(SITE_STATUSES);
|
|
2268
2268
|
var websiteUrlSchema = z24.string().trim().url().refine((value) => value.startsWith("https://") || value.startsWith("http://"), "Website URL must use http or https");
|
|
2269
2269
|
|
|
2270
|
-
//
|
|
2270
|
+
// ../shared/dist/setup-assets.js
|
|
2271
2271
|
import { z as z25 } from "zod";
|
|
2272
2272
|
var configureSetupAssetTargetInputSchema = z25.object({
|
|
2273
2273
|
siteId: z25.string().uuid(),
|
|
@@ -2328,7 +2328,7 @@ var checkSetupAssetTargetInputSchema = z25.object({
|
|
|
2328
2328
|
intent: z25.enum(["start", "poll"])
|
|
2329
2329
|
}).strict();
|
|
2330
2330
|
|
|
2331
|
-
//
|
|
2331
|
+
// ../shared/dist/setup-installation.js
|
|
2332
2332
|
import { z as z26 } from "zod";
|
|
2333
2333
|
var setupInstallationRequestSchema = z26.object({
|
|
2334
2334
|
modules: siteSetupModulesSchema,
|
|
@@ -2339,7 +2339,7 @@ var setupInstallationRequestSchema = z26.object({
|
|
|
2339
2339
|
}).strict()
|
|
2340
2340
|
}).strict();
|
|
2341
2341
|
|
|
2342
|
-
//
|
|
2342
|
+
// ../shared/dist/setup-claim.js
|
|
2343
2343
|
import { z as z27 } from "zod";
|
|
2344
2344
|
var setupClaimCodeSchema = z27.string().regex(/^[0-9A-HJKMNP-TV-Z]{8}$/u);
|
|
2345
2345
|
var setupClaimBindingSchema = z27.object({
|
|
@@ -5605,7 +5605,7 @@ ${task.goal}
|
|
|
5605
5605
|
|
|
5606
5606
|
${task.discovery.rules.map((rule) => `- ${rule}`).join("\n")}
|
|
5607
5607
|
|
|
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.
|
|
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. If a requested deploy passes its provider deadline, rerun the same command for a bounded readback of that operation; do not start a replacement while its outcome is unresolved. 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.
|
|
5609
5609
|
`);
|
|
5610
5610
|
for (const [path, content] of files) {
|
|
5611
5611
|
if (path === layoutPath || path === nextPath || path === guidePath)
|
|
@@ -5914,6 +5914,8 @@ var defaults = {
|
|
|
5914
5914
|
now: Date.now,
|
|
5915
5915
|
pause: (milliseconds) => new Promise((resolve5) => setTimeout(resolve5, milliseconds))
|
|
5916
5916
|
};
|
|
5917
|
+
var PROVIDER_OPERATION_TIMEOUT_MS = 9e5;
|
|
5918
|
+
var PROVIDER_RESUME_READBACK_TIMEOUT_MS = 12e4;
|
|
5917
5919
|
async function setupDeployCommand(input, deps = defaults) {
|
|
5918
5920
|
let record = null;
|
|
5919
5921
|
try {
|
|
@@ -5959,11 +5961,14 @@ async function setupDeployCommand(input, deps = defaults) {
|
|
|
5959
5961
|
} catch {
|
|
5960
5962
|
fail2("siteplane_package_pin_conflict", "Install the exact Siteplane package versions from the current task and commit their canonical lockfile.");
|
|
5961
5963
|
}
|
|
5962
|
-
|
|
5964
|
+
const recordedOperationDeadline = record && !["verified", "deployed", "failed"].includes(record.phase) ? Date.parse(record.deadline) : null;
|
|
5965
|
+
const isExpiredDeployReadback = record?.phase === "deploy_requested" && recordedOperationDeadline !== null && recordedOperationDeadline <= deps.now();
|
|
5966
|
+
let operationDeadline = isExpiredDeployReadback ? deps.now() + PROVIDER_RESUME_READBACK_TIMEOUT_MS : recordedOperationDeadline ?? deps.now() + PROVIDER_OPERATION_TIMEOUT_MS;
|
|
5967
|
+
const deadlineExceededMessage = isExpiredDeployReadback ? "The bounded provider readback ended while the existing deployment is still unresolved. Retry later to read the same operation; setup will not start a second deployment." : "The 15-minute provider deadline expired. Inspect the recorded operation; setup will not start a second deployment on resume.";
|
|
5963
5968
|
const remaining = () => {
|
|
5964
5969
|
const milliseconds = operationDeadline - deps.now();
|
|
5965
5970
|
if (milliseconds <= 0)
|
|
5966
|
-
fail2("provider_deadline_exceeded",
|
|
5971
|
+
fail2("provider_deadline_exceeded", deadlineExceededMessage);
|
|
5967
5972
|
return milliseconds;
|
|
5968
5973
|
};
|
|
5969
5974
|
const processCommand = async (binary, args, options) => {
|
|
@@ -6094,7 +6099,7 @@ async function setupDeployCommand(input, deps = defaults) {
|
|
|
6094
6099
|
startedAt: new Date(deps.now()).toISOString(),
|
|
6095
6100
|
environmentWrittenAt: null,
|
|
6096
6101
|
deployRequestedAt: null,
|
|
6097
|
-
deadline: new Date(deps.now() +
|
|
6102
|
+
deadline: new Date(deps.now() + PROVIDER_OPERATION_TIMEOUT_MS).toISOString(),
|
|
6098
6103
|
phase: "planned",
|
|
6099
6104
|
build: null
|
|
6100
6105
|
});
|
|
@@ -6264,9 +6269,9 @@ async function setupDeployCommand(input, deps = defaults) {
|
|
|
6264
6269
|
let poll = 0;
|
|
6265
6270
|
while (!deployment || !["READY", "ERROR", "CANCELED", "BLOCKED"].includes(deployment.readyState)) {
|
|
6266
6271
|
progress();
|
|
6267
|
-
const remaining2 =
|
|
6272
|
+
const remaining2 = operationDeadline - deps.now();
|
|
6268
6273
|
if (remaining2 <= 0)
|
|
6269
|
-
fail2("provider_deadline_exceeded",
|
|
6274
|
+
fail2("provider_deadline_exceeded", deadlineExceededMessage);
|
|
6270
6275
|
await deps.pause(Math.min(remaining2, Math.min(15e3, 2e3 * 2 ** Math.min(poll++, 3)) + Math.floor(Math.random() * 500)));
|
|
6271
6276
|
deployment = deployment ? await detail(deployment.id) : await discover();
|
|
6272
6277
|
if (deployment && !matches(deployment))
|
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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../shared/dist/booking-defaults.js
|
|
862
862
|
var BOOKING_CREATE_PAYLOAD_LIMIT_BYTES = 16 * 1024;
|
|
863
863
|
|
|
864
|
-
//
|
|
864
|
+
// ../shared/dist/bridge-protocol.js
|
|
865
865
|
import { z as z17 } from "zod";
|
|
866
866
|
|
|
867
|
-
//
|
|
867
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../shared/dist/site-setup.js
|
|
964
964
|
import { z as z16 } from "zod";
|
|
965
965
|
|
|
966
|
-
//
|
|
966
|
+
// ../shared/dist/site-field-contract.js
|
|
967
967
|
import { z as z15 } from "zod";
|
|
968
968
|
|
|
969
|
-
//
|
|
969
|
+
// ../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
|
+
// ../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
|
+
// ../shared/dist/site-setup.js
|
|
1073
1073
|
var SITE_SETUP_RUN_STATUSES = [
|
|
1074
1074
|
"waiting_for_agent",
|
|
1075
1075
|
"working",
|
|
@@ -1613,7 +1613,7 @@ var activateSetupModulesInputSchema = activateSiteSetupInputSchema.extend({
|
|
|
1613
1613
|
])
|
|
1614
1614
|
}).strict();
|
|
1615
1615
|
|
|
1616
|
-
//
|
|
1616
|
+
// ../shared/dist/bridge-protocol.js
|
|
1617
1617
|
var BRIDGE_PROTOCOL_VERSION = 2;
|
|
1618
1618
|
var bridgeRectSchema = z17.object({
|
|
1619
1619
|
x: z17.number(),
|
|
@@ -1851,10 +1851,10 @@ var fieldBridgeMessageSchema = z17.discriminatedUnion("type", [
|
|
|
1851
1851
|
fieldBridgeAnalyticsProbeResultSchema
|
|
1852
1852
|
]);
|
|
1853
1853
|
|
|
1854
|
-
//
|
|
1854
|
+
// ../shared/dist/commands.js
|
|
1855
1855
|
import { z as z19 } from "zod";
|
|
1856
1856
|
|
|
1857
|
-
//
|
|
1857
|
+
// ../shared/dist/errors.js
|
|
1858
1858
|
import { z as z18 } from "zod";
|
|
1859
1859
|
var UI_ERROR_CATEGORIES = [
|
|
1860
1860
|
"site_member",
|
|
@@ -1869,7 +1869,7 @@ var commandErrorPayloadSchema = z18.object({
|
|
|
1869
1869
|
details: z18.record(z18.string(), z18.unknown()).optional()
|
|
1870
1870
|
});
|
|
1871
1871
|
|
|
1872
|
-
//
|
|
1872
|
+
// ../shared/dist/commands.js
|
|
1873
1873
|
var commandSuccessSchema = z19.object({
|
|
1874
1874
|
ok: z19.literal(true),
|
|
1875
1875
|
data: z19.unknown()
|
|
@@ -1883,7 +1883,7 @@ var commandResultSchema = z19.discriminatedUnion("ok", [
|
|
|
1883
1883
|
commandErrorSchema
|
|
1884
1884
|
]);
|
|
1885
1885
|
|
|
1886
|
-
//
|
|
1886
|
+
// ../shared/dist/editor-settings.js
|
|
1887
1887
|
import { z as z20 } from "zod";
|
|
1888
1888
|
var editorColorSchemeSchema = z20.enum([
|
|
1889
1889
|
"paper",
|
|
@@ -1895,7 +1895,7 @@ var editorColorSchemes = editorColorSchemeSchema.options;
|
|
|
1895
1895
|
var editorColorModeSchema = z20.enum(["light", "dark"]);
|
|
1896
1896
|
var editorColorModes = editorColorModeSchema.options;
|
|
1897
1897
|
|
|
1898
|
-
//
|
|
1898
|
+
// ../shared/dist/site-slug.js
|
|
1899
1899
|
import { z as z21 } from "zod";
|
|
1900
1900
|
var SITE_SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
1901
1901
|
var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
@@ -1915,7 +1915,7 @@ var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
|
1915
1915
|
]);
|
|
1916
1916
|
var siteSlugSchema = z21.string().regex(SITE_SLUG_PATTERN, "Invalid site slug").refine((value) => !RESERVED_SITE_SLUGS.has(value), "Reserved site slug");
|
|
1917
1917
|
|
|
1918
|
-
//
|
|
1918
|
+
// ../shared/dist/entitlements.js
|
|
1919
1919
|
import { z as z22 } from "zod";
|
|
1920
1920
|
var entitlementSnapshotSchema = z22.object({
|
|
1921
1921
|
planKey: z22.string().trim().min(1),
|
|
@@ -1962,10 +1962,10 @@ var EARLY_ACCESS_PLAN = {
|
|
|
1962
1962
|
bookingRemindersEnabled: true
|
|
1963
1963
|
};
|
|
1964
1964
|
|
|
1965
|
-
//
|
|
1965
|
+
// ../shared/dist/first-party-image-upload.js
|
|
1966
1966
|
var maxFirstPartyImageUploadBytes = 4 * 1024 * 1024;
|
|
1967
1967
|
|
|
1968
|
-
//
|
|
1968
|
+
// ../shared/dist/readiness.js
|
|
1969
1969
|
import { z as z23 } from "zod";
|
|
1970
1970
|
var READINESS_CHECK_KEYS = [
|
|
1971
1971
|
"agent_instructions_installed",
|
|
@@ -1984,7 +1984,7 @@ var READINESS_STATUSES = [
|
|
|
1984
1984
|
var readinessCheckKeySchema = z23.enum(READINESS_CHECK_KEYS);
|
|
1985
1985
|
var readinessStatusSchema = z23.enum(READINESS_STATUSES);
|
|
1986
1986
|
|
|
1987
|
-
//
|
|
1987
|
+
// ../shared/dist/site.js
|
|
1988
1988
|
import { z as z24 } from "zod";
|
|
1989
1989
|
var SITE_STATUSES = [
|
|
1990
1990
|
"setup",
|
|
@@ -1995,7 +1995,7 @@ var SITE_STATUSES = [
|
|
|
1995
1995
|
var siteStatusSchema = z24.enum(SITE_STATUSES);
|
|
1996
1996
|
var websiteUrlSchema = z24.string().trim().url().refine((value) => value.startsWith("https://") || value.startsWith("http://"), "Website URL must use http or https");
|
|
1997
1997
|
|
|
1998
|
-
//
|
|
1998
|
+
// ../shared/dist/setup-assets.js
|
|
1999
1999
|
import { z as z25 } from "zod";
|
|
2000
2000
|
var configureSetupAssetTargetInputSchema = z25.object({
|
|
2001
2001
|
siteId: z25.string().uuid(),
|
|
@@ -2056,7 +2056,7 @@ var checkSetupAssetTargetInputSchema = z25.object({
|
|
|
2056
2056
|
intent: z25.enum(["start", "poll"])
|
|
2057
2057
|
}).strict();
|
|
2058
2058
|
|
|
2059
|
-
//
|
|
2059
|
+
// ../shared/dist/setup-installation.js
|
|
2060
2060
|
import { z as z26 } from "zod";
|
|
2061
2061
|
var setupInstallationRequestSchema = z26.object({
|
|
2062
2062
|
modules: siteSetupModulesSchema,
|
|
@@ -2067,7 +2067,7 @@ var setupInstallationRequestSchema = z26.object({
|
|
|
2067
2067
|
}).strict()
|
|
2068
2068
|
}).strict();
|
|
2069
2069
|
|
|
2070
|
-
//
|
|
2070
|
+
// ../shared/dist/setup-claim.js
|
|
2071
2071
|
import { z as z27 } from "zod";
|
|
2072
2072
|
var setupClaimCodeSchema = z27.string().regex(/^[0-9A-HJKMNP-TV-Z]{8}$/u);
|
|
2073
2073
|
var setupClaimBindingSchema = z27.object({
|
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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../shared/dist/booking-defaults.js
|
|
854
854
|
var BOOKING_CREATE_PAYLOAD_LIMIT_BYTES = 16 * 1024;
|
|
855
855
|
|
|
856
|
-
//
|
|
856
|
+
// ../shared/dist/bridge-protocol.js
|
|
857
857
|
import { z as z17 } from "zod";
|
|
858
858
|
|
|
859
|
-
//
|
|
859
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../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
|
+
// ../shared/dist/site-setup.js
|
|
959
959
|
import { z as z16 } from "zod";
|
|
960
960
|
|
|
961
|
-
//
|
|
961
|
+
// ../shared/dist/site-field-contract.js
|
|
962
962
|
import { z as z15 } from "zod";
|
|
963
963
|
|
|
964
|
-
//
|
|
964
|
+
// ../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
|
+
// ../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
|
+
// ../shared/dist/site-setup.js
|
|
1276
1276
|
var SITE_SETUP_RUN_STATUSES = [
|
|
1277
1277
|
"waiting_for_agent",
|
|
1278
1278
|
"working",
|
|
@@ -1816,7 +1816,7 @@ var activateSetupModulesInputSchema = activateSiteSetupInputSchema.extend({
|
|
|
1816
1816
|
])
|
|
1817
1817
|
}).strict();
|
|
1818
1818
|
|
|
1819
|
-
//
|
|
1819
|
+
// ../shared/dist/bridge-protocol.js
|
|
1820
1820
|
var BRIDGE_PROTOCOL_VERSION = 2;
|
|
1821
1821
|
var bridgeRectSchema = z17.object({
|
|
1822
1822
|
x: z17.number(),
|
|
@@ -2054,10 +2054,10 @@ var fieldBridgeMessageSchema = z17.discriminatedUnion("type", [
|
|
|
2054
2054
|
fieldBridgeAnalyticsProbeResultSchema
|
|
2055
2055
|
]);
|
|
2056
2056
|
|
|
2057
|
-
//
|
|
2057
|
+
// ../shared/dist/commands.js
|
|
2058
2058
|
import { z as z19 } from "zod";
|
|
2059
2059
|
|
|
2060
|
-
//
|
|
2060
|
+
// ../shared/dist/errors.js
|
|
2061
2061
|
import { z as z18 } from "zod";
|
|
2062
2062
|
var UI_ERROR_CATEGORIES = [
|
|
2063
2063
|
"site_member",
|
|
@@ -2072,7 +2072,7 @@ var commandErrorPayloadSchema = z18.object({
|
|
|
2072
2072
|
details: z18.record(z18.string(), z18.unknown()).optional()
|
|
2073
2073
|
});
|
|
2074
2074
|
|
|
2075
|
-
//
|
|
2075
|
+
// ../shared/dist/commands.js
|
|
2076
2076
|
var commandSuccessSchema = z19.object({
|
|
2077
2077
|
ok: z19.literal(true),
|
|
2078
2078
|
data: z19.unknown()
|
|
@@ -2086,7 +2086,7 @@ var commandResultSchema = z19.discriminatedUnion("ok", [
|
|
|
2086
2086
|
commandErrorSchema
|
|
2087
2087
|
]);
|
|
2088
2088
|
|
|
2089
|
-
//
|
|
2089
|
+
// ../shared/dist/editor-settings.js
|
|
2090
2090
|
import { z as z20 } from "zod";
|
|
2091
2091
|
var editorColorSchemeSchema = z20.enum([
|
|
2092
2092
|
"paper",
|
|
@@ -2098,7 +2098,7 @@ var editorColorSchemes = editorColorSchemeSchema.options;
|
|
|
2098
2098
|
var editorColorModeSchema = z20.enum(["light", "dark"]);
|
|
2099
2099
|
var editorColorModes = editorColorModeSchema.options;
|
|
2100
2100
|
|
|
2101
|
-
//
|
|
2101
|
+
// ../shared/dist/site-slug.js
|
|
2102
2102
|
import { z as z21 } from "zod";
|
|
2103
2103
|
var SITE_SLUG_PATTERN = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
2104
2104
|
var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
@@ -2118,7 +2118,7 @@ var RESERVED_SITE_SLUGS = /* @__PURE__ */ new Set([
|
|
|
2118
2118
|
]);
|
|
2119
2119
|
var siteSlugSchema = z21.string().regex(SITE_SLUG_PATTERN, "Invalid site slug").refine((value) => !RESERVED_SITE_SLUGS.has(value), "Reserved site slug");
|
|
2120
2120
|
|
|
2121
|
-
//
|
|
2121
|
+
// ../shared/dist/entitlements.js
|
|
2122
2122
|
import { z as z22 } from "zod";
|
|
2123
2123
|
var entitlementSnapshotSchema = z22.object({
|
|
2124
2124
|
planKey: z22.string().trim().min(1),
|
|
@@ -2165,10 +2165,10 @@ var EARLY_ACCESS_PLAN = {
|
|
|
2165
2165
|
bookingRemindersEnabled: true
|
|
2166
2166
|
};
|
|
2167
2167
|
|
|
2168
|
-
//
|
|
2168
|
+
// ../shared/dist/first-party-image-upload.js
|
|
2169
2169
|
var maxFirstPartyImageUploadBytes = 4 * 1024 * 1024;
|
|
2170
2170
|
|
|
2171
|
-
//
|
|
2171
|
+
// ../shared/dist/readiness.js
|
|
2172
2172
|
import { z as z23 } from "zod";
|
|
2173
2173
|
var READINESS_CHECK_KEYS = [
|
|
2174
2174
|
"agent_instructions_installed",
|
|
@@ -2187,7 +2187,7 @@ var READINESS_STATUSES = [
|
|
|
2187
2187
|
var readinessCheckKeySchema = z23.enum(READINESS_CHECK_KEYS);
|
|
2188
2188
|
var readinessStatusSchema = z23.enum(READINESS_STATUSES);
|
|
2189
2189
|
|
|
2190
|
-
//
|
|
2190
|
+
// ../shared/dist/site.js
|
|
2191
2191
|
import { z as z24 } from "zod";
|
|
2192
2192
|
var SITE_STATUSES = [
|
|
2193
2193
|
"setup",
|
|
@@ -2198,7 +2198,7 @@ var SITE_STATUSES = [
|
|
|
2198
2198
|
var siteStatusSchema = z24.enum(SITE_STATUSES);
|
|
2199
2199
|
var websiteUrlSchema = z24.string().trim().url().refine((value) => value.startsWith("https://") || value.startsWith("http://"), "Website URL must use http or https");
|
|
2200
2200
|
|
|
2201
|
-
//
|
|
2201
|
+
// ../shared/dist/setup-assets.js
|
|
2202
2202
|
import { z as z25 } from "zod";
|
|
2203
2203
|
var configureSetupAssetTargetInputSchema = z25.object({
|
|
2204
2204
|
siteId: z25.string().uuid(),
|
|
@@ -2259,7 +2259,7 @@ var checkSetupAssetTargetInputSchema = z25.object({
|
|
|
2259
2259
|
intent: z25.enum(["start", "poll"])
|
|
2260
2260
|
}).strict();
|
|
2261
2261
|
|
|
2262
|
-
//
|
|
2262
|
+
// ../shared/dist/setup-installation.js
|
|
2263
2263
|
import { z as z26 } from "zod";
|
|
2264
2264
|
var setupInstallationRequestSchema = z26.object({
|
|
2265
2265
|
modules: siteSetupModulesSchema,
|
|
@@ -2270,7 +2270,7 @@ var setupInstallationRequestSchema = z26.object({
|
|
|
2270
2270
|
}).strict()
|
|
2271
2271
|
}).strict();
|
|
2272
2272
|
|
|
2273
|
-
//
|
|
2273
|
+
// ../shared/dist/setup-claim.js
|
|
2274
2274
|
import { z as z27 } from "zod";
|
|
2275
2275
|
var setupClaimCodeSchema = z27.string().regex(/^[0-9A-HJKMNP-TV-Z]{8}$/u);
|
|
2276
2276
|
var setupClaimBindingSchema = z27.object({
|