canopycms 0.0.15 → 0.0.17

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 (187) hide show
  1. package/dist/ai/generate.js +5 -5
  2. package/dist/ai/generate.js.map +1 -1
  3. package/dist/ai/handler.js +5 -5
  4. package/dist/ai/index.js +3 -3
  5. package/dist/ai/resolve-branch.js +2 -2
  6. package/dist/api/__test__/mock-client.js +1 -1
  7. package/dist/api/assets.js +1 -1
  8. package/dist/api/branch-merge.js +3 -3
  9. package/dist/api/branch-review.js +4 -4
  10. package/dist/api/branch-status.js +8 -8
  11. package/dist/api/branch-withdraw.js +5 -5
  12. package/dist/api/branch.js +9 -9
  13. package/dist/api/comments.js +4 -4
  14. package/dist/api/content.js +5 -5
  15. package/dist/api/entries.d.ts.map +1 -1
  16. package/dist/api/entries.js +57 -145
  17. package/dist/api/entries.js.map +1 -1
  18. package/dist/api/github-sync.js +3 -3
  19. package/dist/api/groups.js +4 -4
  20. package/dist/api/guards.js +1 -1
  21. package/dist/api/index.js +3 -3
  22. package/dist/api/permissions.js +4 -4
  23. package/dist/api/reference-options.js +5 -5
  24. package/dist/api/resolve-references.js +4 -4
  25. package/dist/api/route-builder.js +1 -1
  26. package/dist/api/schema.js +5 -5
  27. package/dist/api/settings-helpers.js +1 -1
  28. package/dist/api/user.js +1 -1
  29. package/dist/api/validators.js +3 -3
  30. package/dist/asset-store.js +1 -1
  31. package/dist/auth/cache.js +2 -2
  32. package/dist/auth/caching-auth-plugin.js +1 -1
  33. package/dist/auth/file-based-auth-cache.js +1 -1
  34. package/dist/auth/index.js +1 -1
  35. package/dist/authorization/branch.js +1 -1
  36. package/dist/authorization/content.js +3 -3
  37. package/dist/authorization/groups/index.js +2 -2
  38. package/dist/authorization/groups/loader.js +4 -4
  39. package/dist/authorization/index.js +8 -8
  40. package/dist/authorization/path.js +1 -1
  41. package/dist/authorization/permissions/index.js +2 -2
  42. package/dist/authorization/permissions/loader.js +3 -3
  43. package/dist/authorization/permissions/schema.js +1 -1
  44. package/dist/authorization/test-utils.js +1 -1
  45. package/dist/authorization/validation.js +1 -1
  46. package/dist/branch-metadata.js +3 -3
  47. package/dist/branch-registry.js +2 -2
  48. package/dist/branch-schema-cache.js +2 -2
  49. package/dist/branch-workspace.js +6 -6
  50. package/dist/build/generate-ai-content.js +4 -4
  51. package/dist/build/index.js +1 -1
  52. package/dist/cli/cli.js +5 -5
  53. package/dist/cli/generate-ai-content.js +12 -13
  54. package/dist/cli/init.js +4 -11
  55. package/dist/cli/sync.js +1 -1
  56. package/dist/client.js +9 -9
  57. package/dist/config/flatten.js +2 -2
  58. package/dist/config/helpers.js +3 -3
  59. package/dist/config/index.js +9 -9
  60. package/dist/config/schemas/collection.js +1 -1
  61. package/dist/config/schemas/config.js +2 -2
  62. package/dist/config/schemas/field.d.ts +21 -0
  63. package/dist/config/schemas/field.d.ts.map +1 -1
  64. package/dist/config/schemas/field.js +2 -1
  65. package/dist/config/schemas/field.js.map +1 -1
  66. package/dist/config/types.d.ts +2 -0
  67. package/dist/config/types.d.ts.map +1 -1
  68. package/dist/config/validation.js +2 -2
  69. package/dist/config-test.js +2 -2
  70. package/dist/config.js +2 -2
  71. package/dist/content-id-index.js +2 -2
  72. package/dist/content-listing.d.ts +67 -2
  73. package/dist/content-listing.d.ts.map +1 -1
  74. package/dist/content-listing.js +95 -13
  75. package/dist/content-listing.js.map +1 -1
  76. package/dist/content-reader.js +5 -5
  77. package/dist/content-store.d.ts +1 -1
  78. package/dist/content-store.d.ts.map +1 -1
  79. package/dist/content-store.js +6 -6
  80. package/dist/content-store.js.map +1 -1
  81. package/dist/content-tree.d.ts +11 -5
  82. package/dist/content-tree.d.ts.map +1 -1
  83. package/dist/content-tree.js +3 -1
  84. package/dist/content-tree.js.map +1 -1
  85. package/dist/context.d.ts +3 -0
  86. package/dist/context.d.ts.map +1 -1
  87. package/dist/context.js +24 -6
  88. package/dist/context.js.map +1 -1
  89. package/dist/editor/BranchManager.js +4 -4
  90. package/dist/editor/CanopyEditor.js +3 -3
  91. package/dist/editor/CanopyEditorPage.js +1 -1
  92. package/dist/editor/CommentsPanel.js +1 -1
  93. package/dist/editor/Editor.js +18 -18
  94. package/dist/editor/EntryNavigator.js +1 -1
  95. package/dist/editor/FormRenderer.js +12 -12
  96. package/dist/editor/GroupManager.js +1 -1
  97. package/dist/editor/PermissionManager.js +1 -1
  98. package/dist/editor/client-reference-resolver.js +1 -1
  99. package/dist/editor/comments/BranchComments.js +1 -1
  100. package/dist/editor/comments/EntryComments.js +1 -1
  101. package/dist/editor/comments/FieldWrapper.js +1 -1
  102. package/dist/editor/comments/InlineCommentThread.js +1 -1
  103. package/dist/editor/comments/ThreadCarousel.js +1 -1
  104. package/dist/editor/components/EditorHeader.js +1 -1
  105. package/dist/editor/components/UserBadge.js +1 -1
  106. package/dist/editor/components/index.js +3 -3
  107. package/dist/editor/context/ApiClientContext.js +1 -1
  108. package/dist/editor/context/index.js +2 -2
  109. package/dist/editor/editor-utils.js +1 -1
  110. package/dist/editor/fields/BlockField.js +1 -1
  111. package/dist/editor/fields/ObjectField.js +1 -1
  112. package/dist/editor/fields/ReferenceField.js +1 -1
  113. package/dist/editor/group-manager/GroupCard.js +1 -1
  114. package/dist/editor/group-manager/InternalGroupsTab.js +1 -1
  115. package/dist/editor/group-manager/MemberList.js +1 -1
  116. package/dist/editor/group-manager/index.js +9 -9
  117. package/dist/editor/hooks/__test__/test-utils.js +3 -3
  118. package/dist/editor/hooks/index.js +11 -11
  119. package/dist/editor/hooks/useBranchActions.js +1 -1
  120. package/dist/editor/hooks/useBranchManager.js +1 -1
  121. package/dist/editor/hooks/useCommentSystem.js +2 -2
  122. package/dist/editor/hooks/useDraftManager.js +1 -1
  123. package/dist/editor/hooks/useEntryManager.js +3 -3
  124. package/dist/editor/hooks/useGroupManager.js +1 -1
  125. package/dist/editor/hooks/usePermissionManager.js +1 -1
  126. package/dist/editor/hooks/useReferenceResolution.js +1 -1
  127. package/dist/editor/hooks/useSchemaManager.js +1 -1
  128. package/dist/editor/hooks/useUserContext.js +1 -1
  129. package/dist/editor/permission-manager/PermissionEditor.js +4 -4
  130. package/dist/editor/permission-manager/PermissionLevelBadge.js +1 -1
  131. package/dist/editor/permission-manager/PermissionTree.js +3 -3
  132. package/dist/editor/permission-manager/UserSelector.js +1 -1
  133. package/dist/editor/permission-manager/hooks/usePermissionTree.js +2 -2
  134. package/dist/editor/permission-manager/index.js +6 -6
  135. package/dist/editor/preview-bridge.js +1 -1
  136. package/dist/editor/schema-editor/CollectionEditor.js +2 -2
  137. package/dist/editor/schema-editor/index.js +2 -2
  138. package/dist/entry-schema-registry.d.ts.map +1 -1
  139. package/dist/entry-schema-registry.js +34 -2
  140. package/dist/entry-schema-registry.js.map +1 -1
  141. package/dist/entry-schema.d.ts +1 -0
  142. package/dist/entry-schema.d.ts.map +1 -1
  143. package/dist/entry-schema.js.map +1 -1
  144. package/dist/git-manager.js +4 -4
  145. package/dist/github-service.js +1 -1
  146. package/dist/http/handler.js +7 -7
  147. package/dist/http/index.js +3 -3
  148. package/dist/http/router.js +12 -12
  149. package/dist/id.js +1 -1
  150. package/dist/index.d.ts +2 -1
  151. package/dist/index.d.ts.map +1 -1
  152. package/dist/index.js +6 -6
  153. package/dist/operating-mode/client-unsafe-strategy.js +2 -2
  154. package/dist/operating-mode/client.js +1 -1
  155. package/dist/operating-mode/index.js +2 -2
  156. package/dist/paths/branch.js +1 -1
  157. package/dist/paths/index.js +6 -6
  158. package/dist/paths/test-utils.js +1 -1
  159. package/dist/paths/validation.js +1 -1
  160. package/dist/reference-resolver.js +2 -2
  161. package/dist/reference-resolver.js.map +1 -1
  162. package/dist/schema/index.js +2 -2
  163. package/dist/schema/meta-loader.d.ts.map +1 -1
  164. package/dist/schema/meta-loader.js +11 -1
  165. package/dist/schema/meta-loader.js.map +1 -1
  166. package/dist/schema/resolver.js +1 -1
  167. package/dist/schema/schema-store.js +4 -4
  168. package/dist/server.d.ts +3 -1
  169. package/dist/server.d.ts.map +1 -1
  170. package/dist/server.js +13 -12
  171. package/dist/server.js.map +1 -1
  172. package/dist/services.js +12 -12
  173. package/dist/settings-branch-utils.js +1 -1
  174. package/dist/settings-workspace.js +3 -3
  175. package/dist/task-queue/index.js +1 -1
  176. package/dist/task-queue/task-queue.js +1 -1
  177. package/dist/user.js +1 -1
  178. package/dist/utils/fs.js +1 -1
  179. package/dist/utils/title-field.d.ts +40 -0
  180. package/dist/utils/title-field.d.ts.map +1 -0
  181. package/dist/utils/title-field.js +126 -0
  182. package/dist/utils/title-field.js.map +1 -0
  183. package/dist/validation/reference-validator.js +2 -2
  184. package/dist/worker/cms-worker.js +5 -5
  185. package/dist/worker/task-queue-config.js +1 -1
  186. package/dist/worker/task-queue.js +2 -2
  187. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Helper functions for authoring CanopyCMS configuration files.
