canopycms 0.0.17 → 0.0.18

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 (83) hide show
  1. package/README.md +120 -34
  2. package/dist/ai/json-to-markdown.js +1 -1
  3. package/dist/ai/json-to-markdown.js.map +1 -1
  4. package/dist/api/content.d.ts.map +1 -1
  5. package/dist/api/content.js +12 -11
  6. package/dist/api/content.js.map +1 -1
  7. package/dist/cli/generate-ai-content.js +39 -20
  8. package/dist/cli/init.d.ts +5 -0
  9. package/dist/cli/init.d.ts.map +1 -1
  10. package/dist/cli/init.js +66 -15
  11. package/dist/cli/init.js.map +1 -1
  12. package/dist/cli/template-files/canopy.ts.template +10 -6
  13. package/dist/cli/template-files/edit-page-dev.tsx.template +16 -0
  14. package/dist/cli/template-files/edit-page.tsx.template +14 -21
  15. package/dist/cli/template-files/middleware-clerk.ts.template +13 -0
  16. package/dist/cli/template-files/middleware.ts.template +30 -0
  17. package/dist/cli/template-files/next.config-static.ts.template +13 -0
  18. package/dist/cli/template-files/next.config.ts.template +5 -0
  19. package/dist/cli/template-files/schemas.ts.template +4 -2
  20. package/dist/cli/templates.d.ts +8 -0
  21. package/dist/cli/templates.d.ts.map +1 -1
  22. package/dist/cli/templates.js +22 -2
  23. package/dist/cli/templates.js.map +1 -1
  24. package/dist/config/schemas/field.d.ts +21 -0
  25. package/dist/config/schemas/field.d.ts.map +1 -1
  26. package/dist/config/schemas/field.js +1 -0
  27. package/dist/config/schemas/field.js.map +1 -1
  28. package/dist/config/types.d.ts +7 -0
  29. package/dist/config/types.d.ts.map +1 -1
  30. package/dist/content-listing.d.ts +3 -2
  31. package/dist/content-listing.d.ts.map +1 -1
  32. package/dist/content-listing.js +8 -5
  33. package/dist/content-listing.js.map +1 -1
  34. package/dist/content-reader.d.ts.map +1 -1
  35. package/dist/content-reader.js +13 -9
  36. package/dist/content-reader.js.map +1 -1
  37. package/dist/content-store.d.ts +5 -0
  38. package/dist/content-store.d.ts.map +1 -1
  39. package/dist/content-store.js +29 -19
  40. package/dist/content-store.js.map +1 -1
  41. package/dist/content-tree.d.ts.map +1 -1
  42. package/dist/content-tree.js +7 -2
  43. package/dist/content-tree.js.map +1 -1
  44. package/dist/context.d.ts +38 -7
  45. package/dist/context.d.ts.map +1 -1
  46. package/dist/context.js +32 -0
  47. package/dist/context.js.map +1 -1
  48. package/dist/editor/editor-config.js +2 -2
  49. package/dist/editor/editor-config.js.map +1 -1
  50. package/dist/entry-schema-registry.d.ts.map +1 -1
  51. package/dist/entry-schema-registry.js +9 -0
  52. package/dist/entry-schema-registry.js.map +1 -1
  53. package/dist/entry-schema.d.ts +1 -0
  54. package/dist/entry-schema.d.ts.map +1 -1
  55. package/dist/entry-schema.js.map +1 -1
  56. package/dist/github-service.d.ts.map +1 -1
  57. package/dist/github-service.js +11 -7
  58. package/dist/github-service.js.map +1 -1
  59. package/dist/index.d.ts +1 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/paths/index.d.ts +1 -1
  64. package/dist/paths/index.d.ts.map +1 -1
  65. package/dist/paths/index.js +1 -1
  66. package/dist/paths/index.js.map +1 -1
  67. package/dist/paths/normalize.d.ts +8 -0
  68. package/dist/paths/normalize.d.ts.map +1 -1
  69. package/dist/paths/normalize.js +17 -0
  70. package/dist/paths/normalize.js.map +1 -1
  71. package/dist/url-path-resolver.d.ts +16 -0
  72. package/dist/url-path-resolver.d.ts.map +1 -0
  73. package/dist/url-path-resolver.js +31 -0
  74. package/dist/url-path-resolver.js.map +1 -0
  75. package/dist/utils/body-field.d.ts +18 -0
  76. package/dist/utils/body-field.d.ts.map +1 -0
  77. package/dist/utils/body-field.js +39 -0
  78. package/dist/utils/body-field.js.map +1 -0
  79. package/dist/utils/sanitize-href.d.ts +19 -0
  80. package/dist/utils/sanitize-href.d.ts.map +1 -0
  81. package/dist/utils/sanitize-href.js +30 -0
  82. package/dist/utils/sanitize-href.js.map +1 -0
  83. package/package.json +1 -1
package/README.md CHANGED
@@ -76,7 +76,7 @@ export default defineCanopyConfig({
76
76
  default: true,
77
77
  fields: [
78
78
  { name: 'title', type: 'string', required: true },
79
- { name: 'body', type: 'mdx', required: true },
79
+ { name: 'body', type: 'mdx', required: true, isBody: true },
80
80
  ],
81
81
  },
82
82
  ],
