@happyvertical/smrt-content 0.43.4 → 0.43.6
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/AGENTS.md +9 -86
- package/agents/content-list.md +869 -0
- package/dist/content-query.d.ts +310 -0
- package/dist/content-query.d.ts.map +1 -0
- package/dist/contents.d.ts +22 -0
- package/dist/contents.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +672 -4
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +22 -2
- package/dist/smrt-knowledge.json +38 -5
- package/dist/svelte/components/ContentList.svelte +941 -30
- package/dist/svelte/components/ContentList.svelte.d.ts +44 -1
- package/dist/svelte/components/ContentList.svelte.d.ts.map +1 -1
- package/dist/svelte/content-list-controller.d.ts +98 -1
- package/dist/svelte/content-list-controller.d.ts.map +1 -1
- package/dist/svelte/content-list-controller.js +290 -19
- package/dist/svelte/content-list-query.d.ts +498 -0
- package/dist/svelte/content-list-query.d.ts.map +1 -0
- package/dist/svelte/content-list-query.js +1294 -0
- package/dist/svelte/content-list-saved-views.d.ts +172 -0
- package/dist/svelte/content-list-saved-views.d.ts.map +1 -0
- package/dist/svelte/content-list-saved-views.js +298 -0
- package/dist/svelte/content-list-url-state.d.ts +211 -0
- package/dist/svelte/content-list-url-state.d.ts.map +1 -0
- package/dist/svelte/content-list-url-state.js +856 -0
- package/dist/svelte/i18n.contribution.d.ts +24 -0
- package/dist/svelte/i18n.contribution.d.ts.map +1 -1
- package/dist/svelte/i18n.contribution.js +26 -0
- package/dist/svelte/index.d.ts +5 -1
- package/dist/svelte/index.d.ts.map +1 -1
- package/dist/svelte/index.js +8 -1
- package/package.json +16 -15
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
import { DataQueryFieldDescriptor, DataQueryResult, DataQueryRow, DataQuerySchema, DataQuerySort } from '@happyvertical/smrt-types';
|
|
2
|
+
/** Registered qualified name of the STI base every content query reads. */
|
|
3
|
+
export declare const CONTENT_QUERY_CLASS_NAME = "@happyvertical/smrt-content:Content";
|
|
4
|
+
/** Row identity for every content query. Never a page or display index. */
|
|
5
|
+
export declare const CONTENT_QUERY_IDENTITY_FIELD = "id";
|
|
6
|
+
/**
|
|
7
|
+
* Deterministic default ordering: most recently updated first, tie-broken by
|
|
8
|
+
* id. `updated_at` is chosen over `publish_date` deliberately — it is always
|
|
9
|
+
* populated, so ordering never depends on engine-specific NULL placement, and
|
|
10
|
+
* it matches the ordering the rest of the `Contents` collection already uses.
|
|
11
|
+
*/
|
|
12
|
+
export declare const CONTENT_QUERY_DEFAULT_SORT: DataQuerySort[];
|
|
13
|
+
/** Page bounds. Content rows can carry long text, so the ceiling is modest. */
|
|
14
|
+
export declare const CONTENT_QUERY_DEFAULT_PAGE_LIMIT = 50;
|
|
15
|
+
export declare const CONTENT_QUERY_MAX_PAGE_LIMIT = 200;
|
|
16
|
+
export declare const CONTENT_QUERY_MAX_RESULT_BYTES = 1000000;
|
|
17
|
+
/**
|
|
18
|
+
* Fields the content query never declares even though they are column-backed.
|
|
19
|
+
*
|
|
20
|
+
* `body` is a document, not list data: the canonical envelope caps a scalar at
|
|
21
|
+
* {@link DATA_QUERY_MAX_STRING_LENGTH} characters, so a real body could only
|
|
22
|
+
* ever be returned mangled. Read a body through the item route
|
|
23
|
+
* (`GET /api/v1/contents/{id}`), which serializes it in full.
|
|
24
|
+
*/
|
|
25
|
+
export declare const CONTENT_QUERY_EXCLUDED_FIELD_IDS: readonly string[];
|
|
26
|
+
/**
|
|
27
|
+
* The protocol's hard scalar cap (`dataQueryScalar` in
|
|
28
|
+
* `@happyvertical/smrt-core`): a string value longer than this makes the whole
|
|
29
|
+
* result invalid, so long values are truncated and flagged instead.
|
|
30
|
+
*/
|
|
31
|
+
export declare const DATA_QUERY_MAX_STRING_LENGTH = 4096;
|
|
32
|
+
/**
|
|
33
|
+
* The protocol's limits for a `json` field, mirrored from
|
|
34
|
+
* `canonicalJson` in `@happyvertical/smrt-core`. Exceeding any of them makes
|
|
35
|
+
* the whole result invalid rather than the one value, so the adapter bounds a
|
|
36
|
+
* JSON document itself (see `boundJsonValue`).
|
|
37
|
+
*/
|
|
38
|
+
export declare const DATA_QUERY_MAX_JSON_STRING_LENGTH = 65536;
|
|
39
|
+
export declare const DATA_QUERY_MAX_JSON_CONTAINER_ITEMS = 1000;
|
|
40
|
+
export declare const DATA_QUERY_MAX_JSON_DEPTH = 16;
|
|
41
|
+
/**
|
|
42
|
+
* Keys `plainObject` refuses outright (`FORBIDDEN_DATA_QUERY`), mirrored from
|
|
43
|
+
* `@happyvertical/smrt-core`. This is a *validity* rule rather than a size
|
|
44
|
+
* limit, and it is the reachable one: `metadata` is the documented extension
|
|
45
|
+
* point, it is writable through the generated REST API and through
|
|
46
|
+
* `Content.mirror()` ingestion, and `JSON.parse` of the stored column creates
|
|
47
|
+
* an own `__proto__` property. One row carrying such a key would otherwise make
|
|
48
|
+
* every query projecting that field return 400 for the whole page, with no way
|
|
49
|
+
* to page past it.
|
|
50
|
+
*/
|
|
51
|
+
export declare const DATA_QUERY_FORBIDDEN_JSON_KEYS: ReadonlySet<string>;
|
|
52
|
+
/**
|
|
53
|
+
* Bytes held back from the row budget for the envelope itself (request id,
|
|
54
|
+
* fingerprint, page, total, freshness, warnings). The normalizer re-checks the
|
|
55
|
+
* complete serialized envelope against `maxResultBytes`, so the row budget must
|
|
56
|
+
* leave room for it.
|
|
57
|
+
*/
|
|
58
|
+
export declare const RESULT_ENVELOPE_RESERVE_BYTES = 4096;
|
|
59
|
+
/**
|
|
60
|
+
* The smallest `maxResultBytes` a schema may declare.
|
|
61
|
+
*
|
|
62
|
+
* The row budget is `maxResultBytes` minus the envelope reserve, so a schema
|
|
63
|
+
* below the reserve leaves nothing for rows: every query would answer with an
|
|
64
|
+
* empty page flagged `truncated`, forever, and a page small enough that the
|
|
65
|
+
* metadata alone overruns the budget would fail `normalizeDataQueryResult`
|
|
66
|
+
* outright. Both look like "no content matched" from the outside.
|
|
67
|
+
*
|
|
68
|
+
* `schema` is trusted adapter configuration, never caller input, so a budget
|
|
69
|
+
* this small is a deployment mistake rather than a bad request — and it is
|
|
70
|
+
* refused loudly at the boundary rather than degrading every read.
|
|
71
|
+
*/
|
|
72
|
+
export declare const CONTENT_QUERY_MIN_RESULT_BYTES: number;
|
|
73
|
+
/**
|
|
74
|
+
* Upper bound on OR branches handed to the collection query builder.
|
|
75
|
+
*
|
|
76
|
+
* Exported so a client can mirror it: the null-safe `ne`/`notIn` lowering below
|
|
77
|
+
* turns one predicate into two branches, and an `all` of them multiplies, so a
|
|
78
|
+
* caller has to be able to stop short of the ceiling rather than be refused.
|
|
79
|
+
*/
|
|
80
|
+
export declare const MAX_CONTENT_QUERY_OR_BRANCHES = 128;
|
|
81
|
+
/** One AND-ed group of SMRT `where` conditions. */
|
|
82
|
+
type WhereCondition = Record<string, unknown>;
|
|
83
|
+
/** Bounded disjunctive-normal-form `where`: outer OR of inner AND groups. */
|
|
84
|
+
type WhereDnf = WhereCondition[][];
|
|
85
|
+
/**
|
|
86
|
+
* The subset of `SmrtCollection` a content query needs. Structural so this
|
|
87
|
+
* module never imports `Contents` (which imports this one) and so a host can
|
|
88
|
+
* supply an application-owned collection that preserves the same boundary.
|
|
89
|
+
*/
|
|
90
|
+
export interface ContentQueryCollection {
|
|
91
|
+
list(options: {
|
|
92
|
+
select?: readonly string[];
|
|
93
|
+
where?: WhereCondition | WhereDnf;
|
|
94
|
+
offset?: number;
|
|
95
|
+
limit?: number;
|
|
96
|
+
orderBy?: string | string[];
|
|
97
|
+
}): Promise<Record<string, unknown>[]>;
|
|
98
|
+
count(options?: {
|
|
99
|
+
where?: WhereCondition | WhereDnf;
|
|
100
|
+
}): Promise<number>;
|
|
101
|
+
facets(options: {
|
|
102
|
+
fields: readonly {
|
|
103
|
+
field: string;
|
|
104
|
+
limit?: number;
|
|
105
|
+
}[];
|
|
106
|
+
where?: WhereCondition | WhereDnf;
|
|
107
|
+
}): Promise<{
|
|
108
|
+
field: string;
|
|
109
|
+
values: {
|
|
110
|
+
value: unknown;
|
|
111
|
+
count: number;
|
|
112
|
+
}[];
|
|
113
|
+
}[]>;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Trusted, server-derived narrowing conditions.
|
|
117
|
+
*
|
|
118
|
+
* Each entry is a plain SMRT `where` condition object (`{ status: 'published' }`,
|
|
119
|
+
* `{ 'publish_date <=': someInstant }`, `{ category: ['news', 'sport'] }`).
|
|
120
|
+
* Every condition is ANDed into **every** OR branch of the caller's filter.
|
|
121
|
+
*/
|
|
122
|
+
export type ContentQueryScope = WhereCondition | readonly WhereCondition[];
|
|
123
|
+
export interface ContentQueryOptions {
|
|
124
|
+
/**
|
|
125
|
+
* Application-supplied narrowing conditions derived from the authenticated
|
|
126
|
+
* server-side context — never from the request body.
|
|
127
|
+
*
|
|
128
|
+
* This is how an application expresses site, organization, workspace, or
|
|
129
|
+
* ownership scoping. The framework deliberately does not model site or
|
|
130
|
+
* organization: `Content` carries tenancy plus a freeform `metadata` blob and
|
|
131
|
+
* nothing else, so the host that knows what "site" means for its deployment
|
|
132
|
+
* passes the conditions that mean it here (a subclass column, a denormalized
|
|
133
|
+
* id column, a pre-resolved id list, and so on).
|
|
134
|
+
*
|
|
135
|
+
* SECURITY INVARIANT: scope may only come from trusted server-side context. A
|
|
136
|
+
* `DataQueryRequest` has no way to supply, replace, widen, or remove a scope
|
|
137
|
+
* condition — scope conditions are ANDed into every branch of the caller's
|
|
138
|
+
* filter, including inside `any`/`not` branches, so a request can only ever
|
|
139
|
+
* narrow the result set. Never derive `scope` from client input.
|
|
140
|
+
*
|
|
141
|
+
* `undefined` and `[]` mean OPPOSITE things. Omit the option to apply no
|
|
142
|
+
* application scope; pass an empty array to say the principal is permitted
|
|
143
|
+
* nothing, which matches no rows. A host deriving the scope from an
|
|
144
|
+
* allowed-resource list gets the safe answer by construction: an empty list
|
|
145
|
+
* denies instead of unlocking the whole tenant.
|
|
146
|
+
*/
|
|
147
|
+
scope?: ContentQueryScope;
|
|
148
|
+
/**
|
|
149
|
+
* Trusted adapter policy override. Defaults to the memoized `Content` schema.
|
|
150
|
+
* This is adapter configuration, never caller input; it exists so a host (or
|
|
151
|
+
* a test) can execute the same bounded protocol against another registered
|
|
152
|
+
* class. Supplying a schema does NOT relax the collection-level field checks.
|
|
153
|
+
*/
|
|
154
|
+
schema?: DataQuerySchema;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Validate a host-supplied schema before anything depends on it.
|
|
158
|
+
*
|
|
159
|
+
* `executeContentQuery` performs the same checks on every request, so a
|
|
160
|
+
* misconfigured schema can never actually serve a query — but a request-path
|
|
161
|
+
* failure reaches the caller as an opaque 500 through the generated route, with
|
|
162
|
+
* the message that names the minimum only in the server log. Call this once
|
|
163
|
+
* where the schema is configured, so the failure lands next to the mistake:
|
|
164
|
+
*
|
|
165
|
+
* ```ts
|
|
166
|
+
* const schema = buildAdminContentSchema();
|
|
167
|
+
* assertContentQuerySchema(schema); // at startup, not on the first request
|
|
168
|
+
* ```
|
|
169
|
+
*
|
|
170
|
+
* Covers core's own schema rules as well as this adapter's, so one call is
|
|
171
|
+
* enough.
|
|
172
|
+
*/
|
|
173
|
+
export declare function assertContentQuerySchema(schema: DataQuerySchema): void;
|
|
174
|
+
/**
|
|
175
|
+
* Resolve the fail-closed tenant read scope for a content query.
|
|
176
|
+
*
|
|
177
|
+
* Mirrors the generated route helpers `tenantReadScope()` /
|
|
178
|
+
* `tenantReadOptionsScope()`: with tenancy enabled and no active tenant
|
|
179
|
+
* context, reads are restricted to NULL-tenant (global) rows rather than
|
|
180
|
+
* passing through unfiltered, because `Content` is
|
|
181
|
+
* `@TenantScoped({ mode: 'optional' })` and the interceptor alone would not
|
|
182
|
+
* filter an anonymous read. `withSystemContext()` and super-admin bypass remain
|
|
183
|
+
* the explicit, deliberate cross-tenant paths.
|
|
184
|
+
*/
|
|
185
|
+
export declare function resolveContentTenantReadScope(): {
|
|
186
|
+
tenantId: string | null;
|
|
187
|
+
} | undefined;
|
|
188
|
+
/**
|
|
189
|
+
* Memoized query schema for one registered class (keyed by qualified name).
|
|
190
|
+
* The schema is derived from immutable registration metadata, so it is built
|
|
191
|
+
* once per process rather than per request.
|
|
192
|
+
*/
|
|
193
|
+
export declare function buildDataQuerySchemaForClass(qualifiedName: string, options?: {
|
|
194
|
+
exclude?: readonly string[];
|
|
195
|
+
}): Promise<DataQuerySchema>;
|
|
196
|
+
/** Memoized bounded query schema for `Content`. */
|
|
197
|
+
export declare function buildContentQuerySchema(): Promise<DataQuerySchema>;
|
|
198
|
+
/** Testing seam: drop memoized schemas so a rebuild re-reads the registry. */
|
|
199
|
+
export declare function clearContentQuerySchemaCache(): void;
|
|
200
|
+
/**
|
|
201
|
+
* AND every trusted scope condition into every OR branch of the caller's
|
|
202
|
+
* filter.
|
|
203
|
+
*
|
|
204
|
+
* This is the whole widening story: a branch can only ever gain conditions, and
|
|
205
|
+
* conjunction is monotonically narrowing, so no filter shape — including
|
|
206
|
+
* `any` (OR) and `not` (negation) — can produce a branch that escapes the base
|
|
207
|
+
* scope. A caller predicate on a scoped field can contradict the scope (and
|
|
208
|
+
* return nothing); it can never replace it.
|
|
209
|
+
*
|
|
210
|
+
* Returns `undefined` only when there is neither a scope nor a filter, so the
|
|
211
|
+
* collection sees a plain unfiltered read rather than an empty DNF branch.
|
|
212
|
+
*
|
|
213
|
+
* An explicitly EMPTY scope denies rather than passing through; see
|
|
214
|
+
* {@link normalizeApplicationScope}. Pass `undefined`, not `[]`, to mean "no
|
|
215
|
+
* application scope".
|
|
216
|
+
*/
|
|
217
|
+
export declare function mergeContentQueryScope(scope: ContentQueryScope | undefined, callerWhere: WhereDnf | undefined): WhereDnf | undefined;
|
|
218
|
+
/**
|
|
219
|
+
* The result normalizer's warning rule: at most 100 entries, each a non-empty
|
|
220
|
+
* string of at most 512 characters. A warning that names a field list derived
|
|
221
|
+
* from a host-supplied schema could otherwise exceed it and fail the result
|
|
222
|
+
* this warning exists to explain.
|
|
223
|
+
*/
|
|
224
|
+
export declare const DATA_QUERY_MAX_WARNINGS = 100;
|
|
225
|
+
export declare const DATA_QUERY_MAX_WARNING_LENGTH = 512;
|
|
226
|
+
/** Records values the adapter had to shorten so the caller is told. */
|
|
227
|
+
export interface TruncationLog {
|
|
228
|
+
fields: Set<string>;
|
|
229
|
+
}
|
|
230
|
+
export interface BoundedRows {
|
|
231
|
+
rows: DataQueryRow[];
|
|
232
|
+
truncated: boolean;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Share a byte budget across rows: every row keeps its irreducible floor, and
|
|
236
|
+
* the surplus is divided max-min fair over what each row could still use.
|
|
237
|
+
*
|
|
238
|
+
* Allocating max-min fair over the rows' CURRENT costs — without seating the
|
|
239
|
+
* floors first — can declare a feasible page impossible. A small row is handed
|
|
240
|
+
* its whole cost while a large, mostly-irreducible row is left below its own
|
|
241
|
+
* floor, so the request fails even though the floors fit the budget with room
|
|
242
|
+
* to spare. Seating the floors first makes the guarantee unconditional: if
|
|
243
|
+
* `sum(floors) <= budget` then every row is allocated at least its floor,
|
|
244
|
+
* whatever the shape of the page.
|
|
245
|
+
*
|
|
246
|
+
* Exported because that guarantee is a property of the ARITHMETIC, not of any
|
|
247
|
+
* page the content schema can actually produce — a row's floor is dominated by
|
|
248
|
+
* the projection's key bytes, which are identical across rows, so the disparity
|
|
249
|
+
* that breaks cost-first ordering is not reachable through `executeContentQuery`.
|
|
250
|
+
* The property is real and worth holding; this is the level it can be held at.
|
|
251
|
+
*
|
|
252
|
+
* PRECONDITION: `floors[i] <= costs[i]` for every row — a floor is a size the
|
|
253
|
+
* row can actually be reduced TO, so it can never exceed the size it already
|
|
254
|
+
* is. {@link measureRow} guarantees this by declining any reduction that would
|
|
255
|
+
* not shrink the field. The appetite below is clamped at zero so that a
|
|
256
|
+
* violation still yields at least the floor rather than silently starving a row.
|
|
257
|
+
*
|
|
258
|
+
* @param floors - Per-row irreducible byte cost; at most the row's cost.
|
|
259
|
+
* @param costs - Per-row current byte cost; always at least the floor.
|
|
260
|
+
* @param budget - Bytes available for the rows themselves.
|
|
261
|
+
* @returns Per-row byte allowance, each at least the row's floor.
|
|
262
|
+
*/
|
|
263
|
+
export declare function allocateRowBytes(floors: readonly number[], costs: readonly number[], budget: number): number[];
|
|
264
|
+
/**
|
|
265
|
+
* Keep the returned rows inside the schema byte budget WITHOUT dropping any.
|
|
266
|
+
*
|
|
267
|
+
* The normalizer rejects an oversized result rather than trimming it, and one
|
|
268
|
+
* content row can carry megabytes of `metadata`, so the adapter has to bound
|
|
269
|
+
* the payload itself. It used to do that by dropping trailing rows — which is
|
|
270
|
+
* silent, permanent data loss: offset paging advances by the requested LIMIT,
|
|
271
|
+
* not by the number of rows actually returned, so the next page starts past the
|
|
272
|
+
* dropped rows and they are skipped on every page, forever. `DataQueryResult`'s
|
|
273
|
+
* offset page is `{ kind, offset, limit, hasMore }` with no next-offset slot,
|
|
274
|
+
* and the normalizer refuses a `nextCursor` on an offset page, so a
|
|
275
|
+
* continuation offset cannot be expressed to say "resume at 170" either.
|
|
276
|
+
*
|
|
277
|
+
* So a row is never dropped for size — only shortened, which is a state the
|
|
278
|
+
* result already reports through `truncated` and its warning, and which leaves
|
|
279
|
+
* offset paging exact.
|
|
280
|
+
*
|
|
281
|
+
* Allocation is floor-first, then max-min fair. Every row is given its
|
|
282
|
+
* irreducible floor before any surplus is shared, so a page whose floors fit is
|
|
283
|
+
* always produced — ordering rows by their CURRENT cost could otherwise hand a
|
|
284
|
+
* small row more than it needed and starve a large one below its floor,
|
|
285
|
+
* declaring a feasible page impossible.
|
|
286
|
+
*
|
|
287
|
+
* Throws only when the floors themselves exceed the budget, which is the one
|
|
288
|
+
* case no amount of shortening can reach. Failing loudly beats answering with a
|
|
289
|
+
* page that silently omits rows.
|
|
290
|
+
*/
|
|
291
|
+
export declare function boundRowBytes(rows: DataQueryRow[], maxResultBytes: number, descriptors: Map<string, DataQueryFieldDescriptor>, identityField: string, truncation: TruncationLog): BoundedRows;
|
|
292
|
+
/**
|
|
293
|
+
* Execute one bounded content query.
|
|
294
|
+
*
|
|
295
|
+
* Every read goes through `SmrtCollection.list({ select, where, orderBy,
|
|
296
|
+
* offset, limit })`, `count()`, and `facets()` — the collection remains the
|
|
297
|
+
* authorization, tenancy-interception, and SQL boundary. The full collection is
|
|
298
|
+
* never hydrated to filter or page in memory.
|
|
299
|
+
*
|
|
300
|
+
* Tenancy is applied by this function itself (see
|
|
301
|
+
* {@link resolveContentTenantReadScope}) in addition to any application
|
|
302
|
+
* `scope`; a caller cannot opt out of it.
|
|
303
|
+
*
|
|
304
|
+
* @param collection Content collection to read through.
|
|
305
|
+
* @param rawRequest Untrusted `DataQueryRequest` (typically an HTTP body).
|
|
306
|
+
* @param options Trusted adapter configuration — never derived from the caller.
|
|
307
|
+
*/
|
|
308
|
+
export declare function executeContentQuery(collection: ContentQueryCollection, rawRequest: unknown, options?: ContentQueryOptions): Promise<DataQueryResult>;
|
|
309
|
+
export {};
|
|
310
|
+
//# sourceMappingURL=content-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-query.d.ts","sourceRoot":"","sources":["../src/content-query.ts"],"names":[],"mappings":"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"}
|
package/dist/contents.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SmrtCollectionOptions, SmrtCollection } from '@happyvertical/smrt-core';
|
|
2
2
|
import { Image } from '@happyvertical/smrt-images';
|
|
3
|
+
import { DataQueryResult } from '@happyvertical/smrt-types';
|
|
3
4
|
import { Content } from './content';
|
|
4
5
|
import { ResolveHostname } from './safe-remote-url';
|
|
5
6
|
import { ThumbnailStrategy } from './thumbnail-generator';
|
|
@@ -90,6 +91,27 @@ export declare class Contents extends SmrtCollection<Content> {
|
|
|
90
91
|
*/
|
|
91
92
|
initialize(): Promise<this>;
|
|
92
93
|
private getFactCollection;
|
|
94
|
+
/**
|
|
95
|
+
* Bounded, tenant-safe content query (`POST /api/v1/contents/query`).
|
|
96
|
+
*
|
|
97
|
+
* Accepts the canonical `DataQueryRequest` envelope (#2444) and returns a
|
|
98
|
+
* normalized `DataQueryResult`, so a list surface can filter, sort, page,
|
|
99
|
+
* count, and facet server-side instead of hydrating the whole collection.
|
|
100
|
+
*
|
|
101
|
+
* The request body carries no authority: only schema-declared field ids are
|
|
102
|
+
* accepted, and tenant scoping is applied by `executeContentQuery` itself
|
|
103
|
+
* (fail-closed to global rows when tenancy is enabled with no active tenant
|
|
104
|
+
* context). Applications that need additional site/organization scoping call
|
|
105
|
+
* `executeContentQuery` directly with a trusted `scope`.
|
|
106
|
+
*
|
|
107
|
+
* The parameter is named `options` deliberately: the route generator passes
|
|
108
|
+
* the raw request body straight through as a single `options` argument, so
|
|
109
|
+
* the wire body IS the `DataQueryRequest` rather than a wrapper object.
|
|
110
|
+
*
|
|
111
|
+
* @param options Untrusted `DataQueryRequest` from the caller.
|
|
112
|
+
* @returns A validated, bounded `DataQueryResult`.
|
|
113
|
+
*/
|
|
114
|
+
queryAction(options: unknown): Promise<DataQueryResult>;
|
|
93
115
|
browseFacts(options?: {
|
|
94
116
|
q?: string;
|
|
95
117
|
query?: string;
|
package/dist/contents.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contents.d.ts","sourceRoot":"","sources":["../src/contents.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAQ,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"contents.d.ts","sourceRoot":"","sources":["../src/contents.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAQ,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAIjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAI/B;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IAG1C,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,KAAK,CAAC,EAAE,gBAAgB,GAAG,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;IAGnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,gCAAgC,CAAC,CAAC;CACvD;AAaD;;;;;;GAMG;AACH,qBAwCa,QAAS,SAAQ,cAAc,CAAC,OAAO,CAAC;IACnD;;OAEG;IACH,MAAM,CAAC,UAAU,iBAAW;IAE5B;;OAEG;IACI,OAAO,EAAE,eAAe,CAAyB;IAExD;;OAEG;IACI,UAAU,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACI,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEpC;;;;;;OAMG;gBACS,OAAO,GAAE,eAAoB;IAMzC;;;;OAIG;IACH,KAAK;IAIL;;;;OAIG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAK1B,iBAAiB;IAK/B;;;;;;;;;;;;;;;;;;;OAmBG;IACU,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAOvD,WAAW,CACtB,OAAO,GAAE;QACP,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAChC,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QACrC,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB;;;IA8CK,SAAS,CACpB,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB;;;;;;;;;;IA+BK,8BAA8B,CACzC,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuC/B,uBAAuB,CAClC,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB;IAUR;;;;;;;;;;;;OAYG;IACU,MAAM,CAAC,OAAO,EAAE;QAC3B,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB;;;;WAIG;QACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,qDAAqD;QACrD,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,sEAAsE;QACtE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;KAC1B;IAwDD;;;;;;;;OAQG;IACU,gBAAgB,CAAC,OAAO,EAAE;QACrC,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB;IA4DD;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAgBlB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IASxB;;;;;;;;;OASG;IACU,cAAc,CAAC,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAc5D;;;;;;;;;;;;;;;;;;OAkBG;IACU,yBAAyB,CACpC,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC;QACT,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,MAAM,EAAE,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrD,CAAC;IA0FF;;;;;;;;;;OAUG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIxD;;;;;;;;;;;;;OAaG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAItC;;;;;;;;;;;;;;;;OAgBG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAG5D"}
|
package/dist/index.d.ts
CHANGED
|
@@ -55,6 +55,8 @@ export type { ContentGovernanceProfileOptions } from './content-governance-profi
|
|
|
55
55
|
export { ContentGovernanceProfile } from './content-governance-profile';
|
|
56
56
|
export { ContentGovernanceProfileCollection } from './content-governance-profiles';
|
|
57
57
|
export { promptMessageOptions, smrtContentApplyCorrectionPrompt, smrtContentReviewPrompt, smrtContentThumbnailAIGeneratePrompt, } from './content-prompts';
|
|
58
|
+
export type { ContentQueryCollection, ContentQueryOptions, ContentQueryScope, } from './content-query';
|
|
59
|
+
export { assertContentQuerySchema, buildContentQuerySchema, buildDataQuerySchemaForClass, CONTENT_QUERY_CLASS_NAME, CONTENT_QUERY_DEFAULT_PAGE_LIMIT, CONTENT_QUERY_DEFAULT_SORT, CONTENT_QUERY_EXCLUDED_FIELD_IDS, CONTENT_QUERY_IDENTITY_FIELD, CONTENT_QUERY_MAX_PAGE_LIMIT, CONTENT_QUERY_MAX_RESULT_BYTES, CONTENT_QUERY_MIN_RESULT_BYTES, clearContentQuerySchemaCache, DATA_QUERY_FORBIDDEN_JSON_KEYS, DATA_QUERY_MAX_JSON_CONTAINER_ITEMS, DATA_QUERY_MAX_JSON_DEPTH, DATA_QUERY_MAX_JSON_STRING_LENGTH, DATA_QUERY_MAX_STRING_LENGTH, DATA_QUERY_MAX_WARNING_LENGTH, DATA_QUERY_MAX_WARNINGS, executeContentQuery, MAX_CONTENT_QUERY_OR_BRANCHES, mergeContentQueryScope, resolveContentTenantReadScope, } from './content-query';
|
|
58
60
|
export type { ContentReferenceOptions } from './content-reference';
|
|
59
61
|
export { ContentReference } from './content-reference';
|
|
60
62
|
export type { ContentReferencesOptions } from './content-references';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|