@drawnagency/primitives 0.1.97 → 0.1.98

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.
Files changed (44) hide show
  1. package/dist/{chunk-F2337B35.js → chunk-26ALJO4K.js} +1 -1
  2. package/dist/{chunk-S4L3ZFKM.js → chunk-3COSXTOY.js} +1 -1
  3. package/dist/{chunk-RHWWQV3J.js → chunk-BGHWUJFV.js} +1 -0
  4. package/dist/{chunk-YDXBJR74.js → chunk-EWNDBKYK.js} +1 -1
  5. package/dist/{chunk-XYCCXKVC.js → chunk-FOY5TF7D.js} +1 -1
  6. package/dist/{chunk-II3X7GLJ.js → chunk-GYCBWGVW.js} +1 -1
  7. package/dist/{chunk-FOEZNEF5.js → chunk-HKHEAH5F.js} +6 -6
  8. package/dist/{chunk-5BFPJWIO.js → chunk-KP4DWTPR.js} +3 -3
  9. package/dist/{chunk-KPP2CFW6.js → chunk-MUTHF2GT.js} +2 -2
  10. package/dist/{chunk-QEHPGA5N.js → chunk-NA5EJM6Z.js} +1 -1
  11. package/dist/chunk-TGNS7D4F.js +200 -0
  12. package/dist/collab/rebase.js +1 -1
  13. package/dist/components/editor/index.js +5 -5
  14. package/dist/components/primitives/index.js +6 -6
  15. package/dist/components/sections/brand-guide.js +6 -6
  16. package/dist/components/sections/register-schemas.js +9 -9
  17. package/dist/components/sections/register.js +9 -9
  18. package/dist/components/shell/EditorShell.d.ts.map +1 -1
  19. package/dist/hooks/useEditorPersistence.d.ts +7 -0
  20. package/dist/hooks/useEditorPersistence.d.ts.map +1 -1
  21. package/dist/index.js +12 -10
  22. package/dist/lib/dexie.d.ts.map +1 -1
  23. package/dist/lib/dexie.js +6 -1
  24. package/dist/lib/index-ops.d.ts +138 -2
  25. package/dist/lib/index-ops.d.ts.map +1 -1
  26. package/dist/lib/index-ops.js +176 -8
  27. package/dist/lib/index.js +4 -4
  28. package/dist/media/index.js +3 -3
  29. package/dist/media/provider.d.ts +0 -1
  30. package/dist/media/provider.d.ts.map +1 -1
  31. package/dist/schemas/index.js +4 -2
  32. package/dist/schemas/site-config.d.ts +1 -0
  33. package/dist/schemas/site-config.d.ts.map +1 -1
  34. package/dist/types/database.d.ts +0 -3
  35. package/dist/types/database.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/components/shell/EditorShell.tsx +27 -8
  38. package/src/hooks/useEditorPersistence.ts +14 -0
  39. package/src/lib/dexie.ts +6 -1
  40. package/src/lib/index-ops.ts +261 -7
  41. package/src/media/provider.ts +0 -1
  42. package/src/schemas/site-config.ts +3 -1
  43. package/src/types/database.ts +0 -3
  44. package/dist/chunk-ZD6XGRQM.js +0 -85
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/types/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/types/database.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drawnagency/primitives",
3
- "version": "0.1.97",
3
+ "version": "0.1.98",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./package.json": "./package.json",
@@ -196,6 +196,13 @@ export default function EditorShell({
196
196
  const [mediaModalMode, setMediaModalMode] = useState<"select" | "manage">("manage");
197
197
  const [mediaSelectCallback, setMediaSelectCallback] = useState<((id: string) => void) | null>(null);
198
198
  const [deletedSections, setDeletedSections] = useState<Set<string>>(new Set());
199
+ // Ref mirror so the debounced Dexie flush can persist the deletion set. Without
200
+ // it the snapshot records the index minus the deleted sections but not the
201
+ // INTENT, and the restore path has to re-derive deletions by diffing the stale
202
+ // snapshot against a fresh remote read — which mistakes anything a third party
203
+ // (the MCP connector, a peer editor) added since for a local deletion.
204
+ const deletedSectionsRef = useRef<Set<string>>(deletedSections);
205
+ useEffect(() => { deletedSectionsRef.current = deletedSections; }, [deletedSections]);
199
206
  const [pendingDeleteSectionId, setPendingDeleteSectionId] = useState<string | null>(null);
200
207
  const [savedSha, setSavedSha] = useState<string | null>(null);
201
208
  const [mainSha, setMainSha] = useState<string | null>(null);
@@ -319,7 +326,7 @@ export default function EditorShell({
319
326
  [],
320
327
  );
321
328
 
322
- const persistence = useEditorPersistence(siteIndexRef, { onFlush });
329
+ const persistence = useEditorPersistence(siteIndexRef, { onFlush, deletedSectionsRef });
323
330
 
324
331
  const sectionsById = useMemo(() => {
325
332
  const map: Record<string, LoadedSection> = {};
@@ -1089,15 +1096,27 @@ export default function EditorShell({
1089
1096
  }).filter((s): s is LoadedSection => s !== null),
1090
1097
  );
1091
1098
  setSiteIndex(restoredIndex);
1092
- // Re-derive pending deletions: any remotely-existing section absent from the
1093
- // restored index was deleted locally before this reload. The deletion intent
1094
- // isn't persisted directly, so reconstruct it here — otherwise the section's
1095
- // GitHub file would be orphaned (index omits it, but it's never deleted).
1099
+ // Pending deletions come from the snapshot's own persisted intent, and are
1100
+ // intersected with what the branch still has so an already-applied deletion
1101
+ // can't be replayed.
1102
+ //
1103
+ // They are deliberately NOT re-derived by diffing the restored index against
1104
+ // a fresh remote read. That inference cannot distinguish "this editor deleted
1105
+ // it" from "someone else added it after this snapshot was taken" — every
1106
+ // section the MCP connector or a peer created in the meantime is absent from
1107
+ // the stale local index, so it would be queued for deletion and destroyed by
1108
+ // the next save. Deleting real content is far worse than the failure mode the
1109
+ // re-derivation guarded against (a section's file left orphaned when the
1110
+ // snapshot predates persisted intent, which validate_site reports and
1111
+ // pruneOrphans cleans up).
1096
1112
  const restoredIds = new Set(restoredIndex.pages.flatMap((p) => p.order));
1097
- const rediscoveredDeletions = new Set(
1098
- [...remoteSectionIdsRef.current].filter((id) => !restoredIds.has(id)),
1113
+ setDeletedSections(
1114
+ new Set(
1115
+ restored.deletedSections.filter(
1116
+ (id) => remoteSectionIdsRef.current.has(id) && !restoredIds.has(id),
1117
+ ),
1118
+ ),
1099
1119
  );
1100
- setDeletedSections(rediscoveredDeletions);
1101
1120
  // A restored Dexie siteIndex row IS unsaved structural work from the
1102
1121
  // prior session — prime the durable signal even though no markIndexDirty
1103
1122
  // ran this session.
@@ -34,6 +34,13 @@ interface PersistenceOptions {
34
34
  * updates + index updates to peers from here. Stored in a ref so its identity
35
35
  * can churn without recreating the debounce machinery. */
36
36
  onFlush?: (entries: { sectionId: string; content: SectionContent }[], indexFlushed: boolean) => void;
37
+ /** Ref mirror of the shell's pending-deletion set, read at flush time and
38
+ * persisted alongside the index snapshot. Deletion is INTENT that cannot be
39
+ * inferred back from the snapshot: the restore path would otherwise diff the
40
+ * stale local index against a fresh remote read and treat sections a third
41
+ * party added in the meantime (MCP connector, peer editor) as local
42
+ * deletions — then delete them on the next save. */
43
+ deletedSectionsRef?: React.RefObject<Set<string>>;
37
44
  }
38
45
 
39
46
  export function useEditorPersistence(
@@ -52,6 +59,8 @@ export function useEditorPersistence(
52
59
  const flushTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);
53
60
  const onFlushRef = useRef(options?.onFlush);
54
61
  useEffect(() => { onFlushRef.current = options?.onFlush; });
62
+ const deletedSectionsRef = useRef(options?.deletedSectionsRef);
63
+ useEffect(() => { deletedSectionsRef.current = options?.deletedSectionsRef; });
55
64
 
56
65
  const flushToDexie = useCallback(async () => {
57
66
  const s = state.current;
@@ -68,9 +77,14 @@ export function useEditorPersistence(
68
77
  s.indexDirty = false;
69
78
 
70
79
  try {
80
+ // The deletion set is cumulative in shell state (cleared only on save or
81
+ // discard), so every flush rewrites the whole current set — a later flush
82
+ // can never narrow an earlier record.
83
+ const pendingDeletions = deletedSectionsRef.current?.current;
71
84
  await persistAll(
72
85
  entries,
73
86
  wasIndexDirty ? siteIndexRef.current : undefined,
87
+ pendingDeletions && pendingDeletions.size > 0 ? [...pendingDeletions] : undefined,
74
88
  );
75
89
  // Fire only after a successful persist — broadcasting an edit that failed
76
90
  // to persist would let peers diverge from what this editor can recover.
package/src/lib/dexie.ts CHANGED
@@ -394,7 +394,12 @@ export async function persistAll(
394
394
  pages: siteIndex.pages,
395
395
  sections: siteIndex.sections,
396
396
  nav: siteIndex.nav,
397
- deletedSections: [],
397
+ // Record the deletion INTENT, not just its effect on the order. The
398
+ // restore path reads this back; when it was hardcoded `[]` that path
399
+ // had to re-derive deletions by diffing this snapshot against a fresh
400
+ // remote read, which treats a third party's additions (MCP connector,
401
+ // peer editor) as this editor's deletions.
402
+ deletedSections: deletedSectionIds ?? [],
398
403
  updatedAt: now,
399
404
  });
400
405
  await database.meta.put({
@@ -1,5 +1,15 @@
1
1
  import { z } from "zod";
2
- import { IndexSchema, RESERVED_SLUGS, type SiteIndex, type SectionMeta } from "../schemas/site-config";
2
+ import { IndexSchema, PageStatusSchema, RESERVED_SLUGS, SLUG_RE, type SiteIndex, type SectionMeta } from "../schemas/site-config";
3
+ import type { NavEntry, NavGroupEntry } from "../schemas/nav";
4
+ import type { NavLocation } from "./nav-tree";
5
+ // Page and nav mutations are shared with the editor rather than reimplemented:
6
+ // both surfaces must agree on what "delete a page" or "remove a group" means, and
7
+ // a second implementation here is how they would drift.
8
+ import { addPage as addPageToIndex, deletePage, slugifyPageSlug, uniquePageSlug } from "./pages";
9
+ import {
10
+ addGroup, deleteGroup, groupOfPage, moveNavEntry, navEntries, reconcileNav,
11
+ renameGroup, setGroupStartCollapsed,
12
+ } from "./nav-tree";
3
13
 
4
14
  /**
5
15
  * Server-applied index deltas for the MCP connector's save path. An agent
@@ -25,6 +35,11 @@ const OpStatusSchema = z.enum(["draft", "live", "archived"]);
25
35
  // path, which names neither the op nor the id.
26
36
  const SAFE_SECTION_ID = /^[a-zA-Z0-9_-]{1,64}$/;
27
37
 
38
+ // Page and nav-group ids are not filenames, but they are dictionary keys an
39
+ // agent has to echo back, so they get the same tame character set. Keeping the
40
+ // shapes identical also means one remembered rule covers every id in this API.
41
+ const SAFE_ENTITY_ID = /^[a-zA-Z0-9_-]{1,64}$/;
42
+
28
43
  const SectionInsertSchema = z.object({
29
44
  id: z.string().regex(SAFE_SECTION_ID, "Section ids may only contain letters, numbers, dashes and underscores (max 64 chars) — they become filenames.").describe("The new section's id: letters, numbers, dashes, underscores; max 64 chars. Must not already exist in the index."),
30
45
  status: OpStatusSchema.optional().describe('Defaults to "draft" — invisible to viewers until promoted to "live".'),
@@ -67,10 +82,81 @@ export const IndexOpSchema = z.discriminatedUnion("op", [
67
82
  slug: z.string().optional().describe("New URL slug (lowercase words joined by dashes). Not settable on the home page, whose slug is always empty."),
68
83
  showInNav: z.boolean().optional().describe("Whether the page appears in site navigation."),
69
84
  access: z.array(z.string()).optional().describe("New audience slugs from list_audiences; [] means everyone."),
85
+ status: PageStatusSchema.optional().describe('Page status. "archived" hides the page and its sections from viewers without deleting anything; the home page cannot be archived.'),
86
+ }),
87
+ z.object({
88
+ op: z.literal("addPage"),
89
+ id: z.string().regex(SAFE_ENTITY_ID, "Page ids may only contain letters, numbers, dashes and underscores (max 64 chars).").describe("The new page's id: letters, numbers, dashes, underscores; max 64 chars. Must not already exist."),
90
+ title: z.string().describe("Page title, shown in navigation."),
91
+ slug: z.string().optional().describe("URL slug (lowercase words joined by dashes). Defaults to a unique slug derived from the title."),
92
+ showInNav: z.boolean().optional().describe("Whether the page appears in site navigation. Defaults to true."),
93
+ access: z.array(z.string()).optional().describe("Audience slugs from list_audiences. Defaults to [] (everyone)."),
94
+ navGroupId: z.string().optional().describe("Put the new page inside this existing nav group instead of at the top level."),
95
+ }),
96
+ z.object({
97
+ op: z.literal("removePage"),
98
+ pageId: z.string().describe("The page to delete. The home page cannot be deleted."),
99
+ removeSections: z.boolean().optional().describe("Required `true` when the page still holds sections — they are deleted with it and their content files removed. Without it a non-empty page is refused, so a page is never emptied by accident."),
100
+ }),
101
+ z.object({
102
+ op: z.literal("addNavGroup"),
103
+ id: z.string().regex(SAFE_ENTITY_ID, "Nav group ids may only contain letters, numbers, dashes and underscores (max 64 chars).").describe("The new group's id: letters, numbers, dashes, underscores; max 64 chars."),
104
+ label: z.string().optional().describe('Group heading in the sidebar. Blank renders as "Untitled group".'),
105
+ startCollapsed: z.boolean().optional().describe("Whether the group renders collapsed on first viewer load. Defaults to false."),
106
+ pageIds: z.array(z.string()).optional().describe("Existing page ids to move into the group, in order. A page belongs to at most one group, so listing it here removes it from wherever it was."),
107
+ }),
108
+ z.object({
109
+ op: z.literal("removeNavGroup"),
110
+ groupId: z.string().describe("The group to remove. Its member pages are NOT deleted — they become top-level nav entries at the group's former position."),
111
+ }),
112
+ z.object({
113
+ op: z.literal("setNavGroupMeta"),
114
+ groupId: z.string().describe("An existing nav group id."),
115
+ label: z.string().optional().describe("New sidebar heading."),
116
+ startCollapsed: z.boolean().optional().describe("Whether the group renders collapsed on first viewer load."),
117
+ }),
118
+ z.object({
119
+ op: z.literal("movePageInNav"),
120
+ pageId: z.string().describe("The page to reposition in the sidebar."),
121
+ groupId: z.string().nullable().describe("Destination group id, or null to move the page out to the top level."),
122
+ position: z.number().int().min(0).optional().describe("0-based slot within the destination (inside the group, or among top-level nav entries). Defaults to the end."),
70
123
  }),
71
124
  ]);
72
125
 
73
- export type IndexOp = z.infer<typeof IndexOpSchema>;
126
+ /**
127
+ * Written out rather than `z.infer<typeof IndexOpSchema>`.
128
+ *
129
+ * The MCP SDK infers a tool's handler and JSON-Schema types from the Zod shape it
130
+ * is registered with, and at twelve union members each carrying several described
131
+ * optionals, re-deriving this union at that boundary overflowed tsc's stack — the
132
+ * `apps/mcp` typecheck segfaulted rather than failing with a diagnostic. Naming
133
+ * the type once caps that inference: consumers see this union directly instead of
134
+ * re-deriving it through the schema. `assertIndexOpTypesMatchSchema` in
135
+ * tests/lib/index-ops.test.ts pins the two together so they cannot drift.
136
+ */
137
+ export type IndexOp =
138
+ | { op: "insertAfter"; pageId: string; afterId: string | null; sections: SectionInsert[] }
139
+ | { op: "insertAt"; pageId: string; position: number; sections: SectionInsert[] }
140
+ | { op: "move"; pageId: string; id: string; afterId: string | null }
141
+ | { op: "remove"; ids: string[] }
142
+ | { op: "setMeta"; id: string; status?: OpStatus; access?: string[] }
143
+ | {
144
+ op: "setPageMeta"; pageId: string; title?: string; slug?: string;
145
+ showInNav?: boolean; access?: string[]; status?: PageStatus;
146
+ }
147
+ | {
148
+ op: "addPage"; id: string; title: string; slug?: string;
149
+ showInNav?: boolean; access?: string[]; navGroupId?: string;
150
+ }
151
+ | { op: "removePage"; pageId: string; removeSections?: boolean }
152
+ | { op: "addNavGroup"; id: string; label?: string; startCollapsed?: boolean; pageIds?: string[] }
153
+ | { op: "removeNavGroup"; groupId: string }
154
+ | { op: "setNavGroupMeta"; groupId: string; label?: string; startCollapsed?: boolean }
155
+ | { op: "movePageInNav"; pageId: string; groupId: string | null; position?: number };
156
+
157
+ type OpStatus = z.infer<typeof OpStatusSchema>;
158
+ type PageStatus = z.infer<typeof PageStatusSchema>;
159
+ type SectionInsert = z.infer<typeof SectionInsertSchema>;
74
160
 
75
161
  export type ApplyIndexOpsResult =
76
162
  | { ok: true; index: SiteIndex; removedIds: string[]; warnings: string[] }
@@ -104,6 +190,35 @@ export function opTouchedSectionIds(ops: IndexOp[]): string[] {
104
190
 
105
191
  const fmt = (ids: string[]) => ids.map((id) => `"${id}"`).join(", ");
106
192
 
193
+ /**
194
+ * Id-based reparent/reposition of a page in the nav, expressed over the editor's
195
+ * index-based `moveNavEntry` primitive. Agents address pages and groups by id;
196
+ * the drag-and-drop surface addresses slots — this is the adapter between them,
197
+ * so both still go through one move implementation.
198
+ *
199
+ * `position === undefined` appends. `moveNavEntry` lifts the page out of its
200
+ * source container BEFORE inserting, so an append index computed against the
201
+ * pre-removal length can overshoot by one; it clamps, so that is safe.
202
+ */
203
+ function moveIntoGroup(
204
+ index: SiteIndex,
205
+ pageId: string,
206
+ groupId: string | null,
207
+ position: number | undefined,
208
+ ): SiteIndex {
209
+ const entries = navEntries(index);
210
+ const currentGroup = groupOfPage(index, pageId);
211
+ // navEntries reconciles, so the page is guaranteed to appear exactly once —
212
+ // either as a top-level entry or inside exactly one group.
213
+ const from: NavLocation = currentGroup
214
+ ? { groupId: currentGroup.id, index: currentGroup.pageIds.indexOf(pageId) }
215
+ : { groupId: null, index: entries.findIndex((e) => e.kind === "page" && e.pageId === pageId) };
216
+ const destLength = groupId === null
217
+ ? entries.length
218
+ : entries.find((e): e is NavGroupEntry => e.kind === "group" && e.id === groupId)?.pageIds.length ?? 0;
219
+ return moveNavEntry(index, from, { groupId, index: position ?? destLength });
220
+ }
221
+
107
222
  export function applyIndexOps(
108
223
  rawIndex: unknown,
109
224
  ops: IndexOp[],
@@ -123,17 +238,30 @@ export function applyIndexOps(
123
238
  };
124
239
  }
125
240
 
241
+ // IndexSchema strips `nav` (that strip is what keeps the sidecar out of
242
+ // index.json), so the authored nav has to be lifted off the RAW input to be
243
+ // available to the nav ops below. reconcileNav is total, so an unparseable
244
+ // shape here degrades to a flat nav rather than failing.
245
+ const rawNav = (rawIndex as { nav?: unknown } | null | undefined)?.nav;
246
+
126
247
  // Own copy: the caller's index is also its knownSiteTypes source and may be
127
- // logged, so nothing here mutates it.
128
- const index: SiteIndex = {
248
+ // logged, so nothing here mutates it. Reassigned by the page/nav ops, which
249
+ // are shared immutable helpers rather than in-place mutators.
250
+ let index: SiteIndex = {
129
251
  ...base.data,
130
252
  pages: base.data.pages.map((p) => ({ ...p, order: [...p.order] })),
131
253
  sections: Object.fromEntries(Object.entries(base.data.sections).map(([k, v]) => [k, { ...v }])),
254
+ ...(Array.isArray(rawNav) ? { nav: rawNav as NavEntry[] } : {}),
132
255
  };
133
256
 
134
257
  const removed = new Set<string>();
135
258
  const warnings: string[] = [];
136
259
  const fail = (error: string): ApplyIndexOpsResult => ({ ok: false, error });
260
+ // Whether any op in this batch changed the navigation sidecar. Section-level
261
+ // ops must leave `nav` OFF the result: content-ops writes nav.json only when
262
+ // the posted index carries a `nav`, so omitting it is what guarantees an
263
+ // ordinary indexOps write cannot disturb a site's page groups.
264
+ let navTouched = false;
137
265
 
138
266
  for (const [i, op] of ops.entries()) {
139
267
  const at = `indexOps[${i}] ${op.op}`;
@@ -255,12 +383,129 @@ export function applyIndexOps(
255
383
  continue;
256
384
  }
257
385
 
386
+ if (op.op === "addPage") {
387
+ if (index.pages.some((p) => p.id === op.id)) {
388
+ return fail(`${at}: a page with id "${op.id}" already exists — use setPageMeta to edit it.`);
389
+ }
390
+ let slug: string;
391
+ if (op.slug !== undefined) {
392
+ // An explicit slug is never silently rewritten: uniquePageSlug would
393
+ // quietly hand back "about-2" and the agent would keep addressing "about".
394
+ if (!SLUG_RE.test(op.slug)) {
395
+ return fail(`${at}: slug "${op.slug}" is not a valid URL slug — use lowercase words joined by dashes (e.g. "brand-guide").`);
396
+ }
397
+ if ((RESERVED_SLUGS as readonly string[]).includes(op.slug)) {
398
+ return fail(`${at}: slug "${op.slug}" is reserved by a platform route and would shadow this page. Pick another slug.`);
399
+ }
400
+ if (index.pages.some((p) => p.slug === op.slug)) {
401
+ return fail(`${at}: slug "${op.slug}" is already used by another page. Slugs must be unique.`);
402
+ }
403
+ slug = op.slug;
404
+ } else {
405
+ // Derived slugs MAY be de-duplicated — nothing is addressing them yet.
406
+ slug = uniquePageSlug(slugifyPageSlug(op.title), index.pages.map((p) => p.slug));
407
+ }
408
+ if (op.navGroupId !== undefined && !navEntries(index).some((e) => e.kind === "group" && e.id === op.navGroupId)) {
409
+ return fail(`${at}: no nav group with id "${op.navGroupId}" — create it with addNavGroup first, or omit navGroupId to place the page at the top level.`);
410
+ }
411
+ index = addPageToIndex(index, op.id);
412
+ const created = index.pages.find((p) => p.id === op.id)!;
413
+ created.title = op.title;
414
+ created.slug = slug;
415
+ if (op.showInNav !== undefined) created.showInNav = op.showInNav;
416
+ if (op.access !== undefined) created.access = op.access;
417
+ if (op.navGroupId !== undefined) {
418
+ // addPageToIndex appended a top-level nav entry; lift it into the group.
419
+ index = moveIntoGroup(index, op.id, op.navGroupId, undefined);
420
+ }
421
+ navTouched = true;
422
+ continue;
423
+ }
424
+
425
+ if (op.op === "removePage") {
426
+ const page = index.pages.find((p) => p.id === op.pageId);
427
+ if (!page) return fail(`${at}: no page with id "${op.pageId}" — page ids come from get_site_index.`);
428
+ if (page.isHome) {
429
+ return fail(`${at}: the home page cannot be removed — it is the site's root. Promote a different page to home in the editor first.`);
430
+ }
431
+ if (page.order.length > 0 && op.removeSections !== true) {
432
+ return fail(
433
+ `${at}: page "${op.pageId}" still holds ${page.order.length} section(s) (${fmt(page.order.slice(0, 5))}${page.order.length > 5 ? ", …" : ""}). ` +
434
+ "Pass removeSections: true to delete them with the page, or move them elsewhere first with move ops.",
435
+ );
436
+ }
437
+ const result = deletePage(index, op.pageId);
438
+ index = result.index;
439
+ for (const id of result.removedSectionIds) removed.add(id);
440
+ navTouched = true;
441
+ continue;
442
+ }
443
+
444
+ if (op.op === "addNavGroup") {
445
+ const entries = navEntries(index);
446
+ if (entries.some((e) => e.kind === "group" && e.id === op.id)) {
447
+ return fail(`${at}: a nav group with id "${op.id}" already exists — use setNavGroupMeta to edit it.`);
448
+ }
449
+ const missing = (op.pageIds ?? []).filter((id) => !index.pages.some((p) => p.id === id));
450
+ if (missing.length > 0) {
451
+ return fail(`${at}: no page with id ${fmt(missing)} — page ids come from get_site_index.`);
452
+ }
453
+ index = addGroup(index, op.id);
454
+ if (op.label !== undefined) index = renameGroup(index, op.id, op.label);
455
+ if (op.startCollapsed !== undefined) index = setGroupStartCollapsed(index, op.id, op.startCollapsed);
456
+ // In the order given: each move appends, so listing pages here places them
457
+ // in that sequence regardless of their previous nav positions.
458
+ for (const pageId of op.pageIds ?? []) index = moveIntoGroup(index, pageId, op.id, undefined);
459
+ navTouched = true;
460
+ continue;
461
+ }
462
+
463
+ if (op.op === "removeNavGroup") {
464
+ if (!navEntries(index).some((e) => e.kind === "group" && e.id === op.groupId)) {
465
+ return fail(`${at}: no nav group with id "${op.groupId}" — group ids come from the \`nav\` on get_site_index.`);
466
+ }
467
+ index = deleteGroup(index, op.groupId);
468
+ navTouched = true;
469
+ continue;
470
+ }
471
+
472
+ if (op.op === "setNavGroupMeta") {
473
+ if (op.label === undefined && op.startCollapsed === undefined) {
474
+ return fail(`${at}: nothing to set — provide label and/or startCollapsed.`);
475
+ }
476
+ if (!navEntries(index).some((e) => e.kind === "group" && e.id === op.groupId)) {
477
+ return fail(`${at}: no nav group with id "${op.groupId}" — group ids come from the \`nav\` on get_site_index.`);
478
+ }
479
+ if (op.label !== undefined) index = renameGroup(index, op.groupId, op.label);
480
+ if (op.startCollapsed !== undefined) index = setGroupStartCollapsed(index, op.groupId, op.startCollapsed);
481
+ navTouched = true;
482
+ continue;
483
+ }
484
+
485
+ if (op.op === "movePageInNav") {
486
+ if (!index.pages.some((p) => p.id === op.pageId)) {
487
+ return fail(`${at}: no page with id "${op.pageId}" — page ids come from get_site_index.`);
488
+ }
489
+ if (op.groupId !== null && !navEntries(index).some((e) => e.kind === "group" && e.id === op.groupId)) {
490
+ return fail(`${at}: no nav group with id "${op.groupId}" — group ids come from the \`nav\` on get_site_index.`);
491
+ }
492
+ index = moveIntoGroup(index, op.pageId, op.groupId, op.position);
493
+ navTouched = true;
494
+ continue;
495
+ }
496
+
258
497
  // setPageMeta
259
- if (op.title === undefined && op.slug === undefined && op.showInNav === undefined && op.access === undefined) {
260
- return fail(`${at}: nothing to set — provide title, slug, showInNav and/or access.`);
498
+ if (
499
+ op.title === undefined && op.slug === undefined && op.showInNav === undefined &&
500
+ op.access === undefined && op.status === undefined
501
+ ) {
502
+ return fail(`${at}: nothing to set — provide title, slug, showInNav, access and/or status.`);
261
503
  }
262
504
  const page = index.pages.find((p) => p.id === op.pageId);
263
505
  if (!page) return fail(`${at}: no page with id "${op.pageId}" — page ids come from get_site_index.`);
506
+ if (op.status === "archived" && page.isHome) {
507
+ return fail(`${at}: the home page cannot be archived — it is the site's root. Promote a different page to home in the editor first.`);
508
+ }
264
509
  if (op.slug !== undefined && page.isHome) {
265
510
  return fail(`${at}: the home page's slug is always empty and cannot be set. Promote a different page to home in the editor if you need to change which page is the root.`);
266
511
  }
@@ -276,6 +521,7 @@ export function applyIndexOps(
276
521
  if (op.title !== undefined) page.title = op.title;
277
522
  if (op.slug !== undefined) page.slug = op.slug;
278
523
  if (op.showInNav !== undefined) page.showInNav = op.showInNav;
524
+ if (op.status !== undefined) page.status = op.status;
279
525
  if (op.access !== undefined) {
280
526
  const dropped = page.access.filter((a) => !op.access!.includes(a));
281
527
  page.access = op.access;
@@ -305,5 +551,13 @@ export function applyIndexOps(
305
551
  if (!validated.success) {
306
552
  return fail(`applying indexOps produced an invalid index: ${validated.error.issues.map((issue) => issue.message).join("; ")}`);
307
553
  }
308
- return { ok: true, index: validated.data, removedIds, warnings };
554
+ // The parse above stripped `nav`. Reattach it ONLY when an op actually changed
555
+ // the navigation, reconciled against the resulting page set so a batch that
556
+ // added or removed pages emits a complete tree. When no nav op ran the result
557
+ // carries no `nav` at all, so content-ops leaves nav.json untouched and page
558
+ // groups survive untouched — the invariant every section-level op relies on.
559
+ const result: SiteIndex = navTouched
560
+ ? { ...validated.data, nav: reconcileNav(index.nav ?? [], validated.data.pages) }
561
+ : validated.data;
562
+ return { ok: true, index: result, removedIds, warnings };
309
563
  }
@@ -1,7 +1,6 @@
1
1
  import type { MediaManifest, MediaItem, ResolvedMedia } from "./types";
2
2
 
3
3
  export interface MediaProvider {
4
- getManifest(): Promise<MediaManifest>;
5
4
  resolve(item: MediaItem, sizes: number[]): ResolvedMedia | null;
6
5
  exists(hash: string, manifest: MediaManifest): boolean;
7
6
  }
@@ -53,7 +53,9 @@ export const PageSchema = z.object({
53
53
 
54
54
  export type Page = z.infer<typeof PageSchema>;
55
55
 
56
- const SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
56
+ // Exported so authoring surfaces (indexOps' addPage) can reject a bad slug with a
57
+ // named error instead of letting it surface as an opaque index-parse failure.
58
+ export const SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
57
59
 
58
60
  // Raw input: accepts legacy (order[]) OR canonical (pages[]).
59
61
  const RawIndexSchema = z.object({
@@ -384,7 +384,6 @@ export type Database = {
384
384
  client_id: string
385
385
  client_id_issued_at: number | null
386
386
  client_metadata: Json
387
- client_secret_hash: string | null
388
387
  created_at: string
389
388
  redirect_uris: string[]
390
389
  }
@@ -392,7 +391,6 @@ export type Database = {
392
391
  client_id: string
393
392
  client_id_issued_at?: number | null
394
393
  client_metadata?: Json
395
- client_secret_hash?: string | null
396
394
  created_at?: string
397
395
  redirect_uris: string[]
398
396
  }
@@ -400,7 +398,6 @@ export type Database = {
400
398
  client_id?: string
401
399
  client_id_issued_at?: number | null
402
400
  client_metadata?: Json
403
- client_secret_hash?: string | null
404
401
  created_at?: string
405
402
  redirect_uris?: string[]
406
403
  }