@@ -90,7 +90,7 @@ export default defineCanopyConfig({
90
90
  format: 'mdx',
91
91
  fields: [
92
92
  { name: 'title', type: 'string' },
93
- { name: 'body', type: 'mdx' },
93
+ { name: 'body', type: 'mdx', isBody: true },
94
94
  ],
95
95
  },
96
96
  ],
@@ -118,60 +118,146 @@ export default defineCanopyConfig({
118
118
 
119
119
  The `schema` object has two top-level keys: `collections` (nested collections with their own entry types) and `entries` (entry types at the root level). Collections can contain other collections via `collections` and define their allowed content via `entries`. Use `maxItems: 1` on an entry type to restrict it to a single instance (like a singleton). `contentRoot` (default `content`) is prefixed when resolving filesystem paths and ids, so a `path` of `posts` becomes `content/posts`. Use the collection’s resolved `path` (id) when calling APIs or building editor URLs.
120
120
 
121
+ **Body fields:**
122
+
123
+ Mark exactly one markdown/MDX field per entry type with `isBody: true` to designate it as the body field. When reading a markdown or MDX file, the content after the frontmatter is mapped to the field with `isBody: true`. This lets you name the body field whatever makes sense for your schema (e.g., `content`, `body`, `text`) rather than relying on a hardcoded `body` key:
124
+
125
+ ```ts
126
+ import { defineEntrySchema, type TypeFromEntrySchema } from 'canopycms'
127
+
128
+ export const postSchema = defineEntrySchema([
129
+ { name: 'title', type: 'string', label: 'Title' },
130
+ { name: 'body', type: 'mdx', label: 'Body', isBody: true },
131
+ ])
132
+
133
+ export type PostContent = TypeFromEntrySchema<typeof postSchema>
134
+ ```
135
+
136
+ If no field has `isBody: true`, the markdown content defaults to a field named `body`. The `isBody` flag is validated at schema registry load time: at most one per schema, and only on `markdown` or `mdx` fields.
137
+
121
138
  _TODO_ show how schemas can be defined across multiple files. Show all the configuration options for schemas.
122
139
 
123
- 2. **Add API routes** with the Next adapter
140
+ 2. **Set up the shared Canopy helper and API routes**
141
+
142
+ The `npx canopycms init` command generates a shared helper that provides the Canopy context (for reading content in pages) and the API handler (for the editor). If you need to create it manually:
124
143
 
125
144
  ```ts
126
- // app/api/canopycms/[...canopycms]/route.ts
127
- import config from '../../../canopycms.config' // adjust path as needed
128
- import { createCanopyHandler } from 'canopycms/next'
145
+ // app/lib/canopy.ts
146
+ import { createNextCanopyContext } from 'canopycms-next'
129
147
  import { createClerkAuthPlugin } from 'canopycms-auth-clerk'
130
-
131
- const handler = createCanopyHandler({
132
- config,
133
- authPlugin: createClerkAuthPlugin({
134
- secretKey: process.env.CLERK_SECRET_KEY,
135
- useOrganizationsAsGroups: true, // Map Clerk organizations to CMS groups
136
- }),
148
+ import { createDevAuthPlugin } from 'canopycms-auth-dev'
149
+ import config from '../../canopycms.config'
150
+ import { entrySchemaRegistry } from '../schemas'
151
+
152
+ const canopyContextPromise = createNextCanopyContext({
153
+ config: config.server,
154
+ authPlugin:
155
+ process.env.CANOPY_AUTH_MODE === 'clerk'
156
+ ? createClerkAuthPlugin({ useOrganizationsAsGroups: true })
157
+ : createDevAuthPlugin(),
158
+ entrySchemaRegistry,
137
159
  })
138
160
 
139
- export const GET = handler
140
- export const POST = handler
141
- export const PUT = handler
142
- export const DELETE = handler
161
+ // For server component pages
162
+ export const getCanopy = async () => {
163
+ const context = await canopyContextPromise
164
+ return context.getCanopy()
165
+ }
166
+
167
+ // For build-time functions (generateStaticParams, generateMetadata)
168
+ export const getCanopyForBuild = async () => {
169
+ const context = await canopyContextPromise
170
+ return context.getCanopyForBuild()
171
+ }
172
+
173
+ // For API routes
174
+ export const getHandler = async () => {
175
+ const context = await canopyContextPromise
176
+ return context.handler
177
+ }
143
178
  ```
144
179
 
145
- The `authPlugin` is required and handles authentication for all API requests. See [canopycms-auth-clerk](../canopycms-auth-clerk) for Clerk integration or create your own plugin implementing the `AuthPlugin` interface.
180
+ This is the same code that `npx canopycms init` generates. It exports three helpers:
181
+
182
+ - `getCanopy()` -- request-scoped context with auth from the current user
183
+ - `getCanopyForBuild()` -- non-request-scoped context with full admin privileges (for `generateStaticParams`, `generateMetadata`, build scripts)
184
+ - `getHandler()` -- the API route handler
185
+
186
+ Then wire up the catch-all API route:
187
+
188
+ ```ts
189
+ // app/api/canopycms/[...canopycms]/route.ts
190
+ import { getHandler } from '../../../lib/canopy'
191
+ import type { NextRequest } from 'next/server'
192
+
193
+ const handler = getHandler()
194
+
195
+ type RouteContext = { params: Promise<Record<string, string | string[]>> }
146
196
 
147
- The `[collection]` segment should receive the collection `path` (the id). If your ids include `/`, encode them (`encodeURIComponent`) when building URLs to keep them as a single path segment.
197
+ export const GET = async (req: NextRequest, ctx: RouteContext) => (await handler)(req, ctx)
198
+ export const POST = async (req: NextRequest, ctx: RouteContext) => (await handler)(req, ctx)
199
+ export const PUT = async (req: NextRequest, ctx: RouteContext) => (await handler)(req, ctx)
200
+ export const DELETE = async (req: NextRequest, ctx: RouteContext) => (await handler)(req, ctx)
201
+ ```
202
+
203
+ The `authPlugin` is required and handles authentication for all API requests. See [canopycms-auth-clerk](../canopycms-auth-clerk) for Clerk integration or create your own plugin implementing the `AuthPlugin` interface.
148
204
 
149
205
  Host styling is framework-agnostic: your public app can use Tailwind (the included example does) or anything else; Mantine is only required inside the CanopyCMS editor UI.
150
206
 
151
- 3. **Load content in your pages** with the Next helper
207
+ 3. **Load content in your pages**
208
+
209
+ Use `readByUrlPath` to resolve a URL path to content automatically. It tries a direct entry match first (last segment = slug), then falls back to an index entry. Returns `null` if nothing matches.
152
210
 
153
211
  ```ts
154
- // app/page.tsx (server component)
155
- import { createContentReader } from 'canopycms'
156
- import config from '../canopycms.config'
212
+ // app/docs/[[...slug]]/page.tsx (catch-all server component)
213
+ import { notFound } from 'next/navigation'
214
+ import { getCanopy, getCanopyForBuild } from '../../lib/canopy'
215
+ import type { DocContent } from '../../schemas'
216
+ import DocView from '../../components/DocView'
217
+
218
+ // Build-time: use getCanopyForBuild() (no request scope needed)
219
+ export async function generateStaticParams() {
220
+ const canopy = await getCanopyForBuild()
221
+ const entries = await canopy.listEntries({ rootPath: 'content/docs' })
222
+ return entries.map((entry) => ({ slug: entry.pathSegments }))
223
+ }
157
224
 
158
- const reader = createContentReader({ config })
225
+ export default async function DocPage({ params }: { params: { slug?: string[] } }) {
226
+ const slugParts = params.slug || []
227
+ if (slugParts.length === 0) {
228
+ return <div>Docs landing page</div>
229
+ }
159
230
 
160
- export default async function Page({ searchParams }: { searchParams?: { branch?: string } }) {
161
- const { data } = await reader.read<{
162
- /* your data shape */
163
- }>({
164
- entryPath: 'content/home',
165
- branch: searchParams?.branch,
166
- })
167
- // render using data; preview hooks can infer the entry id from the current URL
231
+ // Request-time: use getCanopy() for auth-aware reads
232
+ const canopy = await getCanopy()
233
+ const urlPath = `/docs/${slugParts.join('/')}`
234
+ const result = await canopy.readByUrlPath<DocContent>(urlPath)
235
+ if (!result) return notFound()
236
+
237
+ return <DocView data={result.data} />
238
+ }
239
+ ```
240
+
241
+ For known, fixed paths you can still use `read` directly:
242
+
243
+ ```ts
244
+ // app/page.tsx (server component)
245
+ import { getCanopy } from './lib/canopy'
246
+ import type { HomeContent } from './schemas'
247
+
248
+ export default async function Page() {
249
+ const canopy = await getCanopy()
250
+ const { data } = await canopy.read<HomeContent>({ entryPath: 'content/home' })
251
+ return <HomeView data={data} />
168
252
  }
169
253
  ```
170
254
 
171
- `read` returns `{ data, path }` and throws if the content is missing. In preview pages, `useCanopyPreview` can infer the entry id from `window.location` so you can usually ignore `path`. Pass a `branch` when you want branch-specific data; otherwise it defaults to your configured base branch. The helper enforces the same branch/path access rules as the API handlers.
255
+ Both methods return `{ data, path }`. `read` throws if the content is missing; `readByUrlPath` returns `null` instead. Pass a `branch` option when you want branch-specific data (e.g., for preview); otherwise it defaults to your configured base branch. Both enforce the same branch/path access rules as the API handlers.
256
+
257
+ > **Note:** `readByUrlPath` resolves to **entries** only, not collections. Passing `'/'` returns `null`. For collection-level data (navigation, sitemaps), use `buildContentTree` or `listEntries` instead.
172
258
 
173
259
  4. **Wire auth**
174
- Provide an `authPlugin` in `createCanopyHandler` (e.g., Clerk) so branch/path permissions can be enforced.
260
+ Provide an `authPlugin` in `createNextCanopyContext` (e.g., Clerk) so branch/path permissions can be enforced.
175
261
 
176
262
  **Permission Model:**
177
263
 
@@ -311,7 +311,7 @@ function formatInlineValue(field, value) {
311
311
  */
312
312
  function yamlValue(value) {
313
313
  if (/[:#{}[\],&*?|>!%@`]/.test(value) || value.includes('\n')) {
314
- return `"${value.replace(/"/g, '\\"')}"`;
314
+ return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
315
315
  }
316
316
  return value;
317
317
  }
@@ -1 +1 @@
1
- {"version":3,"file":"json-to-markdown.js","sourceRoot":"","sources":["../../src/ai/json-to-markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-to-markdown.js","sourceRoot":"","sources":["../../src/ai/json-to-markdown.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/api/content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAA0B,WAAW,EAAE,MAAM,SAAS,CAAA;AAMlE,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,UAAU,CAAA;AAIlD,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF,iDAAiD;AACjD,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF,6CAA6C;AAC7C,MAAM,MAAM,2BAA2B,GAAG,WAAW,CAAC;IACpD,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;CACH,CAAC,CAAA;AAEF,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wEAAwE;AACxE,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AA4YnE;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKjB,CAAA"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/api/content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAA0B,WAAW,EAAE,MAAM,SAAS,CAAA;AAMlE,OAAO,KAAK,EAAE,IAAI,EAAgB,MAAM,UAAU,CAAA;AAalD,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF,iDAAiD;AACjD,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF,6CAA6C;AAC7C,MAAM,MAAM,2BAA2B,GAAG,WAAW,CAAC;IACpD,KAAK,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;CACH,CAAC,CAAA;AAEF,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,wEAAwE;AACxE,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AA6XnE;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKjB,CAAA"}
@@ -4,6 +4,14 @@ import { defineEndpoint } from './route-builder.js';
4
4
  import { ReferenceValidator } from '../validation/reference-validator.js';
5
5
  import { branchNameSchema, logicalPathSchema, slugSchema } from './validators.js';
6
6
  import { isNotFoundError } from '../utils/error.js';
7
+ /**
8
+ * Parse an API path into logical path segments, prepending the content root if needed.
9
+ * Shared by all content API handlers.
10
+ */
11
+ function parseApiPath(apiPath, contentRoot) {
12
+ const segments = apiPath.split('/').filter(Boolean);
13
+ return segments[0] === contentRoot ? segments : [contentRoot, ...segments];
14
+ }
7
15
  // ============================================================================
8
16
  // Zod Schemas for Validation
9
17
  // ============================================================================
@@ -42,9 +50,7 @@ const readContentHandler = async (gc, ctx, req, params) => {
42
50
  const store = new ContentStore(branchContext.branchRoot, flatSchema);
43
51
  // Parse path segments: params.path is like "content/posts/hello"
44
52
  const contentRoot = ctx.services.config.contentRoot || 'content';
45
- const pathSegments = params.path.split('/').filter(Boolean);
46
- // Prepend contentRoot if not already present
47
- const logicalPathSegments = pathSegments[0] === contentRoot ? pathSegments : [contentRoot, ...pathSegments];
53
+ const logicalPathSegments = parseApiPath(params.path, contentRoot);
48
54
  // Use trivial path resolution
49
55
  let schemaItem;
50
56
  let slug;
@@ -81,9 +87,7 @@ const writeContentHandler = async (gc, ctx, req, params, body) => {
81
87
  const store = new ContentStore(branchContext.branchRoot, flatSchema);
82
88
  // Parse path segments: params.path is like "content/posts/hello" or "posts/hello"
83
89
  const contentRoot = ctx.services.config.contentRoot || 'content';
84
- const pathSegments = params.path.split('/').filter(Boolean);
85
- // Prepend contentRoot if not already present
86
- const logicalPathSegments = pathSegments[0] === contentRoot ? pathSegments : [contentRoot, ...pathSegments];
90
+ const logicalPathSegments = parseApiPath(params.path, contentRoot);
87
91
  // Use trivial path resolution
88
92
  let schemaItem;
89
93
  let slug;
@@ -127,8 +131,7 @@ const validateReferencesHandler = async (gc, ctx, req, params, body) => {
127
131
  const store = new ContentStore(branchContext.branchRoot, flatSchema);
128
132
  // Parse path segments to get collection/schema info
129
133
  const contentRoot = ctx.services.config.contentRoot || 'content';
130
- const pathSegments = params.path.split('/').filter(Boolean);
131
- const logicalPathSegments = pathSegments[0] === contentRoot ? pathSegments : [contentRoot, ...pathSegments];
134
+ const logicalPathSegments = parseApiPath(params.path, contentRoot);
132
135
  let schemaItem;
133
136
  let relativePath;
134
137
  try {
@@ -195,9 +198,7 @@ const renameEntryHandler = async (gc, ctx, req, params, body) => {
195
198
  const store = new ContentStore(branchContext.branchRoot, flatSchema);
196
199
  // Parse path segments
197
200
  const contentRoot = ctx.services.config.contentRoot || 'content';
198
- const pathSegments = params.path.split('/').filter(Boolean);
199
- // Prepend contentRoot if not already present
200
- const logicalPathSegments = pathSegments[0] === contentRoot ? pathSegments : [contentRoot, ...pathSegments];
201
+ const logicalPathSegments = parseApiPath(params.path, contentRoot);
201
202
  // Resolve to collection and slug
202
203
  let schemaItem;
203
204
  let currentSlug;
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/api/content.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAG9E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAiDhD,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAA;AAEF,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,iBAAiB;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,qEAAqE;CACxG,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAA;AAEF,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,iBAAiB;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAA;AAEF,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CAC5B,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,gBAAgB;IACxB,IAAI,EAAE,iBAAiB;CACxB,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,UAAU;CACpB,CAAC,CAAA;AAEF,MAAM,kBAAkB,GAAG,KAAK,EAC9B,EAA8C,EAC9C,GAAe,EACf,GAAe,EACf,MAA+C,EACjB,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEpE,iEAAiE;IACjE,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAA;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE3D,6CAA6C;IAC7C,MAAM,mBAAmB,GACvB,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,CAAA;IAEjF,8BAA8B;IAC9B,IAAI,UAA0B,CAAA;IAC9B,IAAI,IAAU,CAAA;IACd,IAAI,YAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;QACvD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAChC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QACpB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAChF,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAClD,aAAa,EACb,aAAa,CAAC,UAAU,EACxB,YAAY,EACZ,GAAG,CAAC,IAAI,EACR,MAAM,CACP,CAAA;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACvD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAC1D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;IAC7C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAA;QAC/D,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,KAAK,EAC/B,EAA8C,EAC9C,GAAe,EACf,GAAe,EACf,MAAgD,EAChD,IAA4C,EACb,EAAE;IACjC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEpE,kFAAkF;IAClF,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAA;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE3D,6CAA6C;IAC7C,MAAM,mBAAmB,GACvB,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,CAAA;IAEjF,8BAA8B;IAC9B,IAAI,UAA0B,CAAA;IAC9B,IAAI,IAAU,CAAA;IACd,IAAI,YAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;QACvD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAChC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QACpB,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAChF,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAClD,aAAa,EACb,aAAa,CAAC,UAAU,EACxB,YAAY,EACZ,GAAG,CAAC,IAAI,EACR,MAAM,CACP,CAAA;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACvD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,KAAK,MAAM;YACpB,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CACf,UAAU,CAAC,WAAW,EACtB,IAAI,EACJ;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;aACtB,EACD,MAAM,CAAC,SAAS,CACjB;YACH,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,CACf,UAAU,CAAC,WAAW,EACtB,IAAI,EACJ;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;aACtB,EACD,MAAM,CAAC,SAAS,CACjB,CAAA;QAEP,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAA;QAC/E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IACnD,CAAC;AACH,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,KAAK,EACrC,EAA8C,EAC9C,GAAe,EACf,GAAe,EACf,MAAsD,EACtD,IAAkD,EACZ,EAAE;IACxC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEpE,oDAAoD;IACpD,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAA;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE3D,MAAM,mBAAmB,GACvB,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,CAAA;IAEjF,IAAI,UAA0B,CAAA;IAC9B,IAAI,YAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;QACvD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC1B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAChF,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IACnD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAClD,aAAa,EACb,aAAa,CAAC,UAAU,EACxB,YAAY,EACZ,GAAG,CAAC,IAAI,EACR,MAAM,CACP,CAAA;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACvD,CAAC;IAED,+CAA+C;IAC/C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;IAErC,wCAAwC;IACxC,IAAI,MAAM,GAAgB,EAAE,CAAA;IAC5B,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACrC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,IAAI,eAA4C,CAAA;QAChD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,eAAe,GAAG,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,CAAA;YAC9E,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,eAAe,MAAM,CAAC,SAAS,aAAa;iBACpD,CAAA;YACH,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjE,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,oEAAoE;aAC5E,CAAA;QACH,CAAC;QACD,MAAM,GAAG,eAAe,CAAC,MAAM,IAAI,EAAE,CAAA;IACvC,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACzD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAElD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,GAAG;QACX,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC7D;KACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,KAAK,EAC9B,EAA8C,EAC9C,GAAe,EACf,GAAe,EACf,MAA+C,EAC/C,IAA2C,EACb,EAAE;IAChC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAA;IAC3C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEpE,sBAAsB;IACtB,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,IAAI,SAAS,CAAA;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAE3D,6CAA6C;IAC7C,MAAM,mBAAmB,GACvB,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,YAAY,CAAC,CAAA;IAEjF,iCAAiC;IACjC,IAAI,UAA0B,CAAA;IAC9B,IAAI,WAAiB,CAAA;IACrB,IAAI,YAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAA;QACvD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAChC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC3B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;QACvF,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;IACxC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAA;QAC1F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IACnD,CAAC;IAED,wCAAwC;IACxC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAClD,aAAa,EACb,aAAa,CAAC,UAAU,EACxB,YAAY,EACZ,GAAG,CAAC,IAAI,EACR,MAAM,CACP,CAAA;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;IACvD,CAAC;IAED,mBAAmB;IACnB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACzF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAA;IACrE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAA;QAChF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IACnD,CAAC;AACH,CAAC,CAAA;AAED,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,WAAW,GAAG,cAAc,CAAC;IACjC,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,0BAA0B;IAChC,MAAM,EAAE,uBAAuB;IAC/B,YAAY,EAAE,qBAAqB;IACnC,QAAQ,EAAE,EAAyB;IACnC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7C,MAAM,EAAE,CAAC,QAAQ,CAAU;IAC3B,OAAO,EAAE,kBAAkB;CAC5B,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,YAAY,GAAG,cAAc,CAAC;IAClC,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,0BAA0B;IAChC,MAAM,EAAE,wBAAwB;IAChC,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,kBAAkB;IAC5B,YAAY,EAAE,sBAAsB;IACpC,QAAQ,EAAE,EAA0B;IACpC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7C,MAAM,EAAE,CAAC,QAAQ,CAAU;IAC3B,OAAO,EAAE,mBAAmB;CAC7B,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,cAAc,CAAC;IACxC,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,sCAAsC;IAC5C,MAAM,EAAE,8BAA8B;IACtC,IAAI,EAAE,4BAA4B;IAClC,QAAQ,EAAE,wBAAwB;IAClC,YAAY,EAAE,6BAA6B;IAC3C,QAAQ,EAAE,EAAiC;IAC3C,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IAChC,MAAM,EAAE,CAAC,QAAQ,CAAU;IAC3B,OAAO,EAAE,yBAAyB;CACnC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,WAAW,GAAG,cAAc,CAAC;IACjC,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,OAAO;IACf,IAAI,EAAE,+BAA+B;IACrC,MAAM,EAAE,uBAAuB;IAC/B,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,iBAAiB;IAC3B,YAAY,EAAE,qBAAqB;IACnC,QAAQ,EAAE,EAAyB;IACnC,eAAe,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE;IACtD,MAAM,EAAE,CAAC,QAAQ,CAAU;IAC3B,OAAO,EAAE,kBAAkB;CAC5B,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,YAAY;IACnB,kBAAkB;IAClB,WAAW;CACH,CAAA"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/api/content.ts"],"names":[],"mappings":"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"}
@@ -162,7 +162,8 @@ var init_field = __esm({
162
162
  description: z.string().optional(),
163
163
  required: z.boolean().optional(),
164
164
  list: z.boolean().optional(),
165
- isTitle: z.boolean().optional()
165
+ isTitle: z.boolean().optional(),
166
+ isBody: z.boolean().optional()
166
167
  });
167
168
  selectOptionSchema = z.union([
168
169
  z.string(),
@@ -707,6 +708,15 @@ async function atomicWriteFile(filePath, content) {
707
708
  }
708
709
  }
709
710
 
711
+ // dist/utils/body-field.js
712
+ function findBodyFieldName(fields) {
713
+ for (const field of fields) {
714
+ if ("isBody" in field && field.isBody)
715
+ return field.name;
716
+ }
717
+ return "body";
718
+ }
719
+
710
720
  // dist/content-id-index.js
711
721
  import fs2 from "node:fs/promises";
712
722
  import path2 from "node:path";
@@ -1083,6 +1093,10 @@ async function ensureBranchRoot(options) {
1083
1093
 
1084
1094
  // dist/content-store.js
1085
1095
  var ContentStoreError = class extends Error {
1096
+ constructor(message, code) {
1097
+ super(message);
1098
+ this.code = code;
1099
+ }
1086
1100
  };
1087
1101
  function getDefaultEntryType(entries) {
1088
1102
  if (!entries || entries.length === 0)
@@ -1091,10 +1105,10 @@ function getDefaultEntryType(entries) {
1091
1105
  }
1092
1106
  function validateSlug(slug) {
1093
1107
  if (slug.includes("/")) {
1094
- throw new ContentStoreError("Slugs cannot contain forward slashes. Use nested collections instead.");
1108
+ throw new ContentStoreError("Slugs cannot contain forward slashes. Use nested collections instead.", "VALIDATION");
1095
1109
  }
1096
1110
  if (slug.includes("\\")) {
1097
- throw new ContentStoreError("Slugs cannot contain backslashes. Use nested collections instead.");
1111
+ throw new ContentStoreError("Slugs cannot contain backslashes. Use nested collections instead.", "VALIDATION");
1098
1112
  }
1099
1113
  }
1100
1114
  var ContentStore = class {
@@ -1126,14 +1140,14 @@ var ContentStore = class {
1126
1140
  const normalized = normalizeFilesystemPath(path13);
1127
1141
  const item = this.schemaIndex.get(normalized);
1128
1142
  if (!item) {
1129
- throw new ContentStoreError(`Unknown schema item: ${path13}`);
1143
+ throw new ContentStoreError(`Unknown schema item: ${path13}`, "NO_SCHEMA_ITEM");
1130
1144
  }
1131
1145
  return item;
1132
1146
  }
1133
1147
  assertCollection(collectionPath) {
1134
1148
  const item = this.assertSchemaItem(collectionPath);
1135
1149
  if (item.type !== "collection") {
1136
- throw new ContentStoreError(`Path is not a collection: ${collectionPath}`);
1150
+ throw new ContentStoreError(`Path is not a collection: ${collectionPath}`, "NO_SCHEMA_ITEM");
1137
1151
  }
1138
1152
  return item;
1139
1153
  }
@@ -1158,7 +1172,7 @@ var ContentStore = class {
1158
1172
  const parentPath = schemaItem.parentPath || "";
1159
1173
  const parentCollection = this.schemaIndex.get(parentPath);
1160
1174
  if (!parentCollection || parentCollection.type !== "collection") {
1161
- throw new ContentStoreError(`Parent collection not found for entry type: ${schemaItem.name}`);
1175
+ throw new ContentStoreError(`Parent collection not found for entry type: ${schemaItem.name}`, "NO_SCHEMA_ITEM");
1162
1176
  }
1163
1177
  const effectiveSlug = slug || schemaItem.name;
1164
1178
  return this.buildPaths(parentCollection, effectiveSlug, {
@@ -1169,14 +1183,14 @@ var ContentStore = class {
1169
1183
  if (schemaItem.type === "collection") {
1170
1184
  const safeSlug = slug.replace(/^\/+/, "").toLowerCase();
1171
1185
  if (!safeSlug) {
1172
- throw new ContentStoreError("Slug is required for collection entries");
1186
+ throw new ContentStoreError("Slug is required for collection entries", "VALIDATION");
1173
1187
  }
1174
1188
  validateSlug(safeSlug);
1175
1189
  let entryTypeConfig;
1176
1190
  if (options.entryTypeName) {
1177
1191
  entryTypeConfig = schemaItem.entries?.find((e) => e.name === options.entryTypeName);
1178
1192
  if (!entryTypeConfig) {
1179
- throw new ContentStoreError(`Entry type '${options.entryTypeName}' not found in collection`);
1193
+ throw new ContentStoreError(`Entry type '${options.entryTypeName}' not found in collection`, "NO_SCHEMA_ITEM");
1180
1194
  }
1181
1195
  } else {
1182
1196
  entryTypeConfig = getDefaultEntryType(schemaItem.entries);
@@ -1189,7 +1203,7 @@ var ContentStore = class {
1189
1203
  collectionRoot = path5.resolve(this.root, schemaItem.logicalPath);
1190
1204
  }
1191
1205
  if (!collectionRoot.startsWith(rootWithSep)) {
1192
- throw new ContentStoreError("Path traversal detected");
1206
+ throw new ContentStoreError("Path traversal detected", "VALIDATION");
1193
1207
  }
1194
1208
  let id = options.existingId;
1195
1209
  let existingFilename;
@@ -1222,7 +1236,7 @@ var ContentStore = class {
1222
1236
  const resolved = path5.resolve(collectionRoot, filename);
1223
1237
  const collectionRootWithSep = collectionRoot.endsWith(path5.sep) ? collectionRoot : `${collectionRoot}${path5.sep}`;
1224
1238
  if (!resolved.startsWith(collectionRootWithSep)) {
1225
- throw new ContentStoreError("Path traversal detected");
1239
+ throw new ContentStoreError("Path traversal detected", "VALIDATION");
1226
1240
  }
1227
1241
  return {
1228
1242
  absolutePath: resolved,
@@ -1230,7 +1244,7 @@ var ContentStore = class {
1230
1244
  id
1231
1245
  };
1232
1246
  }
1233
- throw new ContentStoreError("Invalid schema item type");
1247
+ throw new ContentStoreError("Invalid schema item type", "VALIDATION");
1234
1248
  }
1235
1249
  /**
1236
1250
  * Path resolution: resolves a URL path to a schema item
@@ -1238,7 +1252,7 @@ var ContentStore = class {
1238
1252
  */
1239
1253
  resolvePath(pathSegments) {
1240
1254
  if (pathSegments.length === 0) {
1241
- throw new ContentStoreError("Empty path");
1255
+ throw new ContentStoreError("Empty path", "VALIDATION");
1242
1256
  }
1243
1257
  const logicalPath = pathSegments.join("/");
1244
1258
  const slug = pathSegments[pathSegments.length - 1].toLowerCase();
@@ -1251,7 +1265,7 @@ var ContentStore = class {
1251
1265
  slug
1252
1266
  };
1253
1267
  }
1254
- throw new ContentStoreError(`No schema item found for path: ${logicalPath}`);
1268
+ throw new ContentStoreError(`No schema item found for path: ${logicalPath}`, "NO_SCHEMA_ITEM");
1255
1269
  }
1256
1270
  async resolveDocumentPath(schemaPath, slug = "") {
1257
1271
  const schemaItem = this.assertSchemaItem(schemaPath);
@@ -1290,6 +1304,7 @@ var ContentStore = class {
1290
1304
  format,
1291
1305
  data: parsed.data ?? {},
1292
1306
  body: parsed.content,
1307
+ bodyFieldName: findBodyFieldName(fields),
1293
1308
  relativePath,
1294
1309
  absolutePath
1295
1310
  };
@@ -1303,22 +1318,25 @@ var ContentStore = class {
1303
1318
  const idIndex = await this.idIndex();
1304
1319
  const schemaItem = this.assertSchemaItem(collectionPath);
1305
1320
  let expectedFormat;
1321
+ let fields = [];
1306
1322
  if (schemaItem.type === "entry-type") {
1307
1323
  expectedFormat = schemaItem.format;
1324
+ fields = schemaItem.schema;
1308
1325
  } else {
1309
1326
  let entryTypeConfig;
1310
1327
  if (entryTypeName) {
1311
1328
  entryTypeConfig = schemaItem.entries?.find((e) => e.name === entryTypeName);
1312
1329
  if (!entryTypeConfig) {
1313
- throw new ContentStoreError(`Entry type '${entryTypeName}' not found in collection`);
1330
+ throw new ContentStoreError(`Entry type '${entryTypeName}' not found in collection`, "NO_SCHEMA_ITEM");
1314
1331
  }
1315
1332
  } else {
1316
1333
  entryTypeConfig = getDefaultEntryType(schemaItem.entries);
1317
1334
  }
1318
1335
  expectedFormat = entryTypeConfig?.format || "json";
1336
+ fields = entryTypeConfig?.schema || [];
1319
1337
  }
1320
1338
  if (expectedFormat !== input.format) {
1321
- throw new ContentStoreError(`Format mismatch: expects ${expectedFormat}, got ${input.format}`);
1339
+ throw new ContentStoreError(`Format mismatch: expects ${expectedFormat}, got ${input.format}`, "VALIDATION");
1322
1340
  }
1323
1341
  const { absolutePath, relativePath, id } = await this.buildPaths(schemaItem, slug, {
1324
1342
  entryTypeName
@@ -1375,6 +1393,7 @@ var ContentStore = class {
1375
1393
  format: input.format,
1376
1394
  data: input.data ?? {},
1377
1395
  body: input.body,
1396
+ bodyFieldName: findBodyFieldName(fields),
1378
1397
  relativePath,
1379
1398
  absolutePath
1380
1399
  };
@@ -1428,13 +1447,13 @@ var ContentStore = class {
1428
1447
  validateSlug(newSlug);
1429
1448
  const safeNewSlug = newSlug.replace(/^\/+/, "");
1430
1449
  if (!safeNewSlug) {
1431
- throw new ContentStoreError("New slug cannot be empty");
1450
+ throw new ContentStoreError("New slug cannot be empty", "VALIDATION");
1432
1451
  }
1433
1452
  const { absolutePath: currentPath, relativePath: currentRelPath } = await this.buildPaths(collection, currentSlug);
1434
1453
  try {
1435
1454
  await fs4.access(currentPath);
1436
1455
  } catch {
1437
- throw new ContentStoreError(`Entry not found: ${currentSlug}`);
1456
+ throw new ContentStoreError(`Entry not found: ${currentSlug}`, "NOT_FOUND");
1438
1457
  }
1439
1458
  if (currentSlug === safeNewSlug) {
1440
1459
  return { newPath: `${collectionPath}/${currentSlug}` };
@@ -1442,7 +1461,7 @@ var ContentStore = class {
1442
1461
  const currentFilename = path5.basename(currentPath);
1443
1462
  const parts = currentFilename.split(".");
1444
1463
  if (parts.length < 4) {
1445
- throw new ContentStoreError(`Invalid entry filename format: ${currentFilename}`);
1464
+ throw new ContentStoreError(`Invalid entry filename format: ${currentFilename}`, "VALIDATION");
1446
1465
  }
1447
1466
  const entryTypeName = parts[0];
1448
1467
  const contentId = parts[parts.length - 2];
@@ -1457,7 +1476,7 @@ var ContentStore = class {
1457
1476
  continue;
1458
1477
  const existingSlug = extractSlugFromFilename(entry.name, entryTypeName);
1459
1478
  if (existingSlug === safeNewSlug) {
1460
- throw new ContentStoreError(`Entry with slug "${safeNewSlug}" already exists in collection "${collectionPath}"`);
1479
+ throw new ContentStoreError(`Entry with slug "${safeNewSlug}" already exists in collection "${collectionPath}"`, "VALIDATION");
1461
1480
  }
1462
1481
  }
1463
1482
  } catch (err) {
@@ -2144,7 +2163,7 @@ function formatInlineValue(field, value) {
2144
2163
  }
2145
2164
  function yamlValue(value) {
2146
2165
  if (/[:#{}[\],&*?|>!%@`]/.test(value) || value.includes("\n")) {
2147
- return `"${value.replace(/"/g, '\\"')}"`;
2166
+ return `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
2148
2167
  }
2149
2168
  return value;
2150
2169
  }
@@ -1,4 +1,5 @@
1
1
  import type { AuthPlugin } from '../auth/plugin';
2
+ export type AuthProvider = 'clerk' | 'dev';
2
3
  export interface InitOptions {
3
4
  mode: 'dev';
4
5
  appDir: string;
@@ -6,6 +7,10 @@ export interface InitOptions {
6
7
  force: boolean;
7
8
  nonInteractive: boolean;
8
9
  ai: boolean;
10
+ /** Pre-set auth provider (skips prompt). */
11
+ authProvider?: AuthProvider;
12
+ /** Pre-set static build choice (skips prompt). */
13
+ staticBuild?: boolean;
9
14
  }
10
15
  interface InitDeployOptions {
11
16
  cloud: 'aws';
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,EAAE,EAAE,OAAO,CAAA;CACZ;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;CACxB;AA+CD;;;GAGG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqE9D;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C7E;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEhB"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAGhD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,CAAA;AAE1C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,EAAE,EAAE,OAAO,CAAA;IACX,4CAA4C;IAC5C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,kDAAkD;IAClD,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;CACxB;AA+CD;;;GAGG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqI9D;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C7E;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEhB"}