@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.
Files changed (34) hide show
  1. package/AGENTS.md +9 -86
  2. package/agents/content-list.md +869 -0
  3. package/dist/content-query.d.ts +310 -0
  4. package/dist/content-query.d.ts.map +1 -0
  5. package/dist/contents.d.ts +22 -0
  6. package/dist/contents.d.ts.map +1 -1
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +672 -4
  10. package/dist/index.js.map +1 -1
  11. package/dist/manifest.json +22 -2
  12. package/dist/smrt-knowledge.json +38 -5
  13. package/dist/svelte/components/ContentList.svelte +941 -30
  14. package/dist/svelte/components/ContentList.svelte.d.ts +44 -1
  15. package/dist/svelte/components/ContentList.svelte.d.ts.map +1 -1
  16. package/dist/svelte/content-list-controller.d.ts +98 -1
  17. package/dist/svelte/content-list-controller.d.ts.map +1 -1
  18. package/dist/svelte/content-list-controller.js +290 -19
  19. package/dist/svelte/content-list-query.d.ts +498 -0
  20. package/dist/svelte/content-list-query.d.ts.map +1 -0
  21. package/dist/svelte/content-list-query.js +1294 -0
  22. package/dist/svelte/content-list-saved-views.d.ts +172 -0
  23. package/dist/svelte/content-list-saved-views.d.ts.map +1 -0
  24. package/dist/svelte/content-list-saved-views.js +298 -0
  25. package/dist/svelte/content-list-url-state.d.ts +211 -0
  26. package/dist/svelte/content-list-url-state.d.ts.map +1 -0
  27. package/dist/svelte/content-list-url-state.js +856 -0
  28. package/dist/svelte/i18n.contribution.d.ts +24 -0
  29. package/dist/svelte/i18n.contribution.d.ts.map +1 -1
  30. package/dist/svelte/i18n.contribution.js +26 -0
  31. package/dist/svelte/index.d.ts +5 -1
  32. package/dist/svelte/index.d.ts.map +1 -1
  33. package/dist/svelte/index.js +8 -1
  34. 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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"}
@@ -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;
@@ -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;AAKxD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,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,qBAkCa,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;IAKlB,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"}
1
+ {"version":3,"file":"contents.d.ts","sourceRoot":"","sources":["../src/contents.ts"],"names":[],"mappings":"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"}
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';
@@ -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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"}