3
3
  */
4
- import { validateCanopyConfig } from './validation';
4
+ import { validateCanopyConfig } from './validation.js';
5
5
  /**
6
6
  * Helper for authoring typed config files (canopycms.config.ts).
7
7
  * Performs runtime validation using the CanopyConfig schema.
@@ -60,8 +60,8 @@ export function defineCanopyConfig(config) {
60
60
  *
61
61
  * // canopycms.config.ts
62
62
  * import { composeCanopyConfig } from 'canopycms'
63
- * import { postsConfig } from './posts.config'
64
- * import { pagesConfig } from './pages.config'
63
+ * import { postsConfig } from './posts.config.js'
64
+ * import { pagesConfig } from './pages.config.js'
65
65
  *
66
66
  * export const config = composeCanopyConfig(postsConfig, pagesConfig)
67
67
  * ```
@@ -9,15 +9,15 @@
9
9
  * ```
10
10
  */
11
11
  // Re-export type constants
12
- export { primitiveFieldTypes, fieldTypes } from './types';
12
+ export { primitiveFieldTypes, fieldTypes } from './types.js';
13
13
  // Re-export schemas (for advanced use cases)
14
- export { CanopyConfigSchema, getConfigDefaults, DEFAULT_PROD_WORKSPACE } from './schemas/config';
15
- export { fieldSchema, blockSchema, selectOptionSchema, referenceOptionSchema, } from './schemas/field';
16
- export { collectionSchema, rootCollectionSchema, entryTypeSchema, relativePathSchema, } from './schemas/collection';
17
- export { permissionTargetSchema, pathPermissionSchema } from './schemas/permissions';
18
- export { mediaSchema } from './schemas/media';
14
+ export { CanopyConfigSchema, getConfigDefaults, DEFAULT_PROD_WORKSPACE } from './schemas/config.js';
15
+ export { fieldSchema, blockSchema, selectOptionSchema, referenceOptionSchema, } from './schemas/field.js';
16
+ export { collectionSchema, rootCollectionSchema, entryTypeSchema, relativePathSchema, } from './schemas/collection.js';
17
+ export { permissionTargetSchema, pathPermissionSchema } from './schemas/permissions.js';
18
+ export { mediaSchema } from './schemas/media.js';
19
19
  // Re-export utilities
