@revealui/contracts 1.0.0

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 (191) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +160 -0
  3. package/dist/a2a/index.d.ts +383 -0
  4. package/dist/a2a/index.d.ts.map +1 -0
  5. package/dist/a2a/index.js +276 -0
  6. package/dist/a2a/index.js.map +1 -0
  7. package/dist/actions/action-validator.d.ts +48 -0
  8. package/dist/actions/action-validator.d.ts.map +1 -0
  9. package/dist/actions/action-validator.js +288 -0
  10. package/dist/actions/action-validator.js.map +1 -0
  11. package/dist/actions/index.d.ts +7 -0
  12. package/dist/actions/index.d.ts.map +1 -0
  13. package/dist/actions/index.js +7 -0
  14. package/dist/actions/index.js.map +1 -0
  15. package/dist/agents/index.d.ts +628 -0
  16. package/dist/agents/index.d.ts.map +1 -0
  17. package/dist/agents/index.js +511 -0
  18. package/dist/agents/index.js.map +1 -0
  19. package/dist/agents/types.d.ts +22 -0
  20. package/dist/agents/types.d.ts.map +1 -0
  21. package/dist/agents/types.js +2 -0
  22. package/dist/agents/types.js.map +1 -0
  23. package/dist/api/auth.d.ts +60 -0
  24. package/dist/api/auth.d.ts.map +1 -0
  25. package/dist/api/auth.js +84 -0
  26. package/dist/api/auth.js.map +1 -0
  27. package/dist/api/chat.d.ts +45 -0
  28. package/dist/api/chat.d.ts.map +1 -0
  29. package/dist/api/chat.js +55 -0
  30. package/dist/api/chat.js.map +1 -0
  31. package/dist/api/gdpr.d.ts +39 -0
  32. package/dist/api/gdpr.d.ts.map +1 -0
  33. package/dist/api/gdpr.js +53 -0
  34. package/dist/api/gdpr.js.map +1 -0
  35. package/dist/cms/collection.d.ts +108 -0
  36. package/dist/cms/collection.d.ts.map +1 -0
  37. package/dist/cms/collection.js +144 -0
  38. package/dist/cms/collection.js.map +1 -0
  39. package/dist/cms/compat.d.ts +128 -0
  40. package/dist/cms/compat.d.ts.map +1 -0
  41. package/dist/cms/compat.js +141 -0
  42. package/dist/cms/compat.js.map +1 -0
  43. package/dist/cms/config-contract.d.ts +278 -0
  44. package/dist/cms/config-contract.d.ts.map +1 -0
  45. package/dist/cms/config-contract.js +220 -0
  46. package/dist/cms/config-contract.js.map +1 -0
  47. package/dist/cms/config.d.ts +351 -0
  48. package/dist/cms/config.d.ts.map +1 -0
  49. package/dist/cms/config.js +50 -0
  50. package/dist/cms/config.js.map +1 -0
  51. package/dist/cms/errors.d.ts +122 -0
  52. package/dist/cms/errors.d.ts.map +1 -0
  53. package/dist/cms/errors.js +163 -0
  54. package/dist/cms/errors.js.map +1 -0
  55. package/dist/cms/extensibility.d.ts +211 -0
  56. package/dist/cms/extensibility.d.ts.map +1 -0
  57. package/dist/cms/extensibility.js +313 -0
  58. package/dist/cms/extensibility.js.map +1 -0
  59. package/dist/cms/field.d.ts +69 -0
  60. package/dist/cms/field.d.ts.map +1 -0
  61. package/dist/cms/field.js +94 -0
  62. package/dist/cms/field.js.map +1 -0
  63. package/dist/cms/functions.d.ts +466 -0
  64. package/dist/cms/functions.d.ts.map +1 -0
  65. package/dist/cms/functions.js +19 -0
  66. package/dist/cms/functions.js.map +1 -0
  67. package/dist/cms/global.d.ts +45 -0
  68. package/dist/cms/global.d.ts.map +1 -0
  69. package/dist/cms/global.js +62 -0
  70. package/dist/cms/global.js.map +1 -0
  71. package/dist/cms/index.d.ts +23 -0
  72. package/dist/cms/index.d.ts.map +1 -0
  73. package/dist/cms/index.js +42 -0
  74. package/dist/cms/index.js.map +1 -0
  75. package/dist/cms/structure.d.ts +1601 -0
  76. package/dist/cms/structure.d.ts.map +1 -0
  77. package/dist/cms/structure.js +757 -0
  78. package/dist/cms/structure.js.map +1 -0
  79. package/dist/content/index.d.ts +1542 -0
  80. package/dist/content/index.d.ts.map +1 -0
  81. package/dist/content/index.js +522 -0
  82. package/dist/content/index.js.map +1 -0
  83. package/dist/database/bridge.d.ts +177 -0
  84. package/dist/database/bridge.d.ts.map +1 -0
  85. package/dist/database/bridge.js +139 -0
  86. package/dist/database/bridge.js.map +1 -0
  87. package/dist/database/index.d.ts +8 -0
  88. package/dist/database/index.d.ts.map +1 -0
  89. package/dist/database/index.js +9 -0
  90. package/dist/database/index.js.map +1 -0
  91. package/dist/database/type-bridge.d.ts +178 -0
  92. package/dist/database/type-bridge.d.ts.map +1 -0
  93. package/dist/database/type-bridge.js +154 -0
  94. package/dist/database/type-bridge.js.map +1 -0
  95. package/dist/entities/agent-context.d.ts +280 -0
  96. package/dist/entities/agent-context.d.ts.map +1 -0
  97. package/dist/entities/agent-context.js +390 -0
  98. package/dist/entities/agent-context.js.map +1 -0
  99. package/dist/entities/agent-memory.d.ts +661 -0
  100. package/dist/entities/agent-memory.d.ts.map +1 -0
  101. package/dist/entities/agent-memory.js +544 -0
  102. package/dist/entities/agent-memory.js.map +1 -0
  103. package/dist/entities/board.d.ts +95 -0
  104. package/dist/entities/board.d.ts.map +1 -0
  105. package/dist/entities/board.js +99 -0
  106. package/dist/entities/board.js.map +1 -0
  107. package/dist/entities/code-provenance.d.ts +270 -0
  108. package/dist/entities/code-provenance.d.ts.map +1 -0
  109. package/dist/entities/code-provenance.js +339 -0
  110. package/dist/entities/code-provenance.js.map +1 -0
  111. package/dist/entities/index.d.ts +22 -0
  112. package/dist/entities/index.d.ts.map +1 -0
  113. package/dist/entities/index.js +22 -0
  114. package/dist/entities/index.js.map +1 -0
  115. package/dist/entities/media.d.ts +485 -0
  116. package/dist/entities/media.d.ts.map +1 -0
  117. package/dist/entities/media.js +606 -0
  118. package/dist/entities/media.js.map +1 -0
  119. package/dist/entities/page-revision.d.ts +390 -0
  120. package/dist/entities/page-revision.d.ts.map +1 -0
  121. package/dist/entities/page-revision.js +406 -0
  122. package/dist/entities/page-revision.js.map +1 -0
  123. package/dist/entities/page.d.ts +2349 -0
  124. package/dist/entities/page.d.ts.map +1 -0
  125. package/dist/entities/page.js +377 -0
  126. package/dist/entities/page.js.map +1 -0
  127. package/dist/entities/post.d.ts +619 -0
  128. package/dist/entities/post.d.ts.map +1 -0
  129. package/dist/entities/post.js +555 -0
  130. package/dist/entities/post.js.map +1 -0
  131. package/dist/entities/price.d.ts +772 -0
  132. package/dist/entities/price.d.ts.map +1 -0
  133. package/dist/entities/price.js +308 -0
  134. package/dist/entities/price.js.map +1 -0
  135. package/dist/entities/product.d.ts +753 -0
  136. package/dist/entities/product.d.ts.map +1 -0
  137. package/dist/entities/product.js +307 -0
  138. package/dist/entities/product.js.map +1 -0
  139. package/dist/entities/session.d.ts +222 -0
  140. package/dist/entities/session.d.ts.map +1 -0
  141. package/dist/entities/session.js +253 -0
  142. package/dist/entities/session.js.map +1 -0
  143. package/dist/entities/site.d.ts +387 -0
  144. package/dist/entities/site.d.ts.map +1 -0
  145. package/dist/entities/site.js +348 -0
  146. package/dist/entities/site.js.map +1 -0
  147. package/dist/entities/ticket-comment.d.ts +49 -0
  148. package/dist/entities/ticket-comment.d.ts.map +1 -0
  149. package/dist/entities/ticket-comment.js +58 -0
  150. package/dist/entities/ticket-comment.js.map +1 -0
  151. package/dist/entities/ticket-label.d.ts +64 -0
  152. package/dist/entities/ticket-label.d.ts.map +1 -0
  153. package/dist/entities/ticket-label.js +77 -0
  154. package/dist/entities/ticket-label.js.map +1 -0
  155. package/dist/entities/ticket.d.ts +204 -0
  156. package/dist/entities/ticket.d.ts.map +1 -0
  157. package/dist/entities/ticket.js +205 -0
  158. package/dist/entities/ticket.js.map +1 -0
  159. package/dist/entities/user.d.ts +336 -0
  160. package/dist/entities/user.d.ts.map +1 -0
  161. package/dist/entities/user.js +255 -0
  162. package/dist/entities/user.js.map +1 -0
  163. package/dist/foundation/contract.d.ts +221 -0
  164. package/dist/foundation/contract.d.ts.map +1 -0
  165. package/dist/foundation/contract.js +133 -0
  166. package/dist/foundation/contract.js.map +1 -0
  167. package/dist/foundation/index.d.ts +7 -0
  168. package/dist/foundation/index.d.ts.map +1 -0
  169. package/dist/foundation/index.js +7 -0
  170. package/dist/foundation/index.js.map +1 -0
  171. package/dist/generated/contracts.d.ts +1514 -0
  172. package/dist/generated/contracts.d.ts.map +1 -0
  173. package/dist/generated/contracts.js +959 -0
  174. package/dist/generated/contracts.js.map +1 -0
  175. package/dist/generated/database.d.ts +48 -0
  176. package/dist/generated/database.d.ts.map +1 -0
  177. package/dist/generated/database.js +17 -0
  178. package/dist/generated/database.js.map +1 -0
  179. package/dist/generated/zod-schemas.d.ts +14793 -0
  180. package/dist/generated/zod-schemas.d.ts.map +1 -0
  181. package/dist/generated/zod-schemas.js +547 -0
  182. package/dist/generated/zod-schemas.js.map +1 -0
  183. package/dist/index.d.ts +50 -0
  184. package/dist/index.d.ts.map +1 -0
  185. package/dist/index.js +81 -0
  186. package/dist/index.js.map +1 -0
  187. package/dist/representation/index.d.ts +304 -0
  188. package/dist/representation/index.d.ts.map +1 -0
  189. package/dist/representation/index.js +280 -0
  190. package/dist/representation/index.js.map +1 -0
  191. package/package.json +117 -0
