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 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. Uploads use committed source in a temporary checkout; local credentials are never copied into it.
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.59 setup start --modules editing --instructions-file instructions.txt
103
- npx -y siteplane@0.1.59 setup context
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
@@ -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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/actors.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-defaults.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-booking.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-contract.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-config.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-events.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-manifest.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-metrics.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-privacy.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/assets.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-contracts.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-defaults.js
922
+ // ../shared/dist/booking-defaults.js
923
923
  var BOOKING_CREATE_PAYLOAD_LIMIT_BYTES = 16 * 1024;
924
924
 
925
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
925
+ // ../shared/dist/bridge-protocol.js
926
926
  import { z as z17 } from "zod";
927
927
 
928
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-id.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-types.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/image-value.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-deployment.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
1027
+ // ../shared/dist/site-setup.js
1028
1028
  import { z as z16 } from "zod";
1029
1029
 
1030
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
1030
+ // ../shared/dist/site-field-contract.js
1031
1031
  import { z as z15 } from "zod";
1032
1032
 
1033
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/fallback-hash.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
2126
+ // ../shared/dist/commands.js
2127
2127
  import { z as z19 } from "zod";
2128
2128
 
2129
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/errors.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/editor-settings.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-slug.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/entitlements.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/first-party-image-upload.js
2237
+ // ../shared/dist/first-party-image-upload.js
2238
2238
  var maxFirstPartyImageUploadBytes = 4 * 1024 * 1024;
2239
2239
 
2240
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/readiness.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-assets.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-installation.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-claim.js
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
- let operationDeadline = record && !["verified", "deployed", "failed"].includes(record.phase) ? Date.parse(record.deadline) : deps.now() + 9e5;
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", "The 15-minute provider deadline expired. Inspect the recorded operation; setup will not start a second deployment on resume.");
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() + 9e5).toISOString(),
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 = Date.parse(record.deadline) - deps.now();
6272
+ const remaining2 = operationDeadline - deps.now();
6268
6273
  if (remaining2 <= 0)
6269
- fail2("provider_deadline_exceeded", "The 15-minute provider deadline expired. Inspect the recorded operation; setup will not start a second deployment on resume.");
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/actors.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-defaults.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-booking.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-contract.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-config.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-events.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-manifest.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-metrics.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-privacy.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/assets.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-contracts.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-defaults.js
861
+ // ../shared/dist/booking-defaults.js
862
862
  var BOOKING_CREATE_PAYLOAD_LIMIT_BYTES = 16 * 1024;
863
863
 
864
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
864
+ // ../shared/dist/bridge-protocol.js
865
865
  import { z as z17 } from "zod";
866
866
 
867
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-id.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-types.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/image-value.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-deployment.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
963
+ // ../shared/dist/site-setup.js
964
964
  import { z as z16 } from "zod";
965
965
 
966
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
966
+ // ../shared/dist/site-field-contract.js
967
967
  import { z as z15 } from "zod";
968
968
 
969
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/fallback-hash.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
1854
+ // ../shared/dist/commands.js
1855
1855
  import { z as z19 } from "zod";
1856
1856
 
1857
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/errors.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/editor-settings.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-slug.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/entitlements.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/first-party-image-upload.js
1965
+ // ../shared/dist/first-party-image-upload.js
1966
1966
  var maxFirstPartyImageUploadBytes = 4 * 1024 * 1024;
1967
1967
 
1968
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/readiness.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-assets.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-installation.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-claim.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/actors.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-defaults.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-booking.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-contract.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-config.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-events.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-manifest.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-metrics.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/analytics-privacy.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/assets.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-contracts.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/booking-defaults.js
853
+ // ../shared/dist/booking-defaults.js
854
854
  var BOOKING_CREATE_PAYLOAD_LIMIT_BYTES = 16 * 1024;
855
855
 
856
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
856
+ // ../shared/dist/bridge-protocol.js
857
857
  import { z as z17 } from "zod";
858
858
 
859
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-id.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/field-types.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/image-value.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-deployment.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
958
+ // ../shared/dist/site-setup.js
959
959
  import { z as z16 } from "zod";
960
960
 
961
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
961
+ // ../shared/dist/site-field-contract.js
962
962
  import { z as z15 } from "zod";
963
963
 
964
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/fallback-hash.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-field-contract.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-setup.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/bridge-protocol.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
2057
+ // ../shared/dist/commands.js
2058
2058
  import { z as z19 } from "zod";
2059
2059
 
2060
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/errors.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/commands.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/editor-settings.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site-slug.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/entitlements.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/first-party-image-upload.js
2168
+ // ../shared/dist/first-party-image-upload.js
2169
2169
  var maxFirstPartyImageUploadBytes = 4 * 1024 * 1024;
2170
2170
 
2171
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/readiness.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/site.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-assets.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-installation.js
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
- // ../../../../../../Web-Dev/Programme/Siteplane/packages/shared/dist/setup-claim.js
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({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "siteplane",
3
3
  "private": false,
4
- "version": "0.1.59",
4
+ "version": "0.1.60",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",
7
7
  "publishConfig": {