@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,619 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Post Entity Contract
|
|
3
|
+
*
|
|
4
|
+
* Manages blog posts and articles with publishing workflow, content management,
|
|
5
|
+
* and SEO optimization. Posts support Lexical editor content, featured images,
|
|
6
|
+
* categories, and publication scheduling.
|
|
7
|
+
*
|
|
8
|
+
* Business Rules:
|
|
9
|
+
* - Slug must be unique across all posts
|
|
10
|
+
* - Status values: draft, published, archived
|
|
11
|
+
* - Published flag mirrors published status
|
|
12
|
+
* - publishedAt timestamp set when publishing
|
|
13
|
+
* - Content stored as Lexical editor JSON
|
|
14
|
+
* - Categories stored as string array
|
|
15
|
+
* - Author cascades to null on user deletion
|
|
16
|
+
*/
|
|
17
|
+
import { z } from 'zod/v4';
|
|
18
|
+
export declare const POST_SCHEMA_VERSION = 1;
|
|
19
|
+
export declare const POST_STATUSES: readonly ["draft", "published", "archived"];
|
|
20
|
+
export type PostStatus = (typeof POST_STATUSES)[number];
|
|
21
|
+
export declare const LEXICAL_NODE_TYPES: readonly ["paragraph", "heading", "list", "listitem", "quote", "code", "text", "link", "image"];
|
|
22
|
+
export type LexicalNodeType = (typeof LEXICAL_NODE_TYPES)[number];
|
|
23
|
+
export declare const POST_LIMITS: {
|
|
24
|
+
readonly MIN_TITLE_LENGTH: 1;
|
|
25
|
+
readonly MAX_TITLE_LENGTH: 200;
|
|
26
|
+
readonly MIN_SLUG_LENGTH: 1;
|
|
27
|
+
readonly MAX_SLUG_LENGTH: 200;
|
|
28
|
+
readonly MAX_EXCERPT_LENGTH: 500;
|
|
29
|
+
readonly MAX_CATEGORIES: 10;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Lexical editor content schema (simplified)
|
|
33
|
+
*/
|
|
34
|
+
export declare const LexicalContentSchema: z.ZodObject<{
|
|
35
|
+
root: z.ZodObject<{
|
|
36
|
+
children: z.ZodArray<z.ZodUnknown>;
|
|
37
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
38
|
+
ltr: "ltr";
|
|
39
|
+
rtl: "rtl";
|
|
40
|
+
}>>;
|
|
41
|
+
format: z.ZodOptional<z.ZodString>;
|
|
42
|
+
indent: z.ZodOptional<z.ZodNumber>;
|
|
43
|
+
type: z.ZodString;
|
|
44
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
export type LexicalContent = z.infer<typeof LexicalContentSchema>;
|
|
48
|
+
/**
|
|
49
|
+
* Post meta (SEO) schema
|
|
50
|
+
*/
|
|
51
|
+
export declare const PostMetaSchema: z.ZodObject<{
|
|
52
|
+
title: z.ZodOptional<z.ZodString>;
|
|
53
|
+
description: z.ZodOptional<z.ZodString>;
|
|
54
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
55
|
+
ogImage: z.ZodOptional<z.ZodString>;
|
|
56
|
+
ogTitle: z.ZodOptional<z.ZodString>;
|
|
57
|
+
ogDescription: z.ZodOptional<z.ZodString>;
|
|
58
|
+
twitterCard: z.ZodOptional<z.ZodEnum<{
|
|
59
|
+
summary: "summary";
|
|
60
|
+
app: "app";
|
|
61
|
+
summary_large_image: "summary_large_image";
|
|
62
|
+
player: "player";
|
|
63
|
+
}>>;
|
|
64
|
+
canonicalUrl: z.ZodOptional<z.ZodString>;
|
|
65
|
+
noIndex: z.ZodOptional<z.ZodBoolean>;
|
|
66
|
+
noFollow: z.ZodOptional<z.ZodBoolean>;
|
|
67
|
+
}, z.core.$strip>;
|
|
68
|
+
export type PostMeta = z.infer<typeof PostMetaSchema>;
|
|
69
|
+
/**
|
|
70
|
+
* Post object schema
|
|
71
|
+
*/
|
|
72
|
+
export declare const PostObjectSchema: z.ZodObject<{
|
|
73
|
+
id: z.ZodString;
|
|
74
|
+
schemaVersion: z.ZodDefault<z.ZodString>;
|
|
75
|
+
title: z.ZodString;
|
|
76
|
+
slug: z.ZodString;
|
|
77
|
+
excerpt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
78
|
+
content: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
79
|
+
root: z.ZodObject<{
|
|
80
|
+
children: z.ZodArray<z.ZodUnknown>;
|
|
81
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
82
|
+
ltr: "ltr";
|
|
83
|
+
rtl: "rtl";
|
|
84
|
+
}>>;
|
|
85
|
+
format: z.ZodOptional<z.ZodString>;
|
|
86
|
+
indent: z.ZodOptional<z.ZodNumber>;
|
|
87
|
+
type: z.ZodString;
|
|
88
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
89
|
+
}, z.core.$strip>;
|
|
90
|
+
}, z.core.$strip>>>;
|
|
91
|
+
featuredImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
92
|
+
authorId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
93
|
+
status: z.ZodEnum<{
|
|
94
|
+
draft: "draft";
|
|
95
|
+
published: "published";
|
|
96
|
+
archived: "archived";
|
|
97
|
+
}>;
|
|
98
|
+
published: z.ZodDefault<z.ZodBoolean>;
|
|
99
|
+
meta: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
100
|
+
title: z.ZodOptional<z.ZodString>;
|
|
101
|
+
description: z.ZodOptional<z.ZodString>;
|
|
102
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
103
|
+
ogImage: z.ZodOptional<z.ZodString>;
|
|
104
|
+
ogTitle: z.ZodOptional<z.ZodString>;
|
|
105
|
+
ogDescription: z.ZodOptional<z.ZodString>;
|
|
106
|
+
twitterCard: z.ZodOptional<z.ZodEnum<{
|
|
107
|
+
summary: "summary";
|
|
108
|
+
app: "app";
|
|
109
|
+
summary_large_image: "summary_large_image";
|
|
110
|
+
player: "player";
|
|
111
|
+
}>>;
|
|
112
|
+
canonicalUrl: z.ZodOptional<z.ZodString>;
|
|
113
|
+
noIndex: z.ZodOptional<z.ZodBoolean>;
|
|
114
|
+
noFollow: z.ZodOptional<z.ZodBoolean>;
|
|
115
|
+
}, z.core.$strip>>>;
|
|
116
|
+
categories: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
117
|
+
createdAt: z.ZodDate;
|
|
118
|
+
updatedAt: z.ZodDate;
|
|
119
|
+
publishedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
120
|
+
}, z.core.$strip>;
|
|
121
|
+
/**
|
|
122
|
+
* Post schema with validation rules
|
|
123
|
+
*/
|
|
124
|
+
export declare const PostBaseSchema: z.ZodObject<{
|
|
125
|
+
id: z.ZodString;
|
|
126
|
+
schemaVersion: z.ZodDefault<z.ZodString>;
|
|
127
|
+
title: z.ZodString;
|
|
128
|
+
slug: z.ZodString;
|
|
129
|
+
excerpt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
130
|
+
content: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
131
|
+
root: z.ZodObject<{
|
|
132
|
+
children: z.ZodArray<z.ZodUnknown>;
|
|
133
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
134
|
+
ltr: "ltr";
|
|
135
|
+
rtl: "rtl";
|
|
136
|
+
}>>;
|
|
137
|
+
format: z.ZodOptional<z.ZodString>;
|
|
138
|
+
indent: z.ZodOptional<z.ZodNumber>;
|
|
139
|
+
type: z.ZodString;
|
|
140
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
141
|
+
}, z.core.$strip>;
|
|
142
|
+
}, z.core.$strip>>>;
|
|
143
|
+
featuredImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
144
|
+
authorId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
145
|
+
status: z.ZodEnum<{
|
|
146
|
+
draft: "draft";
|
|
147
|
+
published: "published";
|
|
148
|
+
archived: "archived";
|
|
149
|
+
}>;
|
|
150
|
+
published: z.ZodDefault<z.ZodBoolean>;
|
|
151
|
+
meta: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
152
|
+
title: z.ZodOptional<z.ZodString>;
|
|
153
|
+
description: z.ZodOptional<z.ZodString>;
|
|
154
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
155
|
+
ogImage: z.ZodOptional<z.ZodString>;
|
|
156
|
+
ogTitle: z.ZodOptional<z.ZodString>;
|
|
157
|
+
ogDescription: z.ZodOptional<z.ZodString>;
|
|
158
|
+
twitterCard: z.ZodOptional<z.ZodEnum<{
|
|
159
|
+
summary: "summary";
|
|
160
|
+
app: "app";
|
|
161
|
+
summary_large_image: "summary_large_image";
|
|
162
|
+
player: "player";
|
|
163
|
+
}>>;
|
|
164
|
+
canonicalUrl: z.ZodOptional<z.ZodString>;
|
|
165
|
+
noIndex: z.ZodOptional<z.ZodBoolean>;
|
|
166
|
+
noFollow: z.ZodOptional<z.ZodBoolean>;
|
|
167
|
+
}, z.core.$strip>>>;
|
|
168
|
+
categories: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
169
|
+
createdAt: z.ZodDate;
|
|
170
|
+
updatedAt: z.ZodDate;
|
|
171
|
+
publishedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
172
|
+
}, z.core.$strip>;
|
|
173
|
+
export declare const PostSchema: z.ZodObject<{
|
|
174
|
+
id: z.ZodString;
|
|
175
|
+
schemaVersion: z.ZodDefault<z.ZodString>;
|
|
176
|
+
title: z.ZodString;
|
|
177
|
+
slug: z.ZodString;
|
|
178
|
+
excerpt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
179
|
+
content: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
180
|
+
root: z.ZodObject<{
|
|
181
|
+
children: z.ZodArray<z.ZodUnknown>;
|
|
182
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
183
|
+
ltr: "ltr";
|
|
184
|
+
rtl: "rtl";
|
|
185
|
+
}>>;
|
|
186
|
+
format: z.ZodOptional<z.ZodString>;
|
|
187
|
+
indent: z.ZodOptional<z.ZodNumber>;
|
|
188
|
+
type: z.ZodString;
|
|
189
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
190
|
+
}, z.core.$strip>;
|
|
191
|
+
}, z.core.$strip>>>;
|
|
192
|
+
featuredImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
193
|
+
authorId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
194
|
+
status: z.ZodEnum<{
|
|
195
|
+
draft: "draft";
|
|
196
|
+
published: "published";
|
|
197
|
+
archived: "archived";
|
|
198
|
+
}>;
|
|
199
|
+
published: z.ZodDefault<z.ZodBoolean>;
|
|
200
|
+
meta: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
201
|
+
title: z.ZodOptional<z.ZodString>;
|
|
202
|
+
description: z.ZodOptional<z.ZodString>;
|
|
203
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
204
|
+
ogImage: z.ZodOptional<z.ZodString>;
|
|
205
|
+
ogTitle: z.ZodOptional<z.ZodString>;
|
|
206
|
+
ogDescription: z.ZodOptional<z.ZodString>;
|
|
207
|
+
twitterCard: z.ZodOptional<z.ZodEnum<{
|
|
208
|
+
summary: "summary";
|
|
209
|
+
app: "app";
|
|
210
|
+
summary_large_image: "summary_large_image";
|
|
211
|
+
player: "player";
|
|
212
|
+
}>>;
|
|
213
|
+
canonicalUrl: z.ZodOptional<z.ZodString>;
|
|
214
|
+
noIndex: z.ZodOptional<z.ZodBoolean>;
|
|
215
|
+
noFollow: z.ZodOptional<z.ZodBoolean>;
|
|
216
|
+
}, z.core.$strip>>>;
|
|
217
|
+
categories: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
218
|
+
createdAt: z.ZodDate;
|
|
219
|
+
updatedAt: z.ZodDate;
|
|
220
|
+
publishedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
221
|
+
}, z.core.$strip>;
|
|
222
|
+
/**
|
|
223
|
+
* Schema for creating new posts
|
|
224
|
+
*/
|
|
225
|
+
export declare const PostInsertSchema: z.ZodObject<{
|
|
226
|
+
id: z.ZodString;
|
|
227
|
+
meta: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
228
|
+
title: z.ZodOptional<z.ZodString>;
|
|
229
|
+
description: z.ZodOptional<z.ZodString>;
|
|
230
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
231
|
+
ogImage: z.ZodOptional<z.ZodString>;
|
|
232
|
+
ogTitle: z.ZodOptional<z.ZodString>;
|
|
233
|
+
ogDescription: z.ZodOptional<z.ZodString>;
|
|
234
|
+
twitterCard: z.ZodOptional<z.ZodEnum<{
|
|
235
|
+
summary: "summary";
|
|
236
|
+
app: "app";
|
|
237
|
+
summary_large_image: "summary_large_image";
|
|
238
|
+
player: "player";
|
|
239
|
+
}>>;
|
|
240
|
+
canonicalUrl: z.ZodOptional<z.ZodString>;
|
|
241
|
+
noIndex: z.ZodOptional<z.ZodBoolean>;
|
|
242
|
+
noFollow: z.ZodOptional<z.ZodBoolean>;
|
|
243
|
+
}, z.core.$strip>>>;
|
|
244
|
+
content: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
245
|
+
root: z.ZodObject<{
|
|
246
|
+
children: z.ZodArray<z.ZodUnknown>;
|
|
247
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
248
|
+
ltr: "ltr";
|
|
249
|
+
rtl: "rtl";
|
|
250
|
+
}>>;
|
|
251
|
+
format: z.ZodOptional<z.ZodString>;
|
|
252
|
+
indent: z.ZodOptional<z.ZodNumber>;
|
|
253
|
+
type: z.ZodString;
|
|
254
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
255
|
+
}, z.core.$strip>;
|
|
256
|
+
}, z.core.$strip>>>;
|
|
257
|
+
title: z.ZodString;
|
|
258
|
+
published: z.ZodDefault<z.ZodBoolean>;
|
|
259
|
+
schemaVersion: z.ZodDefault<z.ZodString>;
|
|
260
|
+
slug: z.ZodString;
|
|
261
|
+
status: z.ZodEnum<{
|
|
262
|
+
draft: "draft";
|
|
263
|
+
published: "published";
|
|
264
|
+
archived: "archived";
|
|
265
|
+
}>;
|
|
266
|
+
publishedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
267
|
+
excerpt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
268
|
+
featuredImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
269
|
+
authorId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
270
|
+
categories: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
271
|
+
createdAt: z.ZodOptional<z.ZodDate>;
|
|
272
|
+
updatedAt: z.ZodOptional<z.ZodDate>;
|
|
273
|
+
}, z.core.$strip>;
|
|
274
|
+
export type Post = z.infer<typeof PostSchema>;
|
|
275
|
+
export type PostInsert = z.infer<typeof PostInsertSchema>;
|
|
276
|
+
/**
|
|
277
|
+
* Check if post is draft
|
|
278
|
+
*/
|
|
279
|
+
export declare function isDraft(post: Post): boolean;
|
|
280
|
+
/**
|
|
281
|
+
* Check if post is published
|
|
282
|
+
*/
|
|
283
|
+
export declare function isPublished(post: Post): boolean;
|
|
284
|
+
/**
|
|
285
|
+
* Check if post is archived
|
|
286
|
+
*/
|
|
287
|
+
export declare function isArchived(post: Post): boolean;
|
|
288
|
+
/**
|
|
289
|
+
* Check if post is publishable (has required fields)
|
|
290
|
+
*/
|
|
291
|
+
export declare function isPublishable(post: Post): boolean;
|
|
292
|
+
/**
|
|
293
|
+
* Get status display label
|
|
294
|
+
*/
|
|
295
|
+
export declare function getStatusLabel(status: PostStatus): string;
|
|
296
|
+
/**
|
|
297
|
+
* Create publish update
|
|
298
|
+
*/
|
|
299
|
+
export declare function createPublishUpdate(): Partial<Post>;
|
|
300
|
+
/**
|
|
301
|
+
* Create unpublish update
|
|
302
|
+
*/
|
|
303
|
+
export declare function createUnpublishUpdate(): Partial<Post>;
|
|
304
|
+
/**
|
|
305
|
+
* Create archive update
|
|
306
|
+
*/
|
|
307
|
+
export declare function createArchiveUpdate(): Partial<Post>;
|
|
308
|
+
/**
|
|
309
|
+
* Create restore update (from archive)
|
|
310
|
+
*/
|
|
311
|
+
export declare function createRestoreUpdate(): Partial<Post>;
|
|
312
|
+
/**
|
|
313
|
+
* Check if post has content
|
|
314
|
+
*/
|
|
315
|
+
export declare function hasContent(post: Post): boolean;
|
|
316
|
+
/**
|
|
317
|
+
* Check if post has excerpt
|
|
318
|
+
*/
|
|
319
|
+
export declare function hasExcerpt(post: Post): boolean;
|
|
320
|
+
/**
|
|
321
|
+
* Check if post has featured image
|
|
322
|
+
*/
|
|
323
|
+
export declare function hasFeaturedImage(post: Post): boolean;
|
|
324
|
+
/**
|
|
325
|
+
* Estimate reading time in minutes
|
|
326
|
+
*/
|
|
327
|
+
export declare function estimateReadingTime(post: Post): number;
|
|
328
|
+
/**
|
|
329
|
+
* Estimate word count from content
|
|
330
|
+
*/
|
|
331
|
+
export declare function estimateWordCount(post: Post): number;
|
|
332
|
+
/**
|
|
333
|
+
* Check if post has author
|
|
334
|
+
*/
|
|
335
|
+
export declare function hasAuthor(post: Post): boolean;
|
|
336
|
+
/**
|
|
337
|
+
* Check if post is authored by specific user
|
|
338
|
+
*/
|
|
339
|
+
export declare function isAuthoredBy(post: Post, userId: string): boolean;
|
|
340
|
+
/**
|
|
341
|
+
* Check if post has categories
|
|
342
|
+
*/
|
|
343
|
+
export declare function hasCategories(post: Post): boolean;
|
|
344
|
+
/**
|
|
345
|
+
* Check if post has specific category
|
|
346
|
+
*/
|
|
347
|
+
export declare function hasCategory(post: Post, category: string): boolean;
|
|
348
|
+
/**
|
|
349
|
+
* Add category to post
|
|
350
|
+
*/
|
|
351
|
+
export declare function addCategory(post: Post, category: string): string[];
|
|
352
|
+
/**
|
|
353
|
+
* Remove category from post
|
|
354
|
+
*/
|
|
355
|
+
export declare function removeCategory(post: Post, category: string): string[];
|
|
356
|
+
/**
|
|
357
|
+
* Check if post has SEO meta
|
|
358
|
+
*/
|
|
359
|
+
export declare function hasMeta(post: Post): boolean;
|
|
360
|
+
/**
|
|
361
|
+
* Get effective SEO title (meta.title or post.title)
|
|
362
|
+
*/
|
|
363
|
+
export declare function getEffectiveSeoTitle(post: Post): string;
|
|
364
|
+
/**
|
|
365
|
+
* Get effective SEO description (meta.description or excerpt)
|
|
366
|
+
*/
|
|
367
|
+
export declare function getEffectiveSeoDescription(post: Post): string | null;
|
|
368
|
+
/**
|
|
369
|
+
* Check if post is indexed by search engines
|
|
370
|
+
*/
|
|
371
|
+
export declare function isIndexable(post: Post): boolean;
|
|
372
|
+
/**
|
|
373
|
+
* Generate slug from title
|
|
374
|
+
*/
|
|
375
|
+
export declare function generateSlug(title: string): string;
|
|
376
|
+
/**
|
|
377
|
+
* Validate slug format
|
|
378
|
+
*/
|
|
379
|
+
export declare function isValidSlug(slug: string): boolean;
|
|
380
|
+
/**
|
|
381
|
+
* Get post age in milliseconds
|
|
382
|
+
*/
|
|
383
|
+
export declare function getPostAge(post: Post): number;
|
|
384
|
+
/**
|
|
385
|
+
* Get post age in days
|
|
386
|
+
*/
|
|
387
|
+
export declare function getPostAgeInDays(post: Post): number;
|
|
388
|
+
/**
|
|
389
|
+
* Get time since last update in milliseconds
|
|
390
|
+
*/
|
|
391
|
+
export declare function getTimeSinceUpdate(post: Post): number;
|
|
392
|
+
/**
|
|
393
|
+
* Get time since publication in milliseconds
|
|
394
|
+
*/
|
|
395
|
+
export declare function getTimeSincePublication(post: Post): number | null;
|
|
396
|
+
/**
|
|
397
|
+
* Check if post is recent (< 7 days old)
|
|
398
|
+
*/
|
|
399
|
+
export declare function isRecentPost(post: Post, daysThreshold?: number): boolean;
|
|
400
|
+
/**
|
|
401
|
+
* Check if post was recently updated (< 24 hours)
|
|
402
|
+
*/
|
|
403
|
+
export declare function isRecentlyUpdated(post: Post, hoursThreshold?: number): boolean;
|
|
404
|
+
/**
|
|
405
|
+
* Create post insert data
|
|
406
|
+
*/
|
|
407
|
+
export declare function createPostInsert(title: string, slug: string, options?: {
|
|
408
|
+
id?: string;
|
|
409
|
+
excerpt?: string | null;
|
|
410
|
+
content?: LexicalContent | null;
|
|
411
|
+
featuredImageId?: string | null;
|
|
412
|
+
authorId?: string | null;
|
|
413
|
+
status?: PostStatus;
|
|
414
|
+
meta?: PostMeta | null;
|
|
415
|
+
categories?: string[];
|
|
416
|
+
}): PostInsert;
|
|
417
|
+
/**
|
|
418
|
+
* Update post data
|
|
419
|
+
*/
|
|
420
|
+
export declare function updatePost(updates: {
|
|
421
|
+
title?: string;
|
|
422
|
+
slug?: string;
|
|
423
|
+
excerpt?: string | null;
|
|
424
|
+
content?: LexicalContent | null;
|
|
425
|
+
featuredImageId?: string | null;
|
|
426
|
+
meta?: PostMeta | null;
|
|
427
|
+
categories?: string[];
|
|
428
|
+
}): Partial<Post>;
|
|
429
|
+
/**
|
|
430
|
+
* Post with computed fields for UI display
|
|
431
|
+
*/
|
|
432
|
+
export interface PostWithComputed extends Post {
|
|
433
|
+
_computed: {
|
|
434
|
+
isDraft: boolean;
|
|
435
|
+
isPublished: boolean;
|
|
436
|
+
isArchived: boolean;
|
|
437
|
+
isPublishable: boolean;
|
|
438
|
+
hasContent: boolean;
|
|
439
|
+
hasExcerpt: boolean;
|
|
440
|
+
hasFeaturedImage: boolean;
|
|
441
|
+
hasAuthor: boolean;
|
|
442
|
+
hasCategories: boolean;
|
|
443
|
+
hasMeta: boolean;
|
|
444
|
+
isIndexable: boolean;
|
|
445
|
+
estimatedWordCount: number;
|
|
446
|
+
estimatedReadingTime: number;
|
|
447
|
+
ageInDays: number;
|
|
448
|
+
isRecent: boolean;
|
|
449
|
+
isRecentlyUpdated: boolean;
|
|
450
|
+
effectiveSeoTitle: string;
|
|
451
|
+
effectiveSeoDescription: string | null;
|
|
452
|
+
};
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Convert post to format with computed fields
|
|
456
|
+
*/
|
|
457
|
+
export declare function postToHuman(post: Post): PostWithComputed;
|
|
458
|
+
/**
|
|
459
|
+
* Post with metadata for agent/API consumption
|
|
460
|
+
*/
|
|
461
|
+
export interface PostAgent extends Post {
|
|
462
|
+
metadata: {
|
|
463
|
+
status: PostStatus;
|
|
464
|
+
published: boolean;
|
|
465
|
+
hasContent: boolean;
|
|
466
|
+
wordCount: number;
|
|
467
|
+
readingTimeMinutes: number;
|
|
468
|
+
categoryCount: number;
|
|
469
|
+
ageMs: number;
|
|
470
|
+
timeSincePublicationMs: number | null;
|
|
471
|
+
isIndexable: boolean;
|
|
472
|
+
};
|
|
473
|
+
}
|
|
474
|
+
/**
|
|
475
|
+
* Convert post to agent-compatible format
|
|
476
|
+
*/
|
|
477
|
+
export declare function postToAgent(post: Post): PostAgent;
|
|
478
|
+
/**
|
|
479
|
+
* Zod schema for post with computed fields
|
|
480
|
+
*/
|
|
481
|
+
export declare const PostWithComputedSchema: z.ZodIntersection<z.ZodObject<{
|
|
482
|
+
id: z.ZodString;
|
|
483
|
+
schemaVersion: z.ZodDefault<z.ZodString>;
|
|
484
|
+
title: z.ZodString;
|
|
485
|
+
slug: z.ZodString;
|
|
486
|
+
excerpt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
487
|
+
content: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
488
|
+
root: z.ZodObject<{
|
|
489
|
+
children: z.ZodArray<z.ZodUnknown>;
|
|
490
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
491
|
+
ltr: "ltr";
|
|
492
|
+
rtl: "rtl";
|
|
493
|
+
}>>;
|
|
494
|
+
format: z.ZodOptional<z.ZodString>;
|
|
495
|
+
indent: z.ZodOptional<z.ZodNumber>;
|
|
496
|
+
type: z.ZodString;
|
|
497
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
498
|
+
}, z.core.$strip>;
|
|
499
|
+
}, z.core.$strip>>>;
|
|
500
|
+
featuredImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
501
|
+
authorId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
502
|
+
status: z.ZodEnum<{
|
|
503
|
+
draft: "draft";
|
|
504
|
+
published: "published";
|
|
505
|
+
archived: "archived";
|
|
506
|
+
}>;
|
|
507
|
+
published: z.ZodDefault<z.ZodBoolean>;
|
|
508
|
+
meta: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
509
|
+
title: z.ZodOptional<z.ZodString>;
|
|
510
|
+
description: z.ZodOptional<z.ZodString>;
|
|
511
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
512
|
+
ogImage: z.ZodOptional<z.ZodString>;
|
|
513
|
+
ogTitle: z.ZodOptional<z.ZodString>;
|
|
514
|
+
ogDescription: z.ZodOptional<z.ZodString>;
|
|
515
|
+
twitterCard: z.ZodOptional<z.ZodEnum<{
|
|
516
|
+
summary: "summary";
|
|
517
|
+
app: "app";
|
|
518
|
+
summary_large_image: "summary_large_image";
|
|
519
|
+
player: "player";
|
|
520
|
+
}>>;
|
|
521
|
+
canonicalUrl: z.ZodOptional<z.ZodString>;
|
|
522
|
+
noIndex: z.ZodOptional<z.ZodBoolean>;
|
|
523
|
+
noFollow: z.ZodOptional<z.ZodBoolean>;
|
|
524
|
+
}, z.core.$strip>>>;
|
|
525
|
+
categories: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
526
|
+
createdAt: z.ZodDate;
|
|
527
|
+
updatedAt: z.ZodDate;
|
|
528
|
+
publishedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
529
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
530
|
+
_computed: z.ZodObject<{
|
|
531
|
+
isDraft: z.ZodBoolean;
|
|
532
|
+
isPublished: z.ZodBoolean;
|
|
533
|
+
isArchived: z.ZodBoolean;
|
|
534
|
+
isPublishable: z.ZodBoolean;
|
|
535
|
+
hasContent: z.ZodBoolean;
|
|
536
|
+
hasExcerpt: z.ZodBoolean;
|
|
537
|
+
hasFeaturedImage: z.ZodBoolean;
|
|
538
|
+
hasAuthor: z.ZodBoolean;
|
|
539
|
+
hasCategories: z.ZodBoolean;
|
|
540
|
+
hasMeta: z.ZodBoolean;
|
|
541
|
+
isIndexable: z.ZodBoolean;
|
|
542
|
+
estimatedWordCount: z.ZodNumber;
|
|
543
|
+
estimatedReadingTime: z.ZodNumber;
|
|
544
|
+
ageInDays: z.ZodNumber;
|
|
545
|
+
isRecent: z.ZodBoolean;
|
|
546
|
+
isRecentlyUpdated: z.ZodBoolean;
|
|
547
|
+
effectiveSeoTitle: z.ZodString;
|
|
548
|
+
effectiveSeoDescription: z.ZodNullable<z.ZodString>;
|
|
549
|
+
}, z.core.$strip>;
|
|
550
|
+
}, z.core.$strip>>;
|
|
551
|
+
/**
|
|
552
|
+
* Zod schema for post with agent metadata
|
|
553
|
+
*/
|
|
554
|
+
export declare const PostAgentSchema: z.ZodIntersection<z.ZodObject<{
|
|
555
|
+
id: z.ZodString;
|
|
556
|
+
schemaVersion: z.ZodDefault<z.ZodString>;
|
|
557
|
+
title: z.ZodString;
|
|
558
|
+
slug: z.ZodString;
|
|
559
|
+
excerpt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
560
|
+
content: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
561
|
+
root: z.ZodObject<{
|
|
562
|
+
children: z.ZodArray<z.ZodUnknown>;
|
|
563
|
+
direction: z.ZodOptional<z.ZodEnum<{
|
|
564
|
+
ltr: "ltr";
|
|
565
|
+
rtl: "rtl";
|
|
566
|
+
}>>;
|
|
567
|
+
format: z.ZodOptional<z.ZodString>;
|
|
568
|
+
indent: z.ZodOptional<z.ZodNumber>;
|
|
569
|
+
type: z.ZodString;
|
|
570
|
+
version: z.ZodOptional<z.ZodNumber>;
|
|
571
|
+
}, z.core.$strip>;
|
|
572
|
+
}, z.core.$strip>>>;
|
|
573
|
+
featuredImageId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
574
|
+
authorId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
575
|
+
status: z.ZodEnum<{
|
|
576
|
+
draft: "draft";
|
|
577
|
+
published: "published";
|
|
578
|
+
archived: "archived";
|
|
579
|
+
}>;
|
|
580
|
+
published: z.ZodDefault<z.ZodBoolean>;
|
|
581
|
+
meta: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
582
|
+
title: z.ZodOptional<z.ZodString>;
|
|
583
|
+
description: z.ZodOptional<z.ZodString>;
|
|
584
|
+
keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
585
|
+
ogImage: z.ZodOptional<z.ZodString>;
|
|
586
|
+
ogTitle: z.ZodOptional<z.ZodString>;
|
|
587
|
+
ogDescription: z.ZodOptional<z.ZodString>;
|
|
588
|
+
twitterCard: z.ZodOptional<z.ZodEnum<{
|
|
589
|
+
summary: "summary";
|
|
590
|
+
app: "app";
|
|
591
|
+
summary_large_image: "summary_large_image";
|
|
592
|
+
player: "player";
|
|
593
|
+
}>>;
|
|
594
|
+
canonicalUrl: z.ZodOptional<z.ZodString>;
|
|
595
|
+
noIndex: z.ZodOptional<z.ZodBoolean>;
|
|
596
|
+
noFollow: z.ZodOptional<z.ZodBoolean>;
|
|
597
|
+
}, z.core.$strip>>>;
|
|
598
|
+
categories: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
599
|
+
createdAt: z.ZodDate;
|
|
600
|
+
updatedAt: z.ZodDate;
|
|
601
|
+
publishedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
|
|
602
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
603
|
+
metadata: z.ZodObject<{
|
|
604
|
+
status: z.ZodEnum<{
|
|
605
|
+
draft: "draft";
|
|
606
|
+
published: "published";
|
|
607
|
+
archived: "archived";
|
|
608
|
+
}>;
|
|
609
|
+
published: z.ZodBoolean;
|
|
610
|
+
hasContent: z.ZodBoolean;
|
|
611
|
+
wordCount: z.ZodNumber;
|
|
612
|
+
readingTimeMinutes: z.ZodNumber;
|
|
613
|
+
categoryCount: z.ZodNumber;
|
|
614
|
+
ageMs: z.ZodNumber;
|
|
615
|
+
timeSincePublicationMs: z.ZodNullable<z.ZodNumber>;
|
|
616
|
+
isIndexable: z.ZodBoolean;
|
|
617
|
+
}, z.core.$strip>;
|
|
618
|
+
}, z.core.$strip>>;
|
|
619
|
+
//# sourceMappingURL=post.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../src/entities/post.ts"],"names":[],"mappings":"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"}
|