siteplane 0.1.39 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/next.js CHANGED
@@ -1216,11 +1216,48 @@ var CONTINUE_SITE_SETUP_LOCATOR_HINT_MAX_BYTES = 512;
1216
1216
  var CONTINUE_SITE_SETUP_REQUESTED_LABEL_MAX_BYTES = 120;
1217
1217
  var CONTINUE_SITE_SETUP_REQUESTED_SECTION_MAX_BYTES = 120;
1218
1218
  var CONTINUE_SITE_SETUP_REQUESTED_SUBSECTION_MAX_BYTES = 120;
1219
+ var SITE_SETUP_OWNER_EDITABILITY_NOTE_MAX_LENGTH = 2e3;
1220
+ var SITE_SETUP_OWNER_EDITABILITY_NOTE_MAX_BYTES = 8e3;
1219
1221
  var CONTINUE_SITE_SETUP_ITEMS_MAX_BYTES = 32 * 1024;
1220
1222
  var CONTINUE_SITE_SETUP_HTTP_BODY_MAX_BYTES = 64 * 1024;
1221
1223
  var siteSetupRunStatusSchema = z14.enum(SITE_SETUP_RUN_STATUSES);
1222
1224
  var siteSetupRunModeSchema = z14.enum(SITE_SETUP_RUN_MODES);
1223
1225
  var siteSetupErrorCodeSchema = z14.enum(SITE_SETUP_ERROR_CODES);
1226
+ var siteSetupTaskSchema = z14.object({
1227
+ contractVersion: z14.literal("siteplane.setup-task.v1"),
1228
+ workflow: z14.enum(["initial_setup", "structure_update"]),
1229
+ goal: z14.string().min(1),
1230
+ modules: z14.tuple([z14.literal("visual_editor")]),
1231
+ packages: z14.object({
1232
+ siteplane: z14.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u),
1233
+ runtimeNext: z14.string().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u)
1234
+ }).strict(),
1235
+ communication: z14.object({
1236
+ beforeSourceChanges: z14.string().min(1),
1237
+ updates: z14.array(z14.string().min(1)).min(1),
1238
+ blocker: z14.string().min(1)
1239
+ }).strict(),
1240
+ discovery: z14.object({
1241
+ inspectPublicRoutes: z14.boolean(),
1242
+ contentKinds: z14.array(z14.enum(["text", "longText", "link", "image"])).min(1),
1243
+ rules: z14.array(z14.string().min(1)).min(1)
1244
+ }).strict(),
1245
+ steps: z14.array(z14.object({
1246
+ id: z14.enum([
1247
+ "inspect_repository",
1248
+ "install_packages",
1249
+ "instrument_fields",
1250
+ "apply_contract",
1251
+ "deploy_production",
1252
+ "verify_deployment"
1253
+ ]),
1254
+ instruction: z14.string().min(1)
1255
+ }).strict()).length(6),
1256
+ completion: z14.object({
1257
+ verifiedStatus: z14.literal("ready_for_review"),
1258
+ instruction: z14.string().min(1)
1259
+ }).strict()
1260
+ }).strict();
1224
1261
  var editorFieldSchema = z14.object({
1225
1262
  fieldId: fieldIdSchema,
1226
1263
  label: z14.string().trim().min(1),
@@ -1305,6 +1342,7 @@ var editorDefinitionV1Schema = z14.object({
1305
1342
  }
1306
1343
  });
1307
1344
  var forbiddenControlOrBidi = /[\u0000-\u001f\u007f-\u009f\u202a-\u202e\u2066-\u2069]/u;
1345
+ var forbiddenOwnerNoteControlOrBidi = /[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f-\u009f\u202a-\u202e\u2066-\u2069]/u;
1308
1346
  var unsafeLocator = /<\/?[a-z][^>]*>|\b(?:javascript|data:text\/html)\s*:|\bon[a-z]+\s*=/iu;
1309
1347
  var renderedPathSchema = z14.string().trim().transform((value) => value !== "/" ? value.replace(/\/+$/u, "") : value).superRefine((value, context) => {
1310
1348
  if (!value.startsWith("/") || value === "$global" || value.includes("?") || value.includes("#")) {
@@ -1357,6 +1395,20 @@ var setupCorrectionItemsSchema = z14.array(setupCorrectionItemSchema).max(CONTIN
1357
1395
  });
1358
1396
  }
1359
1397
  });
