@contentrain/query 5.1.1 → 5.1.3
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/README.md +110 -8
- package/dist/cdn/index.cjs +4 -1
- package/dist/cdn/index.d.cts +2 -2
- package/dist/cdn/index.d.mts +2 -2
- package/dist/cdn/index.mjs +2 -2
- package/dist/{cdn-C8uXJe3A.cjs → cdn-5ycdk2ET.cjs} +190 -34
- package/dist/{cdn-D66-Npqt.mjs → cdn-SOuikUcY.mjs} +168 -36
- package/dist/cdn-SOuikUcY.mjs.map +1 -0
- package/dist/cli.cjs +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/{generate-CAoJCGIe.mjs → generate-B5P14n43.mjs} +33 -5
- package/dist/generate-B5P14n43.mjs.map +1 -0
- package/dist/{generate-DWu2BzSt.cjs → generate-DAaCl3Np.cjs} +32 -4
- package/dist/generator/generate.cjs +1 -1
- package/dist/generator/generate.mjs +1 -1
- package/dist/index-BChs94uA.d.cts +285 -0
- package/dist/index-BChs94uA.d.cts.map +1 -0
- package/dist/index-CsCpovuB.d.mts +285 -0
- package/dist/index-CsCpovuB.d.mts.map +1 -0
- package/dist/index.cjs +34 -10
- package/dist/index.d.cts +6 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +6 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +31 -11
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/cdn-D66-Npqt.mjs.map +0 -1
- package/dist/generate-CAoJCGIe.mjs.map +0 -1
- package/dist/index-D5zB3y75.d.mts +0 -127
- package/dist/index-D5zB3y75.d.mts.map +0 -1
- package/dist/index-Xjd0isXU.d.cts +0 -127
- package/dist/index-Xjd0isXU.d.cts.map +0 -1
|
@@ -152,6 +152,7 @@ function emitTypes(models) {
|
|
|
152
152
|
"// Re-generate with: npx contentrain-query generate",
|
|
153
153
|
"",
|
|
154
154
|
"export type ContentStatus = 'draft' | 'published' | 'in_review' | 'rejected' | 'archived'",
|
|
155
|
+
"export type WhereOp = 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'contains'",
|
|
155
156
|
""
|
|
156
157
|
];
|
|
157
158
|
for (const model of models) {
|
|
@@ -175,10 +176,12 @@ function emitTypes(models) {
|
|
|
175
176
|
lines.push(`export interface QueryBuilder<T> {
|
|
176
177
|
locale(lang: string): QueryBuilder<T>
|
|
177
178
|
where<K extends keyof T>(field: K, value: T[K]): QueryBuilder<T>
|
|
179
|
+
where<K extends keyof T>(field: K, op: WhereOp, value: unknown): QueryBuilder<T>
|
|
178
180
|
sort<K extends keyof T>(field: K, order?: 'asc' | 'desc'): QueryBuilder<T>
|
|
179
181
|
limit(n: number): QueryBuilder<T>
|
|
180
182
|
offset(n: number): QueryBuilder<T>
|
|
181
183
|
include(...fields: string[]): QueryBuilder<T>
|
|
184
|
+
count(): number
|
|
182
185
|
first(): T | undefined
|
|
183
186
|
all(): T[]
|
|
184
187
|
}`);
|
|
@@ -199,8 +202,10 @@ function emitTypes(models) {
|
|
|
199
202
|
lines.push(`export interface DocumentQuery<T> {
|
|
200
203
|
locale(lang: string): DocumentQuery<T>
|
|
201
204
|
where<K extends keyof T>(field: K, value: T[K]): DocumentQuery<T>
|
|
205
|
+
where<K extends keyof T>(field: K, op: WhereOp, value: unknown): DocumentQuery<T>
|
|
202
206
|
include(...fields: string[]): DocumentQuery<T>
|
|
203
207
|
bySlug(slug: string): T | undefined
|
|
208
|
+
count(): number
|
|
204
209
|
first(): T | undefined
|
|
205
210
|
all(): T[]
|
|
206
211
|
}`);
|
|
@@ -690,19 +695,41 @@ function parseDataFileName(fileName) {
|
|
|
690
695
|
};
|
|
691
696
|
}
|
|
692
697
|
const RUNTIME_CODE = `
|
|
698
|
+
// ─── Runtime Helpers ───
|
|
699
|
+
|
|
700
|
+
function _applyWhere(item, clause) {
|
|
701
|
+
const val = item[clause.field];
|
|
702
|
+
switch (clause.op) {
|
|
703
|
+
case 'eq': return Array.isArray(val) ? val.includes(clause.value) : val === clause.value;
|
|
704
|
+
case 'ne': return val !== clause.value;
|
|
705
|
+
case 'gt': return val > clause.value;
|
|
706
|
+
case 'gte': return val >= clause.value;
|
|
707
|
+
case 'lt': return val < clause.value;
|
|
708
|
+
case 'lte': return val <= clause.value;
|
|
709
|
+
case 'in': return Array.isArray(clause.value) && clause.value.includes(val);
|
|
710
|
+
case 'contains': {
|
|
711
|
+
if (typeof val === 'string') return val.includes(clause.value);
|
|
712
|
+
if (Array.isArray(val)) return val.includes(clause.value);
|
|
713
|
+
return false;
|
|
714
|
+
}
|
|
715
|
+
default: return true;
|
|
716
|
+
}
|
|
717
|
+
}
|
|
718
|
+
|
|
693
719
|
// ─── Runtime Classes ───
|
|
694
720
|
|
|
695
721
|
class QueryBuilder {
|
|
696
722
|
constructor(data, relationMeta, resolver, defaultLocale) { this._data = data; this._filters = []; this._sortField = null; this._sortOrder = 'asc'; this._limit = null; this._offset = 0; this._locale = null; this._includes = []; this._relationMeta = relationMeta || {}; this._resolver = resolver || null; this._defaultLocale = defaultLocale || null; }
|
|
697
723
|
locale(lang) { this._locale = lang; return this; }
|
|
698
|
-
where(field, value) { this._filters.push(
|
|
724
|
+
where(field, opOrValue, value) { if (value !== undefined) { this._filters.push({ field, op: opOrValue, value }); } else { this._filters.push({ field, op: 'eq', value: opOrValue }); } return this; }
|
|
699
725
|
sort(field, order = 'asc') { this._sortField = field; this._sortOrder = order; return this; }
|
|
700
726
|
limit(n) { this._limit = n; return this; }
|
|
701
727
|
offset(n) { this._offset = n; return this; }
|
|
702
728
|
include(...fields) { this._includes.push(...fields); return this; }
|
|
729
|
+
count() { return this.all().length; }
|
|
703
730
|
all() {
|
|
704
731
|
let items; if (this._locale) { items = [...(this._data.get(this._locale) ?? [])]; } else if (this._defaultLocale && this._data.has(this._defaultLocale)) { items = [...this._data.get(this._defaultLocale)]; } else { items = [...(this._data.get(this._data.keys().next().value) ?? [])]; }
|
|
705
|
-
for (const
|
|
732
|
+
for (const clause of this._filters) items = items.filter(item => _applyWhere(item, clause));
|
|
706
733
|
if (this._sortField) { const sf = this._sortField; const d = this._sortOrder === 'asc' ? 1 : -1; items.sort((a, b) => { const va = a[sf], vb = b[sf]; if (va == null && vb == null) return 0; if (va == null) return d; if (vb == null) return -d; return va < vb ? -d : va > vb ? d : 0; }); }
|
|
707
734
|
if (this._offset > 0 || this._limit !== null) { const end = this._limit !== null ? this._offset + this._limit : undefined; items = items.slice(this._offset, end); }
|
|
708
735
|
if (this._includes.length > 0 && this._resolver) { items = items.map(item => this._resolveIncludes(item)); }
|
|
@@ -761,15 +788,16 @@ class DictionaryAccessor {
|
|
|
761
788
|
class DocumentQuery {
|
|
762
789
|
constructor(data, relationMeta, resolver, defaultLocale) { this._data = data; this._filters = []; this._locale = null; this._includes = []; this._relationMeta = relationMeta || {}; this._resolver = resolver || null; this._defaultLocale = defaultLocale || null; }
|
|
763
790
|
locale(lang) { this._locale = lang; return this; }
|
|
764
|
-
where(field, value) { this._filters.push(
|
|
791
|
+
where(field, opOrValue, value) { if (value !== undefined) { this._filters.push({ field, op: opOrValue, value }); } else { this._filters.push({ field, op: 'eq', value: opOrValue }); } return this; }
|
|
765
792
|
include(...fields) { this._includes.push(...fields); return this; }
|
|
766
793
|
bySlug(slug) {
|
|
767
794
|
const items = this._resolveData(); const item = items.find(x => x.slug === slug);
|
|
768
795
|
if (item && this._includes.length > 0 && this._resolver) return this._resolveIncludes(item);
|
|
769
796
|
return item;
|
|
770
797
|
}
|
|
798
|
+
count() { return this.all().length; }
|
|
771
799
|
first() { return this.all()[0]; }
|
|
772
|
-
all() { let items = this._resolveData(); for (const
|
|
800
|
+
all() { let items = this._resolveData(); for (const clause of this._filters) items = items.filter(item => _applyWhere(item, clause)); if (this._includes.length > 0 && this._resolver) { items = items.map(item => this._resolveIncludes(item)); } return items; }
|
|
773
801
|
_resolveData() { let key; if (this._locale) { key = this._locale; } else if (this._defaultLocale && this._data.has(this._defaultLocale)) { key = this._defaultLocale; } else { key = this._data.keys().next().value; } return [...(this._data.get(key) ?? [])]; }
|
|
774
802
|
_resolveIncludes(item) {
|
|
775
803
|
const resolved = { ...item };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as generate } from "../generate-
|
|
1
|
+
import { t as generate } from "../generate-B5P14n43.mjs";
|
|
2
2
|
export { generate };
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
//#region src/cdn/data-source.d.ts
|
|
2
|
+
interface CollectionDataSource<T> {
|
|
3
|
+
getAll(locale: string): Promise<T[]>;
|
|
4
|
+
getOne(id: string, locale: string): Promise<T | null>;
|
|
5
|
+
}
|
|
6
|
+
interface SingletonDataSource<T> {
|
|
7
|
+
get(locale: string): Promise<T>;
|
|
8
|
+
}
|
|
9
|
+
interface DictionaryDataSource {
|
|
10
|
+
get(locale: string): Promise<Record<string, string>>;
|
|
11
|
+
}
|
|
12
|
+
interface DocumentDataSource<T> {
|
|
13
|
+
getIndex(locale: string): Promise<T[]>;
|
|
14
|
+
getBySlug(slug: string, locale: string): Promise<{
|
|
15
|
+
frontmatter: T;
|
|
16
|
+
body: string;
|
|
17
|
+
html: string;
|
|
18
|
+
} | null>;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/cdn/http-transport.d.ts
|
|
22
|
+
declare class HttpTransport {
|
|
23
|
+
private _baseUrl;
|
|
24
|
+
private _projectId;
|
|
25
|
+
private _apiKey;
|
|
26
|
+
private _cache;
|
|
27
|
+
constructor(config: {
|
|
28
|
+
baseUrl: string;
|
|
29
|
+
projectId: string;
|
|
30
|
+
apiKey: string;
|
|
31
|
+
});
|
|
32
|
+
buildUrl(path: string): string;
|
|
33
|
+
fetch<T>(path: string): Promise<T>;
|
|
34
|
+
collection<T>(modelId: string): CollectionDataSource<T>;
|
|
35
|
+
singleton<T>(modelId: string): SingletonDataSource<T>;
|
|
36
|
+
dictionary(modelId: string): DictionaryDataSource;
|
|
37
|
+
document<T>(modelId: string): DocumentDataSource<T>;
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region src/shared/where.d.ts
|
|
41
|
+
type WhereOp = 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'contains';
|
|
42
|
+
interface WhereClause {
|
|
43
|
+
field: string;
|
|
44
|
+
op: WhereOp;
|
|
45
|
+
value: unknown;
|
|
46
|
+
}
|
|
47
|
+
declare function applyWhere<T>(item: T, clause: WhereClause): boolean;
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/cdn/collection-query.d.ts
|
|
50
|
+
interface EntryMeta {
|
|
51
|
+
status?: string;
|
|
52
|
+
publish_at?: string;
|
|
53
|
+
expire_at?: string;
|
|
54
|
+
updated_by?: string;
|
|
55
|
+
approved_by?: string;
|
|
56
|
+
[key: string]: unknown;
|
|
57
|
+
}
|
|
58
|
+
declare class CdnCollectionQuery<T extends object> {
|
|
59
|
+
private _transport;
|
|
60
|
+
private _source;
|
|
61
|
+
private _modelId;
|
|
62
|
+
private _locale;
|
|
63
|
+
private _filters;
|
|
64
|
+
private _sortField;
|
|
65
|
+
private _sortOrder;
|
|
66
|
+
private _limit;
|
|
67
|
+
private _offset;
|
|
68
|
+
private _includes;
|
|
69
|
+
private _withMeta;
|
|
70
|
+
constructor(transport: HttpTransport, modelId: string, defaultLocale?: string);
|
|
71
|
+
locale(lang: string): this;
|
|
72
|
+
where(field: string, op: WhereOp, value: unknown): this;
|
|
73
|
+
sort(field: string, order?: 'asc' | 'desc'): this;
|
|
74
|
+
limit(n: number): this;
|
|
75
|
+
offset(n: number): this;
|
|
76
|
+
include(...fields: string[]): this;
|
|
77
|
+
withMeta(): this;
|
|
78
|
+
all(): Promise<T[]>;
|
|
79
|
+
count(): Promise<number>;
|
|
80
|
+
first(): Promise<T | undefined>;
|
|
81
|
+
private _resolveIncludes;
|
|
82
|
+
private _enrichMeta;
|
|
83
|
+
}
|
|
84
|
+
//#endregion
|
|
85
|
+
//#region src/cdn/singleton-accessor.d.ts
|
|
86
|
+
declare class CdnSingletonAccessor<T extends Record<string, unknown>> {
|
|
87
|
+
private _source;
|
|
88
|
+
private _locale;
|
|
89
|
+
constructor(source: SingletonDataSource<T>, defaultLocale?: string);
|
|
90
|
+
locale(lang: string): this;
|
|
91
|
+
get(): Promise<T>;
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/cdn/dictionary-accessor.d.ts
|
|
95
|
+
declare class CdnDictionaryAccessor {
|
|
96
|
+
private _source;
|
|
97
|
+
private _locale;
|
|
98
|
+
constructor(source: DictionaryDataSource, defaultLocale?: string);
|
|
99
|
+
locale(lang: string): this;
|
|
100
|
+
get(): Promise<Record<string, string>>;
|
|
101
|
+
get(key: string): Promise<string | undefined>;
|
|
102
|
+
get(key: string, params: Record<string, string | number>): Promise<string>;
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/cdn/document-query.d.ts
|
|
106
|
+
declare class CdnDocumentQuery<T extends object> {
|
|
107
|
+
private _source;
|
|
108
|
+
private _locale;
|
|
109
|
+
private _filters;
|
|
110
|
+
constructor(source: DocumentDataSource<T>, defaultLocale?: string);
|
|
111
|
+
locale(lang: string): this;
|
|
112
|
+
where(field: string, op: WhereOp, value: unknown): this;
|
|
113
|
+
all(): Promise<T[]>;
|
|
114
|
+
count(): Promise<number>;
|
|
115
|
+
first(): Promise<T | undefined>;
|
|
116
|
+
bySlug(slug: string): Promise<{
|
|
117
|
+
frontmatter: T;
|
|
118
|
+
body: string;
|
|
119
|
+
html: string;
|
|
120
|
+
} | null>;
|
|
121
|
+
}
|
|
122
|
+
//#endregion
|
|
123
|
+
//#region src/cdn/media-accessor.d.ts
|
|
124
|
+
interface MediaAssetMeta {
|
|
125
|
+
width?: number;
|
|
126
|
+
height?: number;
|
|
127
|
+
format?: string;
|
|
128
|
+
size?: number;
|
|
129
|
+
blurhash?: string | null;
|
|
130
|
+
alt?: string | null;
|
|
131
|
+
}
|
|
132
|
+
interface MediaAsset {
|
|
133
|
+
original: string;
|
|
134
|
+
variants: Record<string, string>;
|
|
135
|
+
meta: MediaAssetMeta;
|
|
136
|
+
}
|
|
137
|
+
interface MediaManifest {
|
|
138
|
+
version: string;
|
|
139
|
+
assets: Record<string, MediaAsset>;
|
|
140
|
+
}
|
|
141
|
+
declare class MediaAccessor {
|
|
142
|
+
private _transport;
|
|
143
|
+
private _manifest;
|
|
144
|
+
constructor(transport: HttpTransport);
|
|
145
|
+
manifest(): Promise<MediaManifest>;
|
|
146
|
+
assets(): Promise<Record<string, MediaAsset>>;
|
|
147
|
+
asset(path: string): Promise<MediaAsset | null>;
|
|
148
|
+
list(): Promise<Array<{
|
|
149
|
+
path: string;
|
|
150
|
+
} & MediaAsset>>;
|
|
151
|
+
resolve(asset: MediaAsset, variant?: string): string;
|
|
152
|
+
url(asset: MediaAsset, variant?: string): string;
|
|
153
|
+
}
|
|
154
|
+
//#endregion
|
|
155
|
+
//#region src/cdn/forms-client.d.ts
|
|
156
|
+
interface FormFieldConfig {
|
|
157
|
+
id: string;
|
|
158
|
+
type: string;
|
|
159
|
+
required?: boolean;
|
|
160
|
+
label?: string;
|
|
161
|
+
placeholder?: string;
|
|
162
|
+
options?: Array<{
|
|
163
|
+
value: string;
|
|
164
|
+
label: string;
|
|
165
|
+
}>;
|
|
166
|
+
pattern?: string;
|
|
167
|
+
min?: number;
|
|
168
|
+
max?: number;
|
|
169
|
+
}
|
|
170
|
+
interface FormConfig {
|
|
171
|
+
modelId: string;
|
|
172
|
+
fields: FormFieldConfig[];
|
|
173
|
+
captchaType?: 'turnstile' | null;
|
|
174
|
+
successMessage?: string;
|
|
175
|
+
honeypotField?: string;
|
|
176
|
+
}
|
|
177
|
+
interface FormSubmitResult {
|
|
178
|
+
success: boolean;
|
|
179
|
+
message?: string;
|
|
180
|
+
errors?: Array<{
|
|
181
|
+
field: string;
|
|
182
|
+
message: string;
|
|
183
|
+
}>;
|
|
184
|
+
}
|
|
185
|
+
interface FormsClientConfig {
|
|
186
|
+
baseUrl: string;
|
|
187
|
+
projectId: string;
|
|
188
|
+
apiKey?: string;
|
|
189
|
+
}
|
|
190
|
+
declare class FormsClient {
|
|
191
|
+
private _baseUrl;
|
|
192
|
+
private _projectId;
|
|
193
|
+
private _apiKey;
|
|
194
|
+
constructor(config: FormsClientConfig);
|
|
195
|
+
config(modelId: string): Promise<FormConfig>;
|
|
196
|
+
submit(modelId: string, data: Record<string, unknown>, options?: {
|
|
197
|
+
captchaToken?: string;
|
|
198
|
+
}): Promise<FormSubmitResult>;
|
|
199
|
+
}
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region src/cdn/conversation-client.d.ts
|
|
202
|
+
interface ConversationContext {
|
|
203
|
+
activeModelId?: string | null;
|
|
204
|
+
activeLocale?: string;
|
|
205
|
+
activeEntryId?: string | null;
|
|
206
|
+
panelState?: string;
|
|
207
|
+
activeBranch?: string | null;
|
|
208
|
+
}
|
|
209
|
+
interface ConversationSendOptions {
|
|
210
|
+
conversationId?: string;
|
|
211
|
+
context?: ConversationContext;
|
|
212
|
+
}
|
|
213
|
+
interface ConversationToolResult {
|
|
214
|
+
id: string;
|
|
215
|
+
name: string;
|
|
216
|
+
result: unknown;
|
|
217
|
+
}
|
|
218
|
+
interface ConversationUsage {
|
|
219
|
+
inputTokens: number;
|
|
220
|
+
outputTokens: number;
|
|
221
|
+
}
|
|
222
|
+
interface ConversationResponse {
|
|
223
|
+
conversationId: string;
|
|
224
|
+
message: string;
|
|
225
|
+
toolResults?: ConversationToolResult[];
|
|
226
|
+
usage: ConversationUsage;
|
|
227
|
+
}
|
|
228
|
+
interface ConversationMessage {
|
|
229
|
+
id: string;
|
|
230
|
+
role: 'user' | 'assistant';
|
|
231
|
+
content: string | unknown[];
|
|
232
|
+
toolCalls?: unknown[];
|
|
233
|
+
model?: string;
|
|
234
|
+
usage?: ConversationUsage;
|
|
235
|
+
createdAt: string;
|
|
236
|
+
}
|
|
237
|
+
interface ConversationHistory {
|
|
238
|
+
conversationId: string;
|
|
239
|
+
messages: ConversationMessage[];
|
|
240
|
+
}
|
|
241
|
+
interface ConversationClientConfig {
|
|
242
|
+
baseUrl: string;
|
|
243
|
+
projectId: string;
|
|
244
|
+
apiKey: string;
|
|
245
|
+
}
|
|
246
|
+
declare class ConversationClient {
|
|
247
|
+
private _baseUrl;
|
|
248
|
+
private _projectId;
|
|
249
|
+
private _apiKey;
|
|
250
|
+
constructor(config: ConversationClientConfig);
|
|
251
|
+
send(message: string, options?: ConversationSendOptions): Promise<ConversationResponse>;
|
|
252
|
+
history(conversationId: string, options?: {
|
|
253
|
+
limit?: number;
|
|
254
|
+
}): Promise<ConversationHistory>;
|
|
255
|
+
}
|
|
256
|
+
//#endregion
|
|
257
|
+
//#region src/cdn/errors.d.ts
|
|
258
|
+
declare class ContentrainError extends Error {
|
|
259
|
+
status: number;
|
|
260
|
+
constructor(status: number, message: string);
|
|
261
|
+
}
|
|
262
|
+
//#endregion
|
|
263
|
+
//#region src/cdn/index.d.ts
|
|
264
|
+
interface ContentrainCDNConfig {
|
|
265
|
+
projectId: string;
|
|
266
|
+
apiKey: string;
|
|
267
|
+
baseUrl?: string;
|
|
268
|
+
defaultLocale?: string;
|
|
269
|
+
}
|
|
270
|
+
type ContentrainCDNClient = ReturnType<typeof createContentrain>;
|
|
271
|
+
declare function createContentrain(config: ContentrainCDNConfig): {
|
|
272
|
+
collection: <T extends object = Record<string, unknown>>(modelId: string) => CdnCollectionQuery<T>;
|
|
273
|
+
singleton: <T extends Record<string, unknown> = Record<string, unknown>>(modelId: string) => CdnSingletonAccessor<T>;
|
|
274
|
+
dictionary: (modelId: string) => CdnDictionaryAccessor;
|
|
275
|
+
document: <T extends object = Record<string, unknown>>(modelId: string) => CdnDocumentQuery<T>;
|
|
276
|
+
media: () => MediaAccessor;
|
|
277
|
+
form: () => FormsClient;
|
|
278
|
+
conversation: () => ConversationClient;
|
|
279
|
+
manifest: () => Promise<unknown>;
|
|
280
|
+
models: () => Promise<unknown[]>;
|
|
281
|
+
model: (id: string) => Promise<unknown>;
|
|
282
|
+
};
|
|
283
|
+
//#endregion
|
|
284
|
+
export { applyWhere as A, CdnDocumentQuery as C, EntryMeta as D, CdnCollectionQuery as E, SingletonDataSource as F, CollectionDataSource as M, DictionaryDataSource as N, WhereClause as O, DocumentDataSource as P, MediaManifest as S, CdnSingletonAccessor as T, FormsClient as _, ConversationClient as a, MediaAsset as b, ConversationHistory as c, ConversationSendOptions as d, ConversationToolResult as f, FormSubmitResult as g, FormFieldConfig as h, ContentrainError as i, HttpTransport as j, WhereOp as k, ConversationMessage as l, FormConfig as m, ContentrainCDNConfig as n, ConversationClientConfig as o, ConversationUsage as p, createContentrain as r, ConversationContext as s, ContentrainCDNClient as t, ConversationResponse as u, FormsClientConfig as v, CdnDictionaryAccessor as w, MediaAssetMeta as x, MediaAccessor as y };
|
|
285
|
+
//# sourceMappingURL=index-BChs94uA.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BChs94uA.d.cts","names":[],"sources":["../src/cdn/data-source.ts","../src/cdn/http-transport.ts","../src/shared/where.ts","../src/cdn/collection-query.ts","../src/cdn/singleton-accessor.ts","../src/cdn/dictionary-accessor.ts","../src/cdn/document-query.ts","../src/cdn/media-accessor.ts","../src/cdn/forms-client.ts","../src/cdn/conversation-client.ts","../src/cdn/errors.ts","../src/cdn/index.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
//#region src/cdn/data-source.d.ts
|
|
2
|
+
interface CollectionDataSource<T> {
|
|
3
|
+
getAll(locale: string): Promise<T[]>;
|
|
4
|
+
getOne(id: string, locale: string): Promise<T | null>;
|
|
5
|
+
}
|
|
6
|
+
interface SingletonDataSource<T> {
|
|
7
|
+
get(locale: string): Promise<T>;
|
|
8
|
+
}
|
|
9
|
+
interface DictionaryDataSource {
|
|
10
|
+
get(locale: string): Promise<Record<string, string>>;
|
|
11
|
+
}
|
|
12
|
+
interface DocumentDataSource<T> {
|
|
13
|
+
getIndex(locale: string): Promise<T[]>;
|
|
14
|
+
getBySlug(slug: string, locale: string): Promise<{
|
|
15
|
+
frontmatter: T;
|
|
16
|
+
body: string;
|
|
17
|
+
html: string;
|
|
18
|
+
} | null>;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
//#region src/cdn/http-transport.d.ts
|
|
22
|
+
declare class HttpTransport {
|
|
23
|
+
private _baseUrl;
|
|
24
|
+
private _projectId;
|
|
25
|
+
private _apiKey;
|
|
26
|
+
private _cache;
|
|
27
|
+
constructor(config: {
|
|
28
|
+
baseUrl: string;
|
|
29
|
+
projectId: string;
|
|
30
|
+
apiKey: string;
|
|
31
|
+
});
|
|
32
|
+
buildUrl(path: string): string;
|
|
33
|
+
fetch<T>(path: string): Promise<T>;
|
|
34
|
+
collection<T>(modelId: string): CollectionDataSource<T>;
|
|
35
|
+
singleton<T>(modelId: string): SingletonDataSource<T>;
|
|
36
|
+
dictionary(modelId: string): DictionaryDataSource;
|
|
37
|
+
document<T>(modelId: string): DocumentDataSource<T>;
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region src/shared/where.d.ts
|
|
41
|
+
type WhereOp = 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'contains';
|
|
42
|
+
interface WhereClause {
|
|
43
|
+
field: string;
|
|
44
|
+
op: WhereOp;
|
|
45
|
+
value: unknown;
|
|
46
|
+
}
|
|
47
|
+
declare function applyWhere<T>(item: T, clause: WhereClause): boolean;
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/cdn/collection-query.d.ts
|
|
50
|
+
interface EntryMeta {
|
|
51
|
+
status?: string;
|
|
52
|
+
publish_at?: string;
|
|
53
|
+
expire_at?: string;
|
|
54
|
+
updated_by?: string;
|
|
55
|
+
approved_by?: string;
|
|
56
|
+
[key: string]: unknown;
|
|
57
|
+
}
|
|
58
|
+
declare class CdnCollectionQuery<T extends object> {
|
|
59
|
+
private _transport;
|
|
60
|
+
private _source;
|
|
61
|
+
private _modelId;
|
|
62
|
+
private _locale;
|
|
63
|
+
private _filters;
|
|
64
|
+
private _sortField;
|
|
65
|
+
private _sortOrder;
|
|
66
|
+
private _limit;
|
|
67
|
+
private _offset;
|
|
68
|
+
private _includes;
|
|
69
|
+
private _withMeta;
|
|
70
|
+
constructor(transport: HttpTransport, modelId: string, defaultLocale?: string);
|
|
71
|
+
locale(lang: string): this;
|
|
72
|
+
where(field: string, op: WhereOp, value: unknown): this;
|
|
73
|
+
sort(field: string, order?: 'asc' | 'desc'): this;
|
|
74
|
+
limit(n: number): this;
|
|
75
|
+
offset(n: number): this;
|
|
76
|
+
include(...fields: string[]): this;
|
|
77
|
+
withMeta(): this;
|
|
78
|
+
all(): Promise<T[]>;
|
|
79
|
+
count(): Promise<number>;
|
|
80
|
+
first(): Promise<T | undefined>;
|
|
81
|
+
private _resolveIncludes;
|
|
82
|
+
private _enrichMeta;
|
|
83
|
+
}
|
|
84
|
+
//#endregion
|
|
85
|
+
//#region src/cdn/singleton-accessor.d.ts
|
|
86
|
+
declare class CdnSingletonAccessor<T extends Record<string, unknown>> {
|
|
87
|
+
private _source;
|
|
88
|
+
private _locale;
|
|
89
|
+
constructor(source: SingletonDataSource<T>, defaultLocale?: string);
|
|
90
|
+
locale(lang: string): this;
|
|
91
|
+
get(): Promise<T>;
|
|
92
|
+
}
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/cdn/dictionary-accessor.d.ts
|
|
95
|
+
declare class CdnDictionaryAccessor {
|
|
96
|
+
private _source;
|
|
97
|
+
private _locale;
|
|
98
|
+
constructor(source: DictionaryDataSource, defaultLocale?: string);
|
|
99
|
+
locale(lang: string): this;
|
|
100
|
+
get(): Promise<Record<string, string>>;
|
|
101
|
+
get(key: string): Promise<string | undefined>;
|
|
102
|
+
get(key: string, params: Record<string, string | number>): Promise<string>;
|
|
103
|
+
}
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region src/cdn/document-query.d.ts
|
|
106
|
+
declare class CdnDocumentQuery<T extends object> {
|
|
107
|
+
private _source;
|
|
108
|
+
private _locale;
|
|
109
|
+
private _filters;
|
|
110
|
+
constructor(source: DocumentDataSource<T>, defaultLocale?: string);
|
|
111
|
+
locale(lang: string): this;
|
|
112
|
+
where(field: string, op: WhereOp, value: unknown): this;
|
|
113
|
+
all(): Promise<T[]>;
|
|
114
|
+
count(): Promise<number>;
|
|
115
|
+
first(): Promise<T | undefined>;
|
|
116
|
+
bySlug(slug: string): Promise<{
|
|
117
|
+
frontmatter: T;
|
|
118
|
+
body: string;
|
|
119
|
+
html: string;
|
|
120
|
+
} | null>;
|
|
121
|
+
}
|
|
122
|
+
//#endregion
|
|
123
|
+
//#region src/cdn/media-accessor.d.ts
|
|
124
|
+
interface MediaAssetMeta {
|
|
125
|
+
width?: number;
|
|
126
|
+
height?: number;
|
|
127
|
+
format?: string;
|
|
128
|
+
size?: number;
|
|
129
|
+
blurhash?: string | null;
|
|
130
|
+
alt?: string | null;
|
|
131
|
+
}
|
|
132
|
+
interface MediaAsset {
|
|
133
|
+
original: string;
|
|
134
|
+
variants: Record<string, string>;
|
|
135
|
+
meta: MediaAssetMeta;
|
|
136
|
+
}
|
|
137
|
+
interface MediaManifest {
|
|
138
|
+
version: string;
|
|
139
|
+
assets: Record<string, MediaAsset>;
|
|
140
|
+
}
|
|
141
|
+
declare class MediaAccessor {
|
|
142
|
+
private _transport;
|
|
143
|
+
private _manifest;
|
|
144
|
+
constructor(transport: HttpTransport);
|
|
145
|
+
manifest(): Promise<MediaManifest>;
|
|
146
|
+
assets(): Promise<Record<string, MediaAsset>>;
|
|
147
|
+
asset(path: string): Promise<MediaAsset | null>;
|
|
148
|
+
list(): Promise<Array<{
|
|
149
|
+
path: string;
|
|
150
|
+
} & MediaAsset>>;
|
|
151
|
+
resolve(asset: MediaAsset, variant?: string): string;
|
|
152
|
+
url(asset: MediaAsset, variant?: string): string;
|
|
153
|
+
}
|
|
154
|
+
//#endregion
|
|
155
|
+
//#region src/cdn/forms-client.d.ts
|
|
156
|
+
interface FormFieldConfig {
|
|
157
|
+
id: string;
|
|
158
|
+
type: string;
|
|
159
|
+
required?: boolean;
|
|
160
|
+
label?: string;
|
|
161
|
+
placeholder?: string;
|
|
162
|
+
options?: Array<{
|
|
163
|
+
value: string;
|
|
164
|
+
label: string;
|
|
165
|
+
}>;
|
|
166
|
+
pattern?: string;
|
|
167
|
+
min?: number;
|
|
168
|
+
max?: number;
|
|
169
|
+
}
|
|
170
|
+
interface FormConfig {
|
|
171
|
+
modelId: string;
|
|
172
|
+
fields: FormFieldConfig[];
|
|
173
|
+
captchaType?: 'turnstile' | null;
|
|
174
|
+
successMessage?: string;
|
|
175
|
+
honeypotField?: string;
|
|
176
|
+
}
|
|
177
|
+
interface FormSubmitResult {
|
|
178
|
+
success: boolean;
|
|
179
|
+
message?: string;
|
|
180
|
+
errors?: Array<{
|
|
181
|
+
field: string;
|
|
182
|
+
message: string;
|
|
183
|
+
}>;
|
|
184
|
+
}
|
|
185
|
+
interface FormsClientConfig {
|
|
186
|
+
baseUrl: string;
|
|
187
|
+
projectId: string;
|
|
188
|
+
apiKey?: string;
|
|
189
|
+
}
|
|
190
|
+
declare class FormsClient {
|
|
191
|
+
private _baseUrl;
|
|
192
|
+
private _projectId;
|
|
193
|
+
private _apiKey;
|
|
194
|
+
constructor(config: FormsClientConfig);
|
|
195
|
+
config(modelId: string): Promise<FormConfig>;
|
|
196
|
+
submit(modelId: string, data: Record<string, unknown>, options?: {
|
|
197
|
+
captchaToken?: string;
|
|
198
|
+
}): Promise<FormSubmitResult>;
|
|
199
|
+
}
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region src/cdn/conversation-client.d.ts
|
|
202
|
+
interface ConversationContext {
|
|
203
|
+
activeModelId?: string | null;
|
|
204
|
+
activeLocale?: string;
|
|
205
|
+
activeEntryId?: string | null;
|
|
206
|
+
panelState?: string;
|
|
207
|
+
activeBranch?: string | null;
|
|
208
|
+
}
|
|
209
|
+
interface ConversationSendOptions {
|
|
210
|
+
conversationId?: string;
|
|
211
|
+
context?: ConversationContext;
|
|
212
|
+
}
|
|
213
|
+
interface ConversationToolResult {
|
|
214
|
+
id: string;
|
|
215
|
+
name: string;
|
|
216
|
+
result: unknown;
|
|
217
|
+
}
|
|
218
|
+
interface ConversationUsage {
|
|
219
|
+
inputTokens: number;
|
|
220
|
+
outputTokens: number;
|
|
221
|
+
}
|
|
222
|
+
interface ConversationResponse {
|
|
223
|
+
conversationId: string;
|
|
224
|
+
message: string;
|
|
225
|
+
toolResults?: ConversationToolResult[];
|
|
226
|
+
usage: ConversationUsage;
|
|
227
|
+
}
|
|
228
|
+
interface ConversationMessage {
|
|
229
|
+
id: string;
|
|
230
|
+
role: 'user' | 'assistant';
|
|
231
|
+
content: string | unknown[];
|
|
232
|
+
toolCalls?: unknown[];
|
|
233
|
+
model?: string;
|
|
234
|
+
usage?: ConversationUsage;
|
|
235
|
+
createdAt: string;
|
|
236
|
+
}
|
|
237
|
+
interface ConversationHistory {
|
|
238
|
+
conversationId: string;
|
|
239
|
+
messages: ConversationMessage[];
|
|
240
|
+
}
|
|
241
|
+
interface ConversationClientConfig {
|
|
242
|
+
baseUrl: string;
|
|
243
|
+
projectId: string;
|
|
244
|
+
apiKey: string;
|
|
245
|
+
}
|
|
246
|
+
declare class ConversationClient {
|
|
247
|
+
private _baseUrl;
|
|
248
|
+
private _projectId;
|
|
249
|
+
private _apiKey;
|
|
250
|
+
constructor(config: ConversationClientConfig);
|
|
251
|
+
send(message: string, options?: ConversationSendOptions): Promise<ConversationResponse>;
|
|
252
|
+
history(conversationId: string, options?: {
|
|
253
|
+
limit?: number;
|
|
254
|
+
}): Promise<ConversationHistory>;
|
|
255
|
+
}
|
|
256
|
+
//#endregion
|
|
257
|
+
//#region src/cdn/errors.d.ts
|
|
258
|
+
declare class ContentrainError extends Error {
|
|
259
|
+
status: number;
|
|
260
|
+
constructor(status: number, message: string);
|
|
261
|
+
}
|
|
262
|
+
//#endregion
|
|
263
|
+
//#region src/cdn/index.d.ts
|
|
264
|
+
interface ContentrainCDNConfig {
|
|
265
|
+
projectId: string;
|
|
266
|
+
apiKey: string;
|
|
267
|
+
baseUrl?: string;
|
|
268
|
+
defaultLocale?: string;
|
|
269
|
+
}
|
|
270
|
+
type ContentrainCDNClient = ReturnType<typeof createContentrain>;
|
|
271
|
+
declare function createContentrain(config: ContentrainCDNConfig): {
|
|
272
|
+
collection: <T extends object = Record<string, unknown>>(modelId: string) => CdnCollectionQuery<T>;
|
|
273
|
+
singleton: <T extends Record<string, unknown> = Record<string, unknown>>(modelId: string) => CdnSingletonAccessor<T>;
|
|
274
|
+
dictionary: (modelId: string) => CdnDictionaryAccessor;
|
|
275
|
+
document: <T extends object = Record<string, unknown>>(modelId: string) => CdnDocumentQuery<T>;
|
|
276
|
+
media: () => MediaAccessor;
|
|
277
|
+
form: () => FormsClient;
|
|
278
|
+
conversation: () => ConversationClient;
|
|
279
|
+
manifest: () => Promise<unknown>;
|
|
280
|
+
models: () => Promise<unknown[]>;
|
|
281
|
+
model: (id: string) => Promise<unknown>;
|
|
282
|
+
};
|
|
283
|
+
//#endregion
|
|
284
|
+
export { applyWhere as A, CdnDocumentQuery as C, EntryMeta as D, CdnCollectionQuery as E, SingletonDataSource as F, CollectionDataSource as M, DictionaryDataSource as N, WhereClause as O, DocumentDataSource as P, MediaManifest as S, CdnSingletonAccessor as T, FormsClient as _, ConversationClient as a, MediaAsset as b, ConversationHistory as c, ConversationSendOptions as d, ConversationToolResult as f, FormSubmitResult as g, FormFieldConfig as h, ContentrainError as i, HttpTransport as j, WhereOp as k, ConversationMessage as l, FormConfig as m, ContentrainCDNConfig as n, ConversationClientConfig as o, ConversationUsage as p, createContentrain as r, ConversationContext as s, ContentrainCDNClient as t, ConversationResponse as u, FormsClientConfig as v, CdnDictionaryAccessor as w, MediaAssetMeta as x, MediaAccessor as y };
|
|
285
|
+
//# sourceMappingURL=index-CsCpovuB.d.mts.map
|