20
- export { flattenSchema, normalizePathValue, normalizeSchemaPathsRoot } from './flatten';
21
- export { validateCanopyConfig, ensureSelectFieldsHaveOptions } from './validation';
22
- export { defineCanopyConfig, composeCanopyConfig } from './helpers';
20
+ export { flattenSchema, normalizePathValue, normalizeSchemaPathsRoot } from './flatten.js';
21
+ export { validateCanopyConfig, ensureSelectFieldsHaveOptions } from './validation.js';
22
+ export { defineCanopyConfig, composeCanopyConfig } from './helpers.js';
23
23
  //# sourceMappingURL=index.js.map
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { z } from 'zod';
5
5
  import { isAbsolute } from 'pathe';
6
- import { fieldSchema } from './field';
6
+ import { fieldSchema } from './field.js';
7
7
  // Relative path schema - validates and normalizes paths
8
8
  export const relativePathSchema = z
9
9
  .string()
@@ -2,8 +2,8 @@
2
2
  * Main CanopyConfig Zod schema - composes all sub-schemas.
3
3
  */
4
4
  import { z } from 'zod';
5
- import { rootCollectionSchema, relativePathSchema } from './collection';
6
- import { mediaSchema } from './media';
5
+ import { rootCollectionSchema, relativePathSchema } from './collection.js';
6
+ import { mediaSchema } from './media.js';
7
7
  // Default value schemas
8
8
  export const defaultBranchAccessSchema = z.enum(['allow', 'deny']).default('deny');
9
9
  export const defaultPathAccessSchema = z.enum(['allow', 'deny']).default('deny');
@@ -8,18 +8,21 @@ export declare const fieldBaseSchema: z.ZodObject<{
8
8
  description: z.ZodOptional<z.ZodString>;
9
9
  required: z.ZodOptional<z.ZodBoolean>;
10
10
  list: z.ZodOptional<z.ZodBoolean>;
11
+ isTitle: z.ZodOptional<z.ZodBoolean>;
11
12
  }, "strip", z.ZodTypeAny, {
12
13
  name: string;
13
14
  description?: string | undefined;
14
15
  label?: string | undefined;
15
16
  required?: boolean | undefined;
16
17
  list?: boolean | undefined;
18
+ isTitle?: boolean | undefined;
17
19
  }, {
18
20
  name: string;
19
21
  description?: string | undefined;
20
22
  label?: string | undefined;
21
23
  required?: boolean | undefined;
22
24
  list?: boolean | undefined;
25
+ isTitle?: boolean | undefined;
23
26
  }>;