@@ -0,0 +1,390 @@
1
+ /**
2
+ * PageRevision Entity Contract
3
+ *
4
+ * Manages page version history with content snapshots and change tracking.
5
+ * Revisions are immutable records capturing the state of a page at a specific point in time.
6
+ *
7
+ * Business Rules:
8
+ * - Revisions are immutable (no updates after creation)
9
+ * - Revision numbers auto-increment per page
10
+ * - Content snapshot includes title, blocks, and SEO metadata
11
+ * - Change descriptions are optional but recommended
12
+ * - Cascading deletion when parent page is deleted
13
+ * - createdBy tracks who made the change
14
+ */
15
+ import { z } from 'zod/v4';
16
+ export declare const PAGE_REVISION_SCHEMA_VERSION = 1;
17
+ export declare const CHANGE_TYPES: readonly ["create", "edit", "publish", "unpublish", "archive", "restore", "reorder", "seo_update", "block_add", "block_remove", "block_edit", "manual_save"];
18
+ export type ChangeType = (typeof CHANGE_TYPES)[number];
19
+ export declare const REVISION_RETENTION: {
20
+ readonly MAX_REVISIONS_PER_PAGE: 100;
21
+ readonly DAYS_TO_KEEP: 90;
22
+ readonly ALWAYS_KEEP_PUBLISHED: true;
23
+ };
24
+ /**
25
+ * Block schema (simplified, matches Page blocks)
26
+ */
27
+ export declare const BlockSchema: z.ZodObject<{
28
+ id: z.ZodString;
29
+ type: z.ZodString;
30
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
31
+ }, z.core.$strip>;
32
+ export type Block = z.infer<typeof BlockSchema>;
33
+ /**
34
+ * SEO metadata schema (matches Page seo)
35
+ */
36
+ export declare const SeoMetadataSchema: z.ZodObject<{
37
+ title: z.ZodOptional<z.ZodString>;
38
+ description: z.ZodOptional<z.ZodString>;
39
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
40
+ ogImage: z.ZodOptional<z.ZodString>;
41
+ noIndex: z.ZodOptional<z.ZodBoolean>;
42
+ canonicalUrl: z.ZodOptional<z.ZodString>;
43
+ }, z.core.$strip>;
44
+ export type SeoMetadata = z.infer<typeof SeoMetadataSchema>;
45
+ /**
46
+ * Page Revision object schema
47
+ */
48
+ export declare const PageRevisionObjectSchema: z.ZodObject<{
49
+ id: z.ZodString;
50
+ pageId: z.ZodString;
51
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
+ revisionNumber: z.ZodNumber;
53
+ title: z.ZodString;
54
+ blocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
55
+ id: z.ZodString;
56
+ type: z.ZodString;
57
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
58
+ }, z.core.$strip>>>;
59
+ seo: z.ZodOptional<z.ZodNullable<z.ZodObject<{
60
+ title: z.ZodOptional<z.ZodString>;
61
+ description: z.ZodOptional<z.ZodString>;
62
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
63
+ ogImage: z.ZodOptional<z.ZodString>;
64
+ noIndex: z.ZodOptional<z.ZodBoolean>;
65
+ canonicalUrl: z.ZodOptional<z.ZodString>;
66
+ }, z.core.$strip>>>;
67
+ changeDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
68
+ createdAt: z.ZodDate;
69
+ }, z.core.$strip>;
70
+ /**
71
+ * Page Revision schema with validation rules
72
+ */
73
+ export declare const PageRevisionBaseSchema: z.ZodObject<{
74
+ id: z.ZodString;
75
+ pageId: z.ZodString;
76
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
77
+ revisionNumber: z.ZodNumber;
78
+ title: z.ZodString;
79
+ blocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
80
+ id: z.ZodString;
81
+ type: z.ZodString;
82
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
83
+ }, z.core.$strip>>>;
84
+ seo: z.ZodOptional<z.ZodNullable<z.ZodObject<{
85
+ title: z.ZodOptional<z.ZodString>;
86
+ description: z.ZodOptional<z.ZodString>;
87
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
88
+ ogImage: z.ZodOptional<z.ZodString>;
89
+ noIndex: z.ZodOptional<z.ZodBoolean>;
90
+ canonicalUrl: z.ZodOptional<z.ZodString>;
91
+ }, z.core.$strip>>>;
92
+ changeDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
93
+ createdAt: z.ZodDate;
94
+ }, z.core.$strip>;
95
+ export declare const PageRevisionSchema: z.ZodObject<{
96
+ id: z.ZodString;
97
+ pageId: z.ZodString;
98
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
99
+ revisionNumber: z.ZodNumber;
100
+ title: z.ZodString;
101
+ blocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
102
+ id: z.ZodString;
103
+ type: z.ZodString;
104
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
105
+ }, z.core.$strip>>>;
106
+ seo: z.ZodOptional<z.ZodNullable<z.ZodObject<{
107
+ title: z.ZodOptional<z.ZodString>;
108
+ description: z.ZodOptional<z.ZodString>;
109
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
110
+ ogImage: z.ZodOptional<z.ZodString>;
111
+ noIndex: z.ZodOptional<z.ZodBoolean>;
112
+ canonicalUrl: z.ZodOptional<z.ZodString>;
113
+ }, z.core.$strip>>>;
114
+ changeDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
115
+ createdAt: z.ZodDate;
116
+ }, z.core.$strip>;
117
+ /**
118
+ * Schema for creating new page revisions
119
+ */
120
+ export declare const PageRevisionInsertSchema: z.ZodObject<{
121
+ id: z.ZodString;
122
+ blocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
123
+ id: z.ZodString;
124
+ type: z.ZodString;
125
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
126
+ }, z.core.$strip>>>;
127
+ title: z.ZodString;
128
+ seo: z.ZodOptional<z.ZodNullable<z.ZodObject<{
129
+ title: z.ZodOptional<z.ZodString>;
130
+ description: z.ZodOptional<z.ZodString>;
131
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
132
+ ogImage: z.ZodOptional<z.ZodString>;
133
+ noIndex: z.ZodOptional<z.ZodBoolean>;
134
+ canonicalUrl: z.ZodOptional<z.ZodString>;
135
+ }, z.core.$strip>>>;
136
+ pageId: z.ZodString;
137
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
138
+ revisionNumber: z.ZodNumber;
139
+ changeDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
140
+ createdAt: z.ZodOptional<z.ZodDate>;
141
+ }, z.core.$strip>;
142
+ export type PageRevision = z.infer<typeof PageRevisionSchema>;
143
+ export type PageRevisionInsert = z.infer<typeof PageRevisionInsertSchema>;
144
+ /**
145
+ * Check if this is the first revision
146
+ */
147
+ export declare function isFirstRevision(revision: PageRevision): boolean;
148
+ /**
149
+ * Get next revision number
150
+ */
151
+ export declare function getNextRevisionNumber(currentRevision: PageRevision): number;
152
+ /**
153
+ * Calculate revision number from count
154
+ */
155
+ export declare function calculateRevisionNumber(existingCount: number): number;
156
+ /**
157
+ * Count blocks in revision
158
+ */
159
+ export declare function getBlockCount(revision: PageRevision): number;
160
+ /**
161
+ * Check if revision has blocks
162
+ */
163
+ export declare function hasBlocks(revision: PageRevision): boolean;
164
+ /**
165
+ * Check if revision has SEO metadata
166
+ */
167
+ export declare function hasSeoMetadata(revision: PageRevision): boolean;
168
+ /**
169
+ * Estimate word count from blocks (simplified)
170
+ */
171
+ export declare function estimateWordCount(revision: PageRevision): number;
172
+ /**
173
+ * Get block by ID
174
+ */
175
+ export declare function getBlockById(revision: PageRevision, blockId: string): Block | undefined;
176
+ /**
177
+ * Get blocks by type
178
+ */
179
+ export declare function getBlocksByType(revision: PageRevision, type: string): Block[];
180
+ /**
181
+ * Check if revision has change description
182
+ */
183
+ export declare function hasChangeDescription(revision: PageRevision): boolean;
184
+ /**
185
+ * Parse change type from description
186
+ */
187
+ export declare function inferChangeType(revision: PageRevision): ChangeType | 'unknown';
188
+ /**
189
+ * Generate change description
190
+ */
191
+ export declare function generateChangeDescription(changeType: ChangeType, details?: string): string;
192
+ /**
193
+ * Compare two revisions to detect changes
194
+ */
195
+ export declare function compareRevisions(oldRevision: PageRevision, newRevision: PageRevision): {
196
+ titleChanged: boolean;
197
+ blocksChanged: boolean;
198
+ seoChanged: boolean;
199
+ blockCountChanged: boolean;
200
+ };
201
+ /**
202
+ * Detect what changed between revisions
203
+ */
204
+ export declare function detectChanges(oldRevision: PageRevision, newRevision: PageRevision): string[];
205
+ /**
206
+ * Get revision age in milliseconds
207
+ */
208
+ export declare function getRevisionAge(revision: PageRevision): number;
209
+ /**
210
+ * Get revision age in days
211
+ */
212
+ export declare function getRevisionAgeInDays(revision: PageRevision): number;
213
+ /**
214
+ * Check if revision is recent (< 24 hours)
215
+ */
216
+ export declare function isRecentRevision(revision: PageRevision, hoursThreshold?: number): boolean;
217
+ /**
218
+ * Check if revision is old enough to be cleaned up
219
+ */
220
+ export declare function isEligibleForCleanup(revision: PageRevision, daysThreshold?: 90): boolean;
221
+ /**
222
+ * Check if revision has known author
223
+ */
224
+ export declare function hasAuthor(revision: PageRevision): boolean;
225
+ /**
226
+ * Check if revision was created by specific user
227
+ */
228
+ export declare function isCreatedBy(revision: PageRevision, userId: string): boolean;
229
+ /**
230
+ * Create page revision insert data
231
+ */
232
+ export declare function createPageRevisionInsert(pageId: string, revisionNumber: number, title: string, blocks: Block[], options?: {
233
+ id?: string;
234
+ seo?: SeoMetadata | null;
235
+ changeDescription?: string | null;
236
+ createdBy?: string | null;
237
+ }): PageRevisionInsert;
238
+ /**
239
+ * Create revision from page snapshot
240
+ */
241
+ export declare function createRevisionFromSnapshot(pageId: string, revisionNumber: number, snapshot: {
242
+ title: string;
243
+ blocks: Block[];
244
+ seo?: SeoMetadata | null;
245
+ }, options?: {
246
+ changeDescription?: string;
247
+ changeType?: ChangeType;
248
+ createdBy?: string;
249
+ }): PageRevisionInsert;
250
+ /**
251
+ * Page revision with computed fields for UI display
252
+ */
253
+ export interface PageRevisionWithComputed extends PageRevision {
254
+ _computed: {
255
+ isFirstRevision: boolean;
256
+ blockCount: number;
257
+ hasBlocks: boolean;
258
+ hasSeoMetadata: boolean;
259
+ hasChangeDescription: boolean;
260
+ hasAuthor: boolean;
261
+ estimatedWordCount: number;
262
+ ageInDays: number;
263
+ isRecent: boolean;
264
+ inferredChangeType: ChangeType | 'unknown';
265
+ };
266
+ }
267
+ /**
268
+ * Convert page revision to format with computed fields
269
+ */
270
+ export declare function pageRevisionToHuman(revision: PageRevision): PageRevisionWithComputed;
271
+ /**
272
+ * Page revision with metadata for agent/API consumption
273
+ */
274
+ export interface PageRevisionAgent extends PageRevision {
275
+ metadata: {
276
+ revisionNumber: number;
277
+ isFirstRevision: boolean;
278
+ blockCount: number;
279
+ wordCount: number;
280
+ hasAuthor: boolean;
281
+ ageMs: number;
282
+ changeType: ChangeType | 'unknown';
283
+ };
284
+ }
285
+ /**
286
+ * Convert page revision to agent-compatible format
287
+ */
288
+ export declare function pageRevisionToAgent(revision: PageRevision): PageRevisionAgent;
289
+ /**
290
+ * Zod schema for page revision with computed fields
291
+ */
292
+ export declare const PageRevisionWithComputedSchema: z.ZodIntersection<z.ZodObject<{
293
+ id: z.ZodString;
294
+ pageId: z.ZodString;
295
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
296
+ revisionNumber: z.ZodNumber;
297
+ title: z.ZodString;
298
+ blocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
299
+ id: z.ZodString;
300
+ type: z.ZodString;
301
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
302
+ }, z.core.$strip>>>;
303
+ seo: z.ZodOptional<z.ZodNullable<z.ZodObject<{
304
+ title: z.ZodOptional<z.ZodString>;
305
+ description: z.ZodOptional<z.ZodString>;
306
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
307
+ ogImage: z.ZodOptional<z.ZodString>;
308
+ noIndex: z.ZodOptional<z.ZodBoolean>;
309
+ canonicalUrl: z.ZodOptional<z.ZodString>;
310
+ }, z.core.$strip>>>;
311
+ changeDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
312
+ createdAt: z.ZodDate;
313
+ }, z.core.$strip>, z.ZodObject<{
314
+ _computed: z.ZodObject<{
315
+ isFirstRevision: z.ZodBoolean;
316
+ blockCount: z.ZodNumber;
317
+ hasBlocks: z.ZodBoolean;
318
+ hasSeoMetadata: z.ZodBoolean;
319
+ hasChangeDescription: z.ZodBoolean;
320
+ hasAuthor: z.ZodBoolean;
321
+ estimatedWordCount: z.ZodNumber;
322
+ ageInDays: z.ZodNumber;
323
+ isRecent: z.ZodBoolean;
324
+ inferredChangeType: z.ZodEnum<{
325
+ unknown: "unknown";
326
+ publish: "publish";
327
+ unpublish: "unpublish";
328
+ edit: "edit";
329
+ create: "create";
330
+ archive: "archive";
331
+ restore: "restore";
332
+ reorder: "reorder";
333
+ seo_update: "seo_update";
334
+ block_add: "block_add";
335
+ block_remove: "block_remove";
336
+ block_edit: "block_edit";
337
+ manual_save: "manual_save";
338
+ }>;
339
+ }, z.core.$strip>;
340
+ }, z.core.$strip>>;
341
+ /**
342
+ * Zod schema for page revision with agent metadata
343
+ */
344
+ export declare const PageRevisionAgentSchema: z.ZodIntersection<z.ZodObject<{
345
+ id: z.ZodString;
346
+ pageId: z.ZodString;
347
+ createdBy: z.ZodOptional<z.ZodNullable<z.ZodString>>;
348
+ revisionNumber: z.ZodNumber;
349
+ title: z.ZodString;
350
+ blocks: z.ZodDefault<z.ZodArray<z.ZodObject<{
351
+ id: z.ZodString;
352
+ type: z.ZodString;
353
+ data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
354
+ }, z.core.$strip>>>;
355
+ seo: z.ZodOptional<z.ZodNullable<z.ZodObject<{
356
+ title: z.ZodOptional<z.ZodString>;
357
+ description: z.ZodOptional<z.ZodString>;
358
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
359
+ ogImage: z.ZodOptional<z.ZodString>;
360
+ noIndex: z.ZodOptional<z.ZodBoolean>;
361
+ canonicalUrl: z.ZodOptional<z.ZodString>;
362
+ }, z.core.$strip>>>;
363
+ changeDescription: z.ZodOptional<z.ZodNullable<z.ZodString>>;
364
+ createdAt: z.ZodDate;
365
+ }, z.core.$strip>, z.ZodObject<{
366
+ metadata: z.ZodObject<{
367
+ revisionNumber: z.ZodNumber;
368
+ isFirstRevision: z.ZodBoolean;
369
+ blockCount: z.ZodNumber;
370
+ wordCount: z.ZodNumber;
371
+ hasAuthor: z.ZodBoolean;
372
+ ageMs: z.ZodNumber;
373
+ changeType: z.ZodEnum<{
374
+ unknown: "unknown";
375
+ publish: "publish";
376
+ unpublish: "unpublish";
377
+ edit: "edit";
378
+ create: "create";
379
+ archive: "archive";
380
+ restore: "restore";
381
+ reorder: "reorder";
382
+ seo_update: "seo_update";
383
+ block_add: "block_add";
384
+ block_remove: "block_remove";
385
+ block_edit: "block_edit";
386
+ manual_save: "manual_save";
387
+ }>;
388
+ }, z.core.$strip>;
389
+ }, z.core.$strip>>;
390
+ //# sourceMappingURL=page-revision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-revision.d.ts","sourceRoot":"","sources":["../../src/entities/page-revision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAM1B,eAAO,MAAM,4BAA4B,IAAI,CAAA;AAG7C,eAAO,MAAM,YAAY,8JAaf,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAGtD,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAA;AAMV;;GAEG;AACH,eAAO,MAAM,WAAW;;;;iBAItB,CAAA;AAEF,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;iBAO5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAM3D;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;iBAUnC,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;iBASlC,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;iBAAyB,CAAA;AAMxD;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;iBAInC,CAAA;AAMF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAMzE;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,YAAY,GAAG,MAAM,CAE3E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAErE;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAehE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAEvF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,CAE7E;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAMpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS,CAiB9E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAkB1F;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,GACxB;IACD,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;IACtB,UAAU,EAAE,OAAO,CAAA;IACnB,iBAAiB,EAAE,OAAO,CAAA;CAC3B,CAOA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,GAAG,MAAM,EAAE,CAiB5F;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,SAAK,GAAG,OAAO,CAGrF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,aAAa,KAAkC,GAC9C,OAAO,CAET;AAMD;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE3E;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,KAAK,EAAE,EACf,OAAO,CAAC,EAAE;IACR,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B,GACA,kBAAkB,CAYpB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE;IACR,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CACzB,EACD,OAAO,CAAC,EAAE;IACR,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GACA,kBAAkB,CAUpB;AAMD;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,SAAS,EAAE;QACT,eAAe,EAAE,OAAO,CAAA;QACxB,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,OAAO,CAAA;QAClB,cAAc,EAAE,OAAO,CAAA;QACvB,oBAAoB,EAAE,OAAO,CAAA;QAC7B,SAAS,EAAE,OAAO,CAAA;QAClB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,OAAO,CAAA;QACjB,kBAAkB,EAAE,UAAU,GAAG,SAAS,CAAA;KAC3C,CAAA;CACF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,wBAAwB,CAgBpF;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,QAAQ,EAAE;QACR,cAAc,EAAE,MAAM,CAAA;QACtB,eAAe,EAAE,OAAO,CAAA;QACxB,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,OAAO,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,UAAU,GAAG,SAAS,CAAA;KACnC,CAAA;CACF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,iBAAiB,CAa7E;AAED;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAe1C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAYnC,CAAA"}