1398
+ var siteSetupOwnerEditabilityNoteSchema = z14.string().trim().max(SITE_SETUP_OWNER_EDITABILITY_NOTE_MAX_LENGTH).superRefine((value, context) => {
1399
+ if (utf8Bytes(value) > SITE_SETUP_OWNER_EDITABILITY_NOTE_MAX_BYTES) {
1400
+ context.addIssue({
1401
+ code: "custom",
1402
+ message: `ownerEditabilityNote exceeds ${SITE_SETUP_OWNER_EDITABILITY_NOTE_MAX_BYTES} UTF-8 bytes.`
1403
+ });
1404
+ }
1405
+ if (forbiddenOwnerNoteControlOrBidi.test(value)) {
1406
+ context.addIssue({
1407
+ code: "custom",
1408
+ message: "ownerEditabilityNote contains a forbidden control or bidi character."
1409
+ });
1410
+ }
1411
+ });
1360
1412
  var canonicalHashSchema = z14.string().regex(/^sha256:[0-9a-f]{64}$/iu);
1361
1413
  var deploymentRevisionSchema = normalizedSafeTextSchema(256, "deploymentRevision");
1362
1414
  var continueSiteSetupInputSchema = z14.object({
@@ -1364,7 +1416,15 @@ var continueSiteSetupInputSchema = z14.object({
1364
1416
  runId: z14.string().uuid(),
1365
1417
  expectedFieldContractHash: canonicalHashSchema,
1366
1418
  expectedDeploymentRevision: deploymentRevisionSchema,
1367
- correctionItems: setupCorrectionItemsSchema
1419
+ correctionItems: setupCorrectionItemsSchema,
1420
+ ownerEditabilityNote: siteSetupOwnerEditabilityNoteSchema.optional()
1421
+ }).strict();
1422
+ var saveSiteSetupOwnerNoteInputSchema = z14.object({
1423
+ siteId: z14.string().uuid(),
1424
+ runId: z14.string().uuid(),
1425
+ expectedFieldContractHash: canonicalHashSchema,
1426
+ expectedDeploymentRevision: deploymentRevisionSchema,
1427
+ ownerEditabilityNote: siteSetupOwnerEditabilityNoteSchema
1368
1428
  }).strict();
1369
1429
  var siteSetupContextInputSchema = z14.object({}).strict();
1370
1430
  var siteSetupApplyInputSchema = z14.object({
@@ -1529,6 +1589,7 @@ var FIELD_BRIDGE_MESSAGE_TYPES = [
1529
1589
  "siteplane:field-bridge:preview-ack",
1530
1590
  "siteplane:field-bridge:set-visual-control-state",
1531
1591
  "siteplane:field-bridge:missing-content",
1592
+ "siteplane:field-bridge:preview-scrolled",
1532
1593
  "siteplane:field-bridge:error"
1533
1594
  ];
1534
1595
  var canonicalFieldContractHashSchema = z15.string().regex(/^sha256:[0-9a-f]{64}$/u);
@@ -1659,6 +1720,10 @@ var fieldBridgeMissingContentMessageSchema = fieldBridgeBaseSchema.extend({
1659
1720
  suggestedSection: bridgeSectionSchema.optional()
1660
1721
  }).strict()
1661
1722
  });
1723
+ var fieldBridgePreviewScrolledMessageSchema = fieldBridgeBaseSchema.extend({
1724
+ type: z15.literal("siteplane:field-bridge:preview-scrolled"),
1725
+ payload: z15.object({ renderedPath: realRenderedPathSchema }).strict()
1726
+ });
1662
1727
  var fieldBridgeErrorMessageSchema = fieldBridgeBaseSchema.extend({
1663
1728
  type: z15.literal("siteplane:field-bridge:error"),
1664
1729
  payload: z15.object({
@@ -1678,6 +1743,7 @@ var fieldBridgeMessageSchema = z15.discriminatedUnion("type", [
1678
1743
  fieldBridgePreviewAckMessageSchema,
1679
1744
  fieldBridgeSetVisualControlStateMessageSchema,
1680
1745
  fieldBridgeMissingContentMessageSchema,
1746
+ fieldBridgePreviewScrolledMessageSchema,
1681
1747
  fieldBridgeErrorMessageSchema
1682
1748
  ]);
1683
1749
 
@@ -1897,40 +1963,35 @@ alwaysApply: true
1897
1963
 
1898
1964
  ${bookingRulesTemplate}`;
1899
1965
 
1900
- // ../cli/dist/commands/connect.js
1901
- import { spawn } from "child_process";
1902
- import { randomBytes } from "crypto";
1903
- import { z as z27 } from "zod";
1904
-
1905
- // ../cli/dist/config/credentials.js
1906
- import { execFile } from "child_process";
1966
+ // ../cli/dist/config/project-config.js
1967
+ import { access, chmod, open, readFile as readFile5, rename, rm } from "fs/promises";
1907
1968
  import { randomUUID as randomUUID2 } from "crypto";
1908
- import { chmod, mkdir as mkdir5, open, readFile as readFile5, rename, rm } from "fs/promises";
1909
- import { dirname as dirname5, join as join3, relative } from "path";
1910
- import { promisify } from "util";
1969
+ import { join as join3 } from "path";
1911
1970
  import { z as z24 } from "zod";
1912
- var siteplaneCredentialsSchema = z24.object({
1913
- accessToken: z24.string().trim().min(1),
1914
- siteRevalidationSecret: z24.string().trim().min(1)
1971
+ var siteplaneProjectConfigSchema = z24.object({
1972
+ version: z24.literal(1),
1973
+ apiBaseUrl: z24.string().url(),
1974
+ siteId: z24.string().uuid(),
1975
+ publicSiteKeyId: z24.string().uuid(),
1976
+ publicSiteKey: z24.string().trim().min(1),
1977
+ fieldContractHash: z24.string().regex(/^sha256:[0-9a-f]{64}$/iu).optional()
1915
1978
  }).strict();
1916
- var execFileAsync = promisify(execFile);
1979
+ async function readProjectConfig(projectDir) {
1980
+ return siteplaneProjectConfigSchema.parse(JSON.parse(await readFile5(join3(projectDir, "siteplane.config.json"), "utf8")));
1981
+ }
1917
1982
 
1918
- // ../cli/dist/config/project-config.js
1919
- import { access, chmod as chmod2, open as open2, readFile as readFile6, rename as rename2, rm as rm2 } from "fs/promises";
1983
+ // ../cli/dist/config/credentials.js
1984
+ import { execFile } from "child_process";
1920
1985
  import { randomUUID as randomUUID3 } from "crypto";
1921
- import { join as join4 } from "path";
1986
+ import { chmod as chmod2, mkdir as mkdir5, open as open2, readFile as readFile6, rename as rename2, rm as rm2 } from "fs/promises";
1987
+ import { dirname as dirname5, join as join4, relative } from "path";
1988
+ import { promisify } from "util";
1922
1989
  import { z as z25 } from "zod";
1923
- var siteplaneProjectConfigSchema = z25.object({
1924
- version: z25.literal(1),
1925
- apiBaseUrl: z25.string().url(),
1926
- siteId: z25.string().uuid(),
1927
- publicSiteKeyId: z25.string().uuid(),
1928
- publicSiteKey: z25.string().trim().min(1),
1929
- fieldContractHash: z25.string().regex(/^sha256:[0-9a-f]{64}$/iu).optional()
1990
+ var siteplaneCredentialsSchema = z25.object({
1991
+ accessToken: z25.string().trim().min(1),
1992
+ siteRevalidationSecret: z25.string().trim().min(1)
1930
1993
  }).strict();
1931
- async function readProjectConfig(projectDir) {
1932
- return siteplaneProjectConfigSchema.parse(JSON.parse(await readFile6(join4(projectDir, "siteplane.config.json"), "utf8")));
1933
- }
1994
+ var execFileAsync = promisify(execFile);
1934
1995
 
1935
1996
  // ../cli/dist/commands/init.js
1936
1997
  import { join as join5 } from "path";
@@ -1958,24 +2019,6 @@ var bootstrapResponseSchema = z26.object({
1958
2019
  ])
1959
2020
  }).strict();
1960
2021
 
1961
- // ../cli/dist/commands/connect.js
1962
- var claimResponseSchema = z27.object({
1963
- ok: z27.literal(true),
1964
- data: z27.object({
1965
- pairingId: z27.string().uuid(),
1966
- status: z27.literal("approval_required"),
1967
- approvalUrl: z27.string().url()
1968
- }).passthrough()
1969
- }).strict();
1970
- var waitingResponseSchema = z27.object({
1971
- ok: z27.literal(true),
1972
- data: z27.object({ status: z27.literal("approval_required") }).strict()
1973
- }).strict();
1974
- var bootstrapResponseSchema2 = z27.object({
1975
- ok: z27.literal(true),
1976
- data: siteSetupBootstrapDataSchema
1977
- }).strict();
1978
-
1979
2022
  // ../cli/dist/commands/scan.js
1980
2023
  import { readdir } from "fs/promises";
1981
2024
  import { extname, join as join6 } from "path";
@@ -2021,7 +2064,7 @@ async function collectSourceFiles(directory) {
2021
2064
  import { execFile as execFile2 } from "child_process";
2022
2065
  import { readFile as readFile7 } from "fs/promises";
2023
2066
  import { promisify as promisify2 } from "util";
2024
- import { z as z28 } from "zod";
2067
+ import { z as z27 } from "zod";
2025
2068
 
2026
2069
  // ../cli/dist/scan/next-source-scan.js
2027
2070
  import ts2 from "typescript";
@@ -2688,52 +2731,54 @@ function isPositionalFieldReference(value) {
2688
2731
 
2689
2732
  // ../cli/dist/commands/site-setup.js
2690
2733
  var execFileAsync2 = promisify2(execFile2);
2691
- var safeErrorSchema = z28.object({
2692
- code: z28.string().trim().min(1),
2693
- message: z28.string().trim().min(1)
2734
+ var safeErrorSchema = z27.object({
2735
+ code: z27.string().trim().min(1),
2736
+ message: z27.string().trim().min(1)
2694
2737
  }).passthrough();
2695
- var errorResponseSchema2 = z28.object({ ok: z28.literal(false), error: safeErrorSchema }).passthrough();
2696
- var contextDataSchema = z28.object({
2697
- site: z28.object({ siteId: z28.string().uuid(), portalPath: z28.string() }),
2698
- run: z28.object({
2699
- runId: z28.string().uuid(),
2700
- mode: z28.enum(["initial", "update"]),
2701
- status: z28.enum([
2738
+ var errorResponseSchema2 = z27.object({ ok: z27.literal(false), error: safeErrorSchema }).passthrough();
2739
+ var contextDataSchema = z27.object({
2740
+ task: siteSetupTaskSchema,
2741
+ site: z27.object({ siteId: z27.string().uuid(), portalPath: z27.string() }),
2742
+ run: z27.object({
2743
+ runId: z27.string().uuid(),
2744
+ mode: z27.enum(["initial", "update"]),
2745
+ status: z27.enum([
2702
2746
  "waiting_for_agent",
2703
2747
  "working",
2704
2748
  "action_required",
2705
2749
  "ready_for_review"
2706
2750
  ]),
2707
- fieldContractHash: z28.string().nullable(),
2708
- deploymentOrigin: z28.string().nullable(),
2709
- deploymentRevision: z28.string().nullable(),
2710
- errorCode: z28.string().nullable(),
2711
- errorMessage: z28.string().nullable()
2751
+ fieldContractHash: z27.string().nullable(),
2752
+ deploymentOrigin: z27.string().nullable(),
2753
+ deploymentRevision: z27.string().nullable(),
2754
+ errorCode: z27.string().nullable(),
2755
+ errorMessage: z27.string().nullable()
2712
2756
  }),
2713
- structureHandoff: z28.object({
2714
- pendingFields: z28.array(setupCorrectionItemSchema).min(1).max(50)
2757
+ structureHandoff: z27.object({
2758
+ pendingFields: z27.array(setupCorrectionItemSchema).max(50),
2759
+ ownerEditabilityNote: siteSetupOwnerEditabilityNoteSchema
2715
2760
  }).strict().nullable(),
2716
- allowedTasks: z28.array(z28.string()),
2717
- requiredEnvironmentNames: z28.array(z28.string())
2761
+ allowedTasks: z27.array(z27.string()),
2762
+ requiredEnvironmentNames: z27.array(z27.string())
2718
2763
  }).strict();
2719
- var contextResponseSchema = z28.object({ ok: z28.literal(true), data: contextDataSchema }).strict();
2720
- var applyDataSchema = z28.object({
2721
- status: z28.enum(["applied", "ready_for_review"]),
2722
- runId: z28.string().uuid().optional(),
2723
- contractVersionId: z28.string().uuid().optional(),
2724
- fieldContractHash: z28.string().regex(/^sha256:[0-9a-f]{64}$/u),
2725
- editorDefinitionHash: z28.string().regex(/^sha256:[0-9a-f]{64}$/u).optional(),
2726
- fieldCount: z28.number().int().nonnegative().optional(),
2727
- routeCount: z28.number().int().nonnegative().optional()
2764
+ var contextResponseSchema = z27.object({ ok: z27.literal(true), data: contextDataSchema }).strict();
2765
+ var applyDataSchema = z27.object({
2766
+ status: z27.enum(["applied", "ready_for_review"]),
2767
+ runId: z27.string().uuid().optional(),
2768
+ contractVersionId: z27.string().uuid().optional(),
2769
+ fieldContractHash: z27.string().regex(/^sha256:[0-9a-f]{64}$/u),
2770
+ editorDefinitionHash: z27.string().regex(/^sha256:[0-9a-f]{64}$/u).optional(),
2771
+ fieldCount: z27.number().int().nonnegative().optional(),
2772
+ routeCount: z27.number().int().nonnegative().optional()
2728
2773
  }).strict();
2729
- var applyResponseSchema = z28.object({ ok: z28.literal(true), data: applyDataSchema }).strict();
2730
- var verifyDataSchema = z28.object({
2731
- status: z28.literal("ready_for_review"),
2732
- runId: z28.string().uuid().optional(),
2733
- deploymentOrigin: z28.string().url().optional(),
2734
- deploymentRevision: z28.string().optional()
2774
+ var applyResponseSchema = z27.object({ ok: z27.literal(true), data: applyDataSchema }).strict();
2775
+ var verifyDataSchema = z27.object({
2776
+ status: z27.literal("ready_for_review"),
2777
+ runId: z27.string().uuid().optional(),
2778
+ deploymentOrigin: z27.string().url().optional(),
2779
+ deploymentRevision: z27.string().optional()
2735
2780
  }).strict();
2736
- var verifyResponseSchema = z28.object({ ok: z28.literal(true), data: verifyDataSchema }).strict();
2781
+ var verifyResponseSchema = z27.object({ ok: z27.literal(true), data: verifyDataSchema }).strict();
2737
2782
 
2738
2783
  // src/next.ts
2739
2784
  var SiteplaneNextContractError = class extends Error {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "siteplane",
3
3
  "private": false,
4
- "version": "0.1.39",
4
+ "version": "0.1.41",
5
5
  "type": "module",
6
6
  "license": "SEE LICENSE IN LICENSE",
7
7
  "publishConfig": {