@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.
- package/LICENSE +22 -0
- package/README.md +160 -0
- package/dist/a2a/index.d.ts +383 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +276 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/actions/action-validator.d.ts +48 -0
- package/dist/actions/action-validator.d.ts.map +1 -0
- package/dist/actions/action-validator.js +288 -0
- package/dist/actions/action-validator.js.map +1 -0
- package/dist/actions/index.d.ts +7 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/actions/index.js +7 -0
- package/dist/actions/index.js.map +1 -0
- package/dist/agents/index.d.ts +628 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +511 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/types.d.ts +22 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +2 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/api/auth.d.ts +60 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +84 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/chat.d.ts +45 -0
- package/dist/api/chat.d.ts.map +1 -0
- package/dist/api/chat.js +55 -0
- package/dist/api/chat.js.map +1 -0
- package/dist/api/gdpr.d.ts +39 -0
- package/dist/api/gdpr.d.ts.map +1 -0
- package/dist/api/gdpr.js +53 -0
- package/dist/api/gdpr.js.map +1 -0
- package/dist/cms/collection.d.ts +108 -0
- package/dist/cms/collection.d.ts.map +1 -0
- package/dist/cms/collection.js +144 -0
- package/dist/cms/collection.js.map +1 -0
- package/dist/cms/compat.d.ts +128 -0
- package/dist/cms/compat.d.ts.map +1 -0
- package/dist/cms/compat.js +141 -0
- package/dist/cms/compat.js.map +1 -0
- package/dist/cms/config-contract.d.ts +278 -0
- package/dist/cms/config-contract.d.ts.map +1 -0
- package/dist/cms/config-contract.js +220 -0
- package/dist/cms/config-contract.js.map +1 -0
- package/dist/cms/config.d.ts +351 -0
- package/dist/cms/config.d.ts.map +1 -0
- package/dist/cms/config.js +50 -0
- package/dist/cms/config.js.map +1 -0
- package/dist/cms/errors.d.ts +122 -0
- package/dist/cms/errors.d.ts.map +1 -0
- package/dist/cms/errors.js +163 -0
- package/dist/cms/errors.js.map +1 -0
- package/dist/cms/extensibility.d.ts +211 -0
- package/dist/cms/extensibility.d.ts.map +1 -0
- package/dist/cms/extensibility.js +313 -0
- package/dist/cms/extensibility.js.map +1 -0
- package/dist/cms/field.d.ts +69 -0
- package/dist/cms/field.d.ts.map +1 -0
- package/dist/cms/field.js +94 -0
- package/dist/cms/field.js.map +1 -0
- package/dist/cms/functions.d.ts +466 -0
- package/dist/cms/functions.d.ts.map +1 -0
- package/dist/cms/functions.js +19 -0
- package/dist/cms/functions.js.map +1 -0
- package/dist/cms/global.d.ts +45 -0
- package/dist/cms/global.d.ts.map +1 -0
- package/dist/cms/global.js +62 -0
- package/dist/cms/global.js.map +1 -0
- package/dist/cms/index.d.ts +23 -0
- package/dist/cms/index.d.ts.map +1 -0
- package/dist/cms/index.js +42 -0
- package/dist/cms/index.js.map +1 -0
- package/dist/cms/structure.d.ts +1601 -0
- package/dist/cms/structure.d.ts.map +1 -0
- package/dist/cms/structure.js +757 -0
- package/dist/cms/structure.js.map +1 -0
- package/dist/content/index.d.ts +1542 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +522 -0
- package/dist/content/index.js.map +1 -0
- package/dist/database/bridge.d.ts +177 -0
- package/dist/database/bridge.d.ts.map +1 -0
- package/dist/database/bridge.js +139 -0
- package/dist/database/bridge.js.map +1 -0
- package/dist/database/index.d.ts +8 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +9 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/type-bridge.d.ts +178 -0
- package/dist/database/type-bridge.d.ts.map +1 -0
- package/dist/database/type-bridge.js +154 -0
- package/dist/database/type-bridge.js.map +1 -0
- package/dist/entities/agent-context.d.ts +280 -0
- package/dist/entities/agent-context.d.ts.map +1 -0
- package/dist/entities/agent-context.js +390 -0
- package/dist/entities/agent-context.js.map +1 -0
- package/dist/entities/agent-memory.d.ts +661 -0
- package/dist/entities/agent-memory.d.ts.map +1 -0
- package/dist/entities/agent-memory.js +544 -0
- package/dist/entities/agent-memory.js.map +1 -0
- package/dist/entities/board.d.ts +95 -0
- package/dist/entities/board.d.ts.map +1 -0
- package/dist/entities/board.js +99 -0
- package/dist/entities/board.js.map +1 -0
- package/dist/entities/code-provenance.d.ts +270 -0
- package/dist/entities/code-provenance.d.ts.map +1 -0
- package/dist/entities/code-provenance.js +339 -0
- package/dist/entities/code-provenance.js.map +1 -0
- package/dist/entities/index.d.ts +22 -0
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +22 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/media.d.ts +485 -0
- package/dist/entities/media.d.ts.map +1 -0
- package/dist/entities/media.js +606 -0
- package/dist/entities/media.js.map +1 -0
- package/dist/entities/page-revision.d.ts +390 -0
- package/dist/entities/page-revision.d.ts.map +1 -0
- package/dist/entities/page-revision.js +406 -0
- package/dist/entities/page-revision.js.map +1 -0
- package/dist/entities/page.d.ts +2349 -0
- package/dist/entities/page.d.ts.map +1 -0
- package/dist/entities/page.js +377 -0
- package/dist/entities/page.js.map +1 -0
- package/dist/entities/post.d.ts +619 -0
- package/dist/entities/post.d.ts.map +1 -0
- package/dist/entities/post.js +555 -0
- package/dist/entities/post.js.map +1 -0
- package/dist/entities/price.d.ts +772 -0
- package/dist/entities/price.d.ts.map +1 -0
- package/dist/entities/price.js +308 -0
- package/dist/entities/price.js.map +1 -0
- package/dist/entities/product.d.ts +753 -0
- package/dist/entities/product.d.ts.map +1 -0
- package/dist/entities/product.js +307 -0
- package/dist/entities/product.js.map +1 -0
- package/dist/entities/session.d.ts +222 -0
- package/dist/entities/session.d.ts.map +1 -0
- package/dist/entities/session.js +253 -0
- package/dist/entities/session.js.map +1 -0
- package/dist/entities/site.d.ts +387 -0
- package/dist/entities/site.d.ts.map +1 -0
- package/dist/entities/site.js +348 -0
- package/dist/entities/site.js.map +1 -0
- package/dist/entities/ticket-comment.d.ts +49 -0
- package/dist/entities/ticket-comment.d.ts.map +1 -0
- package/dist/entities/ticket-comment.js +58 -0
- package/dist/entities/ticket-comment.js.map +1 -0
- package/dist/entities/ticket-label.d.ts +64 -0
- package/dist/entities/ticket-label.d.ts.map +1 -0
- package/dist/entities/ticket-label.js +77 -0
- package/dist/entities/ticket-label.js.map +1 -0
- package/dist/entities/ticket.d.ts +204 -0
- package/dist/entities/ticket.d.ts.map +1 -0
- package/dist/entities/ticket.js +205 -0
- package/dist/entities/ticket.js.map +1 -0
- package/dist/entities/user.d.ts +336 -0
- package/dist/entities/user.d.ts.map +1 -0
- package/dist/entities/user.js +255 -0
- package/dist/entities/user.js.map +1 -0
- package/dist/foundation/contract.d.ts +221 -0
- package/dist/foundation/contract.d.ts.map +1 -0
- package/dist/foundation/contract.js +133 -0
- package/dist/foundation/contract.js.map +1 -0
- package/dist/foundation/index.d.ts +7 -0
- package/dist/foundation/index.d.ts.map +1 -0
- package/dist/foundation/index.js +7 -0
- package/dist/foundation/index.js.map +1 -0
- package/dist/generated/contracts.d.ts +1514 -0
- package/dist/generated/contracts.d.ts.map +1 -0
- package/dist/generated/contracts.js +959 -0
- package/dist/generated/contracts.js.map +1 -0
- package/dist/generated/database.d.ts +48 -0
- package/dist/generated/database.d.ts.map +1 -0
- package/dist/generated/database.js +17 -0
- package/dist/generated/database.js.map +1 -0
- package/dist/generated/zod-schemas.d.ts +14793 -0
- package/dist/generated/zod-schemas.d.ts.map +1 -0
- package/dist/generated/zod-schemas.js +547 -0
- package/dist/generated/zod-schemas.js.map +1 -0
- package/dist/index.d.ts +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +81 -0
- package/dist/index.js.map +1 -0
- package/dist/representation/index.d.ts +304 -0
- package/dist/representation/index.d.ts.map +1 -0
- package/dist/representation/index.js +280 -0
- package/dist/representation/index.js.map +1 -0
- 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"}
|