24
27
  export declare const selectOptionSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
25
28
  label: z.ZodString;
@@ -47,6 +50,7 @@ export declare const primitiveFieldSchema: z.ZodObject<{
47
50
  description: z.ZodOptional<z.ZodString>;
48
51
  required: z.ZodOptional<z.ZodBoolean>;
49
52
  list: z.ZodOptional<z.ZodBoolean>;
53
+ isTitle: z.ZodOptional<z.ZodBoolean>;
50
54
  } & {
51
55
  type: z.ZodEnum<["string", "number", "boolean", "datetime", "rich-text", "markdown", "mdx", "image", "code"]>;
52
56
  }, "strip", z.ZodTypeAny, {
@@ -56,6 +60,7 @@ export declare const primitiveFieldSchema: z.ZodObject<{
56
60
  label?: string | undefined;
57
61
  required?: boolean | undefined;
58
62
  list?: boolean | undefined;
63
+ isTitle?: boolean | undefined;
59
64
  }, {
60
65
  type: "string" | "number" | "boolean" | "code" | "datetime" | "rich-text" | "markdown" | "mdx" | "image";
61
66
  name: string;
@@ -63,6 +68,7 @@ export declare const primitiveFieldSchema: z.ZodObject<{
63
68
  label?: string | undefined;
64
69
  required?: boolean | undefined;
65
70
  list?: boolean | undefined;
71
+ isTitle?: boolean | undefined;
66
72
  }>;
67
73
  export declare const selectFieldSchema: z.ZodObject<{
68
74
  name: z.ZodString;
@@ -70,6 +76,7 @@ export declare const selectFieldSchema: z.ZodObject<{
70
76
  description: z.ZodOptional<z.ZodString>;
71
77
  required: z.ZodOptional<z.ZodBoolean>;
72
78
  list: z.ZodOptional<z.ZodBoolean>;
79
+ isTitle: z.ZodOptional<z.ZodBoolean>;
73
80
  } & {
74
81
  type: z.ZodLiteral<"select">;
75
82
  options: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
@@ -93,6 +100,7 @@ export declare const selectFieldSchema: z.ZodObject<{
93
100
  label?: string | undefined;
94
101
  required?: boolean | undefined;
95
102
  list?: boolean | undefined;
103
+ isTitle?: boolean | undefined;
96
104
  }, {
97
105
  options: (string | {
98
106
  value: string;
@@ -104,6 +112,7 @@ export declare const selectFieldSchema: z.ZodObject<{
104
112
  label?: string | undefined;
105
113
  required?: boolean | undefined;
106
114
  list?: boolean | undefined;
115
+ isTitle?: boolean | undefined;
107
116
  }>;
108
117
  export declare const referenceFieldSchema: z.ZodObject<{
109
118
  name: z.ZodString;
@@ -111,6 +120,7 @@ export declare const referenceFieldSchema: z.ZodObject<{
111
120
  description: z.ZodOptional<z.ZodString>;
112
121
  required: z.ZodOptional<z.ZodBoolean>;
113
122
  list: z.ZodOptional<z.ZodBoolean>;
123
+ isTitle: z.ZodOptional<z.ZodBoolean>;
114
124
  } & {
115
125
  type: z.ZodLiteral<"reference">;
116
126
  collections: z.ZodArray<z.ZodString, "many">;
@@ -137,6 +147,7 @@ export declare const referenceFieldSchema: z.ZodObject<{
137
147
  label?: string | undefined;
138
148
  required?: boolean | undefined;
139
149
  list?: boolean | undefined;
150
+ isTitle?: boolean | undefined;
140
151
  displayField?: string | undefined;
141
152
  }, {
142
153
  type: "reference";
@@ -150,6 +161,7 @@ export declare const referenceFieldSchema: z.ZodObject<{
150
161
  label?: string | undefined;
151
162
  required?: boolean | undefined;
152
163
  list?: boolean | undefined;
164
+ isTitle?: boolean | undefined;
153
165
  displayField?: string | undefined;
154
166
  }>;
155
167
  export declare const blockSchema: z.ZodObject<{
@@ -174,6 +186,7 @@ export declare const blockFieldSchema: z.ZodObject<{
174
186
  description: z.ZodOptional<z.ZodString>;
175
187
  required: z.ZodOptional<z.ZodBoolean>;
176
188
  list: z.ZodOptional<z.ZodBoolean>;
189
+ isTitle: z.ZodOptional<z.ZodBoolean>;
177
190
  } & {
178
191
  type: z.ZodLiteral<"block">;
179
192
  templates: z.ZodArray<z.ZodObject<{
@@ -205,6 +218,7 @@ export declare const blockFieldSchema: z.ZodObject<{
205
218
  label?: string | undefined;
206
219
  required?: boolean | undefined;
207
220
  list?: boolean | undefined;
221
+ isTitle?: boolean | undefined;
208
222
  }, {
209
223
  type: "block";
210
224
  name: string;
@@ -218,6 +232,7 @@ export declare const blockFieldSchema: z.ZodObject<{
218
232
  label?: string | undefined;
219
233
  required?: boolean | undefined;
220
234
  list?: boolean | undefined;
235
+ isTitle?: boolean | undefined;
221
236
  }>;
222
237
  export declare const objectFieldSchema: z.ZodObject<{
223
238
  name: z.ZodString;
@@ -225,6 +240,7 @@ export declare const objectFieldSchema: z.ZodObject<{
225
240
  description: z.ZodOptional<z.ZodString>;
226
241
  required: z.ZodOptional<z.ZodBoolean>;
227
242
  list: z.ZodOptional<z.ZodBoolean>;
243
+ isTitle: z.ZodOptional<z.ZodBoolean>;
228
244
  } & {
229
245
  type: z.ZodLiteral<"object">;
230
246
  fields: z.ZodArray<z.ZodLazy<z.ZodTypeAny>, "many">;
@@ -236,6 +252,7 @@ export declare const objectFieldSchema: z.ZodObject<{
236
252
  label?: string | undefined;
237
253
  required?: boolean | undefined;
238
254
  list?: boolean | undefined;
255
+ isTitle?: boolean | undefined;
239
256
  }, {
240
257
  type: "object";
241
258
  name: string;
@@ -244,6 +261,7 @@ export declare const objectFieldSchema: z.ZodObject<{
244
261
  label?: string | undefined;
245
262
  required?: boolean | undefined;
246
263
  list?: boolean | undefined;
264
+ isTitle?: boolean | undefined;
247
265
  }>;
248
266
  export declare const customFieldSchema: z.ZodLazy<z.ZodObject<{
249
267
  name: z.ZodString;
@@ -251,6 +269,7 @@ export declare const customFieldSchema: z.ZodLazy<z.ZodObject<{
251
269
  description: z.ZodOptional<z.ZodString>;
252
270
  required: z.ZodOptional<z.ZodBoolean>;
253
271
  list: z.ZodOptional<z.ZodBoolean>;
272
+ isTitle: z.ZodOptional<z.ZodBoolean>;
254
273
  } & {
255
274
  type: z.ZodEffects<z.ZodString, string, string>;
256
275
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
@@ -259,6 +278,7 @@ export declare const customFieldSchema: z.ZodLazy<z.ZodObject<{
259
278
  description: z.ZodOptional<z.ZodString>;
260
279
  required: z.ZodOptional<z.ZodBoolean>;
261
280
  list: z.ZodOptional<z.ZodBoolean>;
281
+ isTitle: z.ZodOptional<z.ZodBoolean>;
262
282
  } & {
263
283
  type: z.ZodEffects<z.ZodString, string, string>;
264
284
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
@@ -267,6 +287,7 @@ export declare const customFieldSchema: z.ZodLazy<z.ZodObject<{
267
287
  description: z.ZodOptional<z.ZodString>;
268
288
  required: z.ZodOptional<z.ZodBoolean>;
269
289
  list: z.ZodOptional<z.ZodBoolean>;
290
+ isTitle: z.ZodOptional<z.ZodBoolean>;
270
291
  } & {
271
292
  type: z.ZodEffects<z.ZodString, string, string>;
272
293
  }, z.ZodTypeAny, "passthrough">>>;
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/config/schemas/field.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAM1B,CAAA;AAGF,eAAO,MAAM,kBAAkB;;;;;;;;;IAM7B,CAAA;AAGF,eAAO,MAAM,qBAAqB;;;;;;;;;IAMhC,CAAA;AAGF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;EAE/B,CAAA;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG5B,CAAA;AAGF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK/B,CAAA;AAQF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;EAKtB,CAAA;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG3B,CAAA;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;EAG5B,CAAA;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;iCAW7B,CAAA;AAGD,QAAA,MAAM,gBAAgB,EAAE,CAAC,CAAC,UAMxB,CAAA;AAGF,QAAA,MAAM,WAAW,EAAE,CAAC,CAAC,UAAyE,CAAA;AAG9F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../src/config/schemas/field.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAA;AAGF,eAAO,MAAM,kBAAkB;;;;;;;;;IAM7B,CAAA;AAGF,eAAO,MAAM,qBAAqB;;;;;;;;;IAMhC,CAAA;AAGF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;EAE/B,CAAA;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG5B,CAAA;AAGF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK/B,CAAA;AAQF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;EAKtB,CAAA;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG3B,CAAA;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG5B,CAAA;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAW7B,CAAA;AAGD,QAAA,MAAM,gBAAgB,EAAE,CAAC,CAAC,UAMxB,CAAA;AAGF,QAAA,MAAM,WAAW,EAAE,CAAC,CAAC,UAAyE,CAAA;AAG9F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA"}
@@ -2,7 +2,7 @@
2
2
  * Zod schemas for field configuration validation.
3
3
  */
4
4
  import { z } from 'zod';
5
- import { primitiveFieldTypes, fieldTypes } from '../types';
5
+ import { primitiveFieldTypes, fieldTypes } from '../types.js';
6
6
  // Base field schema - shared properties
7
7
  export const fieldBaseSchema = z.object({
8
8
  name: z.string().min(1),
@@ -10,6 +10,7 @@ export const fieldBaseSchema = z.object({
10
10
  description: z.string().optional(),
11
11
  required: z.boolean().optional(),
12
12
  list: z.boolean().optional(),
13
+ isTitle: z.boolean().optional(),
13
14
  });
14
15
  // Select option schema
15
16
  export const selectOptionSchema = z.union([
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","sourceRoot":"","sources":["../../../src/config/schemas/field.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../../src/config/schemas/field.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,8 @@ export interface BaseFieldConfig {
38
38
  description?: string;
39
39
  required?: boolean;
40
40
  list?: boolean;
41
+ /** Mark this field as the display title for entries using this schema. At most one field per schema. */
42
+ isTitle?: boolean;
41
43
  }
42
44
  export interface PrimitiveFieldConfig extends BaseFieldConfig {
43
45
  type: PrimitiveFieldType;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Configuration validation utilities.
3
3
  */
4
- import { CanopyConfigSchema } from './schemas/config';
5
- import { normalizePathValue, normalizeSchemaPathsRoot } from './flatten';
4
+ import { CanopyConfigSchema } from './schemas/config.js';
5
+ import { normalizePathValue, normalizeSchemaPathsRoot } from './flatten.js';
6
6
  /**
7
7
  * Recursively check that all select fields have options defined.
8
8
  * Throws an error if a select field is missing options.
@@ -1,5 +1,5 @@
1
- import { defineCanopyConfig, flattenSchema } from './config';
2
- import { createTestCanopyServices, } from './services';
1
+ import { defineCanopyConfig, flattenSchema } from './config/index.js';
2
+ import { createTestCanopyServices, } from './services.js';
3
3
  const FALLBACK_AUTHOR = {
4
4
  gitBotAuthorName: 'CanopyCMS Test Bot',
5
5
  gitBotAuthorEmail: 'canopycms-test@example.com',
package/dist/config.js CHANGED
@@ -2,10 +2,10 @@
2
2
  * CanopyCMS Configuration
3
3
  *
4
4
  * This file re-exports from the config module for backward compatibility.
5
- * New code should import directly from './config/index' or './config'.
5
+ * New code should import directly from './config/index.js' or './config'.
6
6
  *
7
7
  * @module config
8
8
  */
9
9
  // Re-export everything from the config module
10
- export * from './config/index';
10
+ export * from './config/index.js';
11
11
  //# sourceMappingURL=config.js.map
@@ -1,7 +1,7 @@
1
1
  import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { isValidId } from './id';
4
- import { isNotFoundError } from './utils/error';
3
+ import { isValidId } from './id.js';
4
+ import { isNotFoundError } from './utils/error.js';
5
5
  /** Logical path representing entries stored at the branch root (no parent collection). Rare in practice. */
6
6
  const EMPTY_LOGICAL_PATH = '';
7
7
  /**
@@ -18,12 +18,14 @@ export interface CollectionListItem {
18
18
  format: ContentFormat;
19
19
  entryType: string;
20
20
  physicalPath: PhysicalPath;
21
- /** Raw entry data (frontmatter for md/mdx, parsed JSON for json) */
21
+ /** Raw entry data (frontmatter + body for md/mdx, parsed JSON for json) */
22
22
  data: Record<string, unknown>;
23
23
  updatedAt?: string;
24
24
  }
25
25
  /**
26
- * Read frontmatter (md/mdx) or full JSON data from an entry file.
26
+ * Read entry data from a file.
27
+ * For md/mdx: returns frontmatter fields plus `body` (the markdown content).
28
+ * For json: returns the parsed JSON object.
27
29
  * Returns an empty object on read/parse failure.
28
30
  */
29
31
  export declare const readEntryData: (filePath: string, format: ContentFormat) => Promise<Record<string, unknown>>;
@@ -36,10 +38,73 @@ export declare const parseTypedFilename: (filename: string, entryTypes: readonly
36
38
  slug: Slug;
37
39
  id: ContentId;
38
40
  } | null;
41
+ /**
42
+ * A flat entry item from listEntries.
43
+ * Structural metadata is always present; `data` is controlled by the extract option.
44
+ */
45
+ export interface ListEntriesItem<T = Record<string, unknown>> {
46
+ /** URL path segments, e.g., ['researchers', 'guides', 'glossary-of-terms'] */
47
+ pathSegments: string[];
48
+ /** Entry slug within its collection */
49
+ slug: Slug;
50
+ /** Logical CMS path for this entry */
51
+ entryPath: LogicalPath;
52
+ /** Entry's content ID (12-char Base58 from filename) */
53
+ entryId: ContentId;
54
+ /** Collection's content ID (12-char Base58 from directory name) */
55
+ collectionId?: ContentId;
56
+ /** Collection logical path */
57
+ collectionPath: LogicalPath;
58
+ /** Entry type name */
59
+ entryType: string;
60
+ /** Content format */
61
+ format: ContentFormat;
62
+ /**
63
+ * Entry data. Without extract: full raw data (frontmatter + body for md/mdx, JSON fields for json).
64
+ * With extract: whatever the extract function returns.
65
+ */
66
+ data: T;
67
+ }
68
+ export interface ListEntriesOptions<T = Record<string, unknown>> {
69
+ /**
70
+ * Transform raw entry data. Controls what ends up in `data` on each result.
71
+ * Raw data includes all frontmatter fields; for md/mdx, raw.body is the markdown content.
72
+ * Without extract, data is the full raw object.
73
+ */
74
+ extract?: (raw: Record<string, unknown>, meta: {
75
+ entryPath: LogicalPath;
76
+ entryType: string;
77
+ format: ContentFormat;
78
+ }) => T;
79
+ /**
80
+ * Filter entries. Return false to exclude.
81
+ * Runs after extract, so data is the transformed value.
82
+ */
83
+ filter?: (entry: ListEntriesItem<T>) => boolean;
84
+ /** Starting collection path. Defaults to content root.
85
+ * Efficiency: skips loading entries outside this scope. */
86
+ rootPath?: string;
87
+ /** Custom sort. */
88
+ sort?: (a: ListEntriesItem<T>, b: ListEntriesItem<T>) => number;
89
+ }
90
+ /**
91
+ * List all content entries as a flat array.
92
+ *
93
+ * Walks the schema to discover collections, reads entries from each,
94
+ * and returns a flat list suitable for generateStaticParams, search indexing, sitemaps, etc.
95
+ *
96
+ * @param branchRoot - Absolute path to the branch workspace root
97
+ * @param flatSchema - Flattened schema items (from flattenSchema)
98
+ * @param contentRootName - The content root name (e.g. "content")
99
+ * @param options - Listing options (extract, filter, rootPath, sort)
100
+ */
101
+ export declare function listEntries<T = Record<string, unknown>>(branchRoot: string, flatSchema: FlatSchemaItem[], contentRootName: string, options?: ListEntriesOptions<T>): Promise<ListEntriesItem<T>[]>;
39
102
  /**
40
103
  * Sort items by a content ID order array.
41
104
  * Items in the order array come first (in order), items not in the array come at the end
42
105
  * sorted by the provided fallback key.
106
+ *
107
+ * Note: sorts the array in-place and returns it.
43
108
  */
44
109
  export declare const sortByOrder: <T extends {
45
110
  contentId?: ContentId;
@@ -1 +1 @@
1
- {"version":3,"file":"content-listing.d.ts","sourceRoot":"","sources":["../src/content-listing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAM9E,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG/E;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,IAAI,EAAE,IAAI,CAAA;IACV,cAAc,EAAE,WAAW,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,aAAa,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,YAAY,CAAA;IAC1B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAcD;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,UAAU,MAAM,EAChB,QAAQ,aAAa,KACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,YAAY,SAAS,eAAe,EAAE,KACrC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,SAAS,CAAA;CAAE,GAAG,IAyBhD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS;IAAE,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,EAC7D,OAAO,CAAC,EAAE,EACV,OAAO,SAAS,MAAM,EAAE,GAAG,SAAS,EACpC,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,KAC/B,CAAC,EAkBH,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,MAAM,EACZ,YAAY,cAAc,KACzB,OAAO,CAAC,kBAAkB,EAAE,CAiF9B,CAAA"}
1
+ {"version":3,"file":"content-listing.d.ts","sourceRoot":"","sources":["../src/content-listing.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,14 @@
6
6
  import fs from 'node:fs/promises';
7
7
  import path from 'node:path';
8
8
  import matter from 'gray-matter';
9
- import { getFormatExtension } from './utils/format';
10
- import { resolveCollectionPath } from './content-id-index';
11
- import { validateAndNormalizePath } from './paths';
12
- import { isNotFoundError } from './utils/error';
13
- import { isValidId } from './id';
14
- import { ContentStoreError } from './content-store';
9
+ import { getFormatExtension } from './utils/format.js';
10
+ import { resolveCollectionPath } from './content-id-index.js';
11
+ import { validateAndNormalizePath } from './paths/index.js';
12
+ import { isNotFoundError, getErrorMessage } from './utils/error.js';
13
+ import { createDebugLogger } from './utils/debug.js';
14
+ import { isValidId } from './id.js';
15
+ import { ContentStoreError } from './content-store.js';
16
+ const log = createDebugLogger({ prefix: 'ContentListing' });
15
17
  /**
16
18
  * Validate and normalize a path relative to root.
17
19
  * Throws ContentStoreError on traversal attempt.
@@ -24,20 +26,28 @@ const normalizePath = (root, target) => {
24
26
  return result.normalizedPath;
25
27
  };
26
28
  /**
27
- * Read frontmatter (md/mdx) or full JSON data from an entry file.
29
+ * Read entry data from a file.
30
+ * For md/mdx: returns frontmatter fields plus `body` (the markdown content).
31
+ * For json: returns the parsed JSON object.
28
32
  * Returns an empty object on read/parse failure.
29
33
  */
30
34
  export const readEntryData = async (filePath, format) => {
31
35
  try {
32
36
  const raw = await fs.readFile(filePath, 'utf8');
33
37
  if (format === 'json') {
34
- const parsed = JSON.parse(raw);
35
- return parsed;
38
+ return JSON.parse(raw);
36
39
  }
37
40
  const parsed = matter(raw);
38
- return parsed.data ?? {};
41
+ const data = parsed.data ?? {};
42
+ if (parsed.content) {
43
+ data.body = parsed.content;
44
+ }
45
+ return data;
39
46
  }
40
- catch {
47
+ catch (err) {
48
+ if (isNotFoundError(err))
49
+ return {};
50
+ log.warn('readEntryData', `Failed to read entry data from ${filePath}: ${getErrorMessage(err)}`);
41
51
  return {};
42
52
  }
43
53
  };
@@ -71,10 +81,82 @@ export const parseTypedFilename = (filename, entryTypes) => {
71
81
  }
72
82
  return null;
73
83
  };
84
+ /**
85
+ * List all content entries as a flat array.
86
+ *
87
+ * Walks the schema to discover collections, reads entries from each,
88
+ * and returns a flat list suitable for generateStaticParams, search indexing, sitemaps, etc.
89
+ *
90
+ * @param branchRoot - Absolute path to the branch workspace root
91
+ * @param flatSchema - Flattened schema items (from flattenSchema)
92
+ * @param contentRootName - The content root name (e.g. "content")
93
+ * @param options - Listing options (extract, filter, rootPath, sort)
94
+ */
95
+ export async function listEntries(branchRoot, flatSchema, contentRootName, options) {
96
+ const rootPath = options?.rootPath ?? contentRootName;
97
+ const extract = options?.extract;
98
+ const filter = options?.filter;
99
+ const customSort = options?.sort;
100
+ // Find all collections under rootPath
101
+ const collections = flatSchema.filter((item) => item.type === 'collection' &&
102
+ item.entries !== undefined &&
103
+ (item.logicalPath === rootPath || item.logicalPath.startsWith(`${rootPath}/`)));
104
+ // List entries from all collections in parallel
105
+ const collectionResults = await Promise.all(collections.map(async (collection) => {
106
+ const entries = await listCollectionEntries(branchRoot, collection);
107
+ return entries.map((entry) => ({ entry, collection }));
108
+ }));
109
+ // Flatten and map to ListEntriesItem
110
+ const contentPrefix = contentRootName ? `${contentRootName}/` : '';
111
+ const items = [];
112
+ for (const results of collectionResults) {
113
+ for (const { entry, collection } of results) {
114
+ // Compute pathSegments: strip content root prefix, split on /
115
+ const pathWithoutRoot = entry.logicalPath.startsWith(contentPrefix)
116
+ ? entry.logicalPath.slice(contentPrefix.length)
117
+ : entry.logicalPath;
118
+ const pathSegments = pathWithoutRoot.split('/').filter(Boolean);
119
+ const raw = entry.data;
120
+ const meta = {
121
+ entryPath: entry.logicalPath,
122
+ entryType: entry.entryType,
123
+ format: entry.format,
124
+ };
125
+ const data = extract ? extract(raw, meta) : raw;
126
+ const item = {
127
+ pathSegments,
128
+ slug: entry.slug,
129
+ entryPath: entry.logicalPath,
130
+ entryId: entry.contentId,
131
+ collectionId: collection.contentId,
132
+ collectionPath: entry.collectionPath,
133
+ entryType: entry.entryType,
134
+ format: entry.format,
135
+ data,
136
+ };
137
+ if (filter && !filter(item))
138
+ continue;
139
+ items.push(item);
140
+ }
141
+ }
142
+ if (customSort) {
143
+ items.sort(customSort);
144
+ }
145
+ else {
146
+ // Default: sort by entryPath for deterministic output across runs
147
+ items.sort((a, b) => a.entryPath.localeCompare(b.entryPath));
148
+ }
149
+ return items;
150
+ }
151
+ // ---------------------------------------------------------------------------
152
+ // Shared utilities
153
+ // ---------------------------------------------------------------------------
74
154
  /**
75
155
  * Sort items by a content ID order array.
76
156
  * Items in the order array come first (in order), items not in the array come at the end
77
157
  * sorted by the provided fallback key.
158
+ *
159
+ * Note: sorts the array in-place and returns it.
78
160
  */
79
161
  export const sortByOrder = (items, order, fallbackKey) => {
80
162
  if (!order || order.length === 0) {
@@ -137,7 +219,7 @@ export const listCollectionEntries = async (root, collection) => {
137
219
  const relativePath = normalizePath(root, absolutePath);
138
220
  const parsed = parseTypedFilename(file.name, entryTypes);
139
221
  if (!parsed) {
140
- console.warn(`Skipping file with unrecognized filename format: ${file.name} (expected {type}.{slug}.{id}.{ext} with a known entry type and valid 12-char Base58 ID)`);
222
+ log.warn('listCollectionEntries', `Skipping file with unrecognized filename format: ${file.name} (expected {type}.{slug}.{id}.{ext} with a known entry type and valid 12-char Base58 ID)`);
141
223
  return null;
142
224
  }
143
225
  const { type: entryTypeName, slug, id: contentId } = parsed;
@@ -154,7 +236,7 @@ export const listCollectionEntries = async (root, collection) => {
154
236
  collectionPath: collection.logicalPath,
155
237
  collectionName: collection.name,
156
238
  format,
157
- entryType: entryTypeName || 'default',
239
+ entryType: entryTypeName,
158
240
  physicalPath: relativePath,
159
241
  data,
160
242
  updatedAt: stats.mtime.toISOString(),