@dyrected/core 2.22.0 → 2.23.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/dist/{app-BBHBP-6V.d.cts → app-DregJnqR.d.cts} +121 -7
- package/dist/{app-BBHBP-6V.d.ts → app-DregJnqR.d.ts} +121 -7
- package/dist/index.cjs +219 -8
- package/dist/index.d.cts +36 -4
- package/dist/index.d.ts +36 -4
- package/dist/index.js +215 -8
- package/dist/server.cjs +89 -20
- package/dist/server.d.cts +2 -2
- package/dist/server.d.ts +2 -2
- package/dist/server.js +89 -20
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1793,6 +1793,7 @@ __export(index_exports, {
|
|
|
1793
1793
|
BUILTIN_JEXL_HELPERS: () => BUILTIN_JEXL_HELPERS,
|
|
1794
1794
|
CROCKFORD_BASE32: () => CROCKFORD_BASE32,
|
|
1795
1795
|
CURRENT_NAV_PREFERENCES_VERSION: () => CURRENT_NAV_PREFERENCES_VERSION,
|
|
1796
|
+
CUSTOM_VIEW_FETCH_ALL_LIMIT: () => CUSTOM_VIEW_FETCH_ALL_LIMIT,
|
|
1796
1797
|
ConfigValidationError: () => ConfigValidationError,
|
|
1797
1798
|
ConflictError: () => ConflictError,
|
|
1798
1799
|
DEFAULT_USER_NAV_PREFERENCES: () => DEFAULT_USER_NAV_PREFERENCES,
|
|
@@ -1844,6 +1845,7 @@ __export(index_exports, {
|
|
|
1844
1845
|
collectDeclarativeAccessValidationIssues: () => collectDeclarativeAccessValidationIssues,
|
|
1845
1846
|
collectDeclarativeHookValidationIssues: () => collectDeclarativeHookValidationIssues,
|
|
1846
1847
|
collectPreviewUrlValidationIssues: () => collectPreviewUrlValidationIssues,
|
|
1848
|
+
collectReferencedComponentKeys: () => collectReferencedComponentKeys,
|
|
1847
1849
|
compact: () => compact,
|
|
1848
1850
|
compileNavigation: () => compileNavigation,
|
|
1849
1851
|
count: () => count,
|
|
@@ -1864,6 +1866,7 @@ __export(index_exports, {
|
|
|
1864
1866
|
defineConfig: () => defineConfig,
|
|
1865
1867
|
defineCreatedAtField: () => defineCreatedAtField,
|
|
1866
1868
|
defineCreatedByField: () => defineCreatedByField,
|
|
1869
|
+
defineCustomView: () => defineCustomView,
|
|
1867
1870
|
defineDateField: () => defineDateField,
|
|
1868
1871
|
defineDateTimeField: () => defineDateTimeField,
|
|
1869
1872
|
defineEmailField: () => defineEmailField,
|
|
@@ -1879,6 +1882,7 @@ __export(index_exports, {
|
|
|
1879
1882
|
defineMultiSelectField: () => defineMultiSelectField,
|
|
1880
1883
|
defineNumberField: () => defineNumberField,
|
|
1881
1884
|
defineObjectField: () => defineObjectField,
|
|
1885
|
+
definePage: () => definePage,
|
|
1882
1886
|
definePublishingWorkflow: () => definePublishingWorkflow,
|
|
1883
1887
|
defineRadioField: () => defineRadioField,
|
|
1884
1888
|
defineRelationshipField: () => defineRelationshipField,
|
|
@@ -2041,9 +2045,19 @@ var LIFECYCLE_EVENT_NAMES = [
|
|
|
2041
2045
|
];
|
|
2042
2046
|
|
|
2043
2047
|
// src/types/views.ts
|
|
2048
|
+
var CUSTOM_VIEW_FETCH_ALL_LIMIT = 1e3;
|
|
2044
2049
|
function defineView(config) {
|
|
2050
|
+
assertCustomViewComponent(config);
|
|
2045
2051
|
return config;
|
|
2046
2052
|
}
|
|
2053
|
+
function assertCustomViewComponent(config) {
|
|
2054
|
+
if (config.layout !== "custom") return;
|
|
2055
|
+
if (typeof config.component !== "string" || config.component.trim() === "") {
|
|
2056
|
+
throw new Error(
|
|
2057
|
+
`View "${config.slug ?? "(unnamed)"}" uses layout: "custom" but has no \`component\`. Set \`component\` to a key registered in AdminComponents.viewLayouts.`
|
|
2058
|
+
);
|
|
2059
|
+
}
|
|
2060
|
+
}
|
|
2047
2061
|
function defineTableView(config) {
|
|
2048
2062
|
return config;
|
|
2049
2063
|
}
|
|
@@ -2056,6 +2070,10 @@ function defineCalendarView(config) {
|
|
|
2056
2070
|
function defineGanttView(config) {
|
|
2057
2071
|
return config;
|
|
2058
2072
|
}
|
|
2073
|
+
function defineCustomView(config) {
|
|
2074
|
+
assertCustomViewComponent(config);
|
|
2075
|
+
return config;
|
|
2076
|
+
}
|
|
2059
2077
|
function defineCardsView(config) {
|
|
2060
2078
|
return config;
|
|
2061
2079
|
}
|
|
@@ -2112,6 +2130,23 @@ var DEFAULT_USER_NAV_PREFERENCES = {
|
|
|
2112
2130
|
items: []
|
|
2113
2131
|
};
|
|
2114
2132
|
|
|
2133
|
+
// src/types/pages.ts
|
|
2134
|
+
function definePage(config) {
|
|
2135
|
+
return {
|
|
2136
|
+
slug: config.slug,
|
|
2137
|
+
label: config.label,
|
|
2138
|
+
icon: config.icon,
|
|
2139
|
+
group: config.group,
|
|
2140
|
+
order: config.order,
|
|
2141
|
+
after: config.after,
|
|
2142
|
+
before: config.before,
|
|
2143
|
+
position: config.position,
|
|
2144
|
+
badge: config.badge,
|
|
2145
|
+
access: config.access && typeof config.access === "object" && "read" in config.access ? config.access.read : config.access,
|
|
2146
|
+
page: config
|
|
2147
|
+
};
|
|
2148
|
+
}
|
|
2149
|
+
|
|
2115
2150
|
// src/auth/token.ts
|
|
2116
2151
|
var import_jose = require("jose");
|
|
2117
2152
|
|
|
@@ -5441,6 +5476,12 @@ var DuplicateKeyError = class _DuplicateKeyError extends ConflictError {
|
|
|
5441
5476
|
function assertNever(op, context) {
|
|
5442
5477
|
throw new Error(`[dyrected/core] Unhandled where operator "${op}" in ${context}`);
|
|
5443
5478
|
}
|
|
5479
|
+
function escapeLike(value) {
|
|
5480
|
+
return value.replace(/[!%_]/g, "!$&");
|
|
5481
|
+
}
|
|
5482
|
+
function escapeRegex(value) {
|
|
5483
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
5484
|
+
}
|
|
5444
5485
|
function parseSqlWhere(where, getJsonField, placeholder = "?", likeOperator = placeholder === "pg" ? "ILIKE" : "LIKE") {
|
|
5445
5486
|
const params = [];
|
|
5446
5487
|
let pgIndex = 1;
|
|
@@ -5450,6 +5491,19 @@ function parseSqlWhere(where, getJsonField, placeholder = "?", likeOperator = pl
|
|
|
5450
5491
|
function col(field) {
|
|
5451
5492
|
return field === "id" ? "id" : getJsonField(field);
|
|
5452
5493
|
}
|
|
5494
|
+
function buildLike(column, pattern, escaped = false) {
|
|
5495
|
+
const esc = escaped ? ` ESCAPE '!'` : "";
|
|
5496
|
+
if (placeholder === "pg") {
|
|
5497
|
+
params.push(pattern);
|
|
5498
|
+
return `(${column})::text ${likeOperator} ${next()}${esc}`;
|
|
5499
|
+
}
|
|
5500
|
+
if (likeOperator === "ILIKE") {
|
|
5501
|
+
params.push(pattern);
|
|
5502
|
+
return `${column} ILIKE ${next()}${esc}`;
|
|
5503
|
+
}
|
|
5504
|
+
params.push(pattern.toLowerCase());
|
|
5505
|
+
return `LOWER(${column}) LIKE ${next()}${esc}`;
|
|
5506
|
+
}
|
|
5453
5507
|
function buildOperator(field, value) {
|
|
5454
5508
|
const c = col(field);
|
|
5455
5509
|
const isJsonExtract = c.startsWith("data->>") || c.startsWith("json_extract(") || c.startsWith("JSON_UNQUOTE(");
|
|
@@ -5592,13 +5646,12 @@ function parseSqlWhere(where, getJsonField, placeholder = "?", likeOperator = pl
|
|
|
5592
5646
|
case "less_than_or_equal":
|
|
5593
5647
|
params.push(operand);
|
|
5594
5648
|
return `${c} <= ${next()}`;
|
|
5595
|
-
case "contains":
|
|
5596
5649
|
case "like":
|
|
5597
|
-
|
|
5598
|
-
|
|
5650
|
+
return buildLike(c, `%${String(operand)}%`);
|
|
5651
|
+
case "contains":
|
|
5652
|
+
return buildLike(c, `%${escapeLike(String(operand))}%`, true);
|
|
5599
5653
|
case "starts_with":
|
|
5600
|
-
|
|
5601
|
-
return placeholder === "pg" ? `(${c})::text ${likeOperator} ${next()}` : `${c} ${likeOperator} ${next()}`;
|
|
5654
|
+
return buildLike(c, `${escapeLike(String(operand))}%`, true);
|
|
5602
5655
|
case "exists":
|
|
5603
5656
|
return operand ? `${c} IS NOT NULL` : `${c} IS NULL`;
|
|
5604
5657
|
default:
|
|
@@ -5696,9 +5749,9 @@ function parseMongoWhere(where) {
|
|
|
5696
5749
|
return { [field]: { $lte: operand } };
|
|
5697
5750
|
case "contains":
|
|
5698
5751
|
case "like":
|
|
5699
|
-
return { [field]: { $regex: operand, $options: "i" } };
|
|
5752
|
+
return { [field]: { $regex: escapeRegex(String(operand)), $options: "i" } };
|
|
5700
5753
|
case "starts_with":
|
|
5701
|
-
return { [field]: { $regex: `^${operand}`, $options: "i" } };
|
|
5754
|
+
return { [field]: { $regex: `^${escapeRegex(String(operand))}`, $options: "i" } };
|
|
5702
5755
|
case "exists":
|
|
5703
5756
|
return { [field]: { $exists: operand } };
|
|
5704
5757
|
default:
|
|
@@ -5808,6 +5861,96 @@ function buildSqlOrderBy(sort, existingColumns, numericFields, dialect) {
|
|
|
5808
5861
|
}).join(", ");
|
|
5809
5862
|
}
|
|
5810
5863
|
|
|
5864
|
+
// src/utils/component-keys.ts
|
|
5865
|
+
var DASHBOARD_SLOTS = ["beforeDashboard", "afterDashboard"];
|
|
5866
|
+
var LIST_SLOTS = ["beforeList", "beforeListTable", "afterListTable", "afterList"];
|
|
5867
|
+
var VIEW_SLOTS = ["beforeViewHeader", "afterViewHeader", "beforeViewContent", "afterViewContent"];
|
|
5868
|
+
function addKeys(target, value) {
|
|
5869
|
+
for (const key of Array.isArray(value) ? value : [value]) {
|
|
5870
|
+
if (typeof key === "string" && key) target.add(key);
|
|
5871
|
+
}
|
|
5872
|
+
}
|
|
5873
|
+
function addSlots(target, slots, names) {
|
|
5874
|
+
if (!slots || typeof slots !== "object") return;
|
|
5875
|
+
for (const name of names) addKeys(target, slots[name]);
|
|
5876
|
+
}
|
|
5877
|
+
function scanFields(fields, keys) {
|
|
5878
|
+
if (!Array.isArray(fields)) return;
|
|
5879
|
+
for (const field of fields) {
|
|
5880
|
+
if (!field || typeof field !== "object") continue;
|
|
5881
|
+
addKeys(keys.fields, field.admin?.component);
|
|
5882
|
+
scanFields(field.fields, keys);
|
|
5883
|
+
if (Array.isArray(field.blocks)) {
|
|
5884
|
+
for (const block of field.blocks) scanFields(block?.fields, keys);
|
|
5885
|
+
}
|
|
5886
|
+
if (Array.isArray(field.tabs)) {
|
|
5887
|
+
for (const tab of field.tabs) scanFields(tab?.fields, keys);
|
|
5888
|
+
}
|
|
5889
|
+
}
|
|
5890
|
+
}
|
|
5891
|
+
function scanDetail(items, keys) {
|
|
5892
|
+
if (!Array.isArray(items)) return;
|
|
5893
|
+
for (const item of items) {
|
|
5894
|
+
if (!item || typeof item !== "object") continue;
|
|
5895
|
+
if (item.type === "custom") addKeys(keys.customComponents, item.name);
|
|
5896
|
+
scanDetail(item.items, keys);
|
|
5897
|
+
if (Array.isArray(item.tabs)) {
|
|
5898
|
+
for (const tab of item.tabs) scanDetail(tab?.items, keys);
|
|
5899
|
+
}
|
|
5900
|
+
}
|
|
5901
|
+
}
|
|
5902
|
+
function scanViews(views, keys) {
|
|
5903
|
+
if (!Array.isArray(views)) return;
|
|
5904
|
+
for (const view of views) {
|
|
5905
|
+
addSlots(keys.collectionView, view?.components, VIEW_SLOTS);
|
|
5906
|
+
if (view?.layout === "custom") addKeys(keys.viewLayouts, view.component);
|
|
5907
|
+
}
|
|
5908
|
+
}
|
|
5909
|
+
function collectReferencedComponentKeys(schema) {
|
|
5910
|
+
const keys = {
|
|
5911
|
+
fields: /* @__PURE__ */ new Set(),
|
|
5912
|
+
dashboard: /* @__PURE__ */ new Set(),
|
|
5913
|
+
collectionList: /* @__PURE__ */ new Set(),
|
|
5914
|
+
collectionView: /* @__PURE__ */ new Set(),
|
|
5915
|
+
forms: /* @__PURE__ */ new Set(),
|
|
5916
|
+
viewLayouts: /* @__PURE__ */ new Set(),
|
|
5917
|
+
pages: /* @__PURE__ */ new Set(),
|
|
5918
|
+
customComponents: /* @__PURE__ */ new Set()
|
|
5919
|
+
};
|
|
5920
|
+
const root = schema;
|
|
5921
|
+
if (!root || typeof root !== "object") return keys;
|
|
5922
|
+
addSlots(keys.dashboard, root.admin?.components, DASHBOARD_SLOTS);
|
|
5923
|
+
if (Array.isArray(root.admin?.navigation)) {
|
|
5924
|
+
for (const item of root.admin.navigation) {
|
|
5925
|
+
if (item?.page) {
|
|
5926
|
+
if (typeof item.page === "string") {
|
|
5927
|
+
addKeys(keys.pages, item.page);
|
|
5928
|
+
} else if (item.page?.component) {
|
|
5929
|
+
addKeys(keys.pages, item.page.component);
|
|
5930
|
+
}
|
|
5931
|
+
}
|
|
5932
|
+
}
|
|
5933
|
+
}
|
|
5934
|
+
if (Array.isArray(root.admin?.pages)) {
|
|
5935
|
+
for (const page of root.admin.pages) addKeys(keys.pages, page?.component);
|
|
5936
|
+
}
|
|
5937
|
+
for (const block of root.blocks ?? []) scanFields(block?.fields, keys);
|
|
5938
|
+
for (const collection of root.collections ?? []) {
|
|
5939
|
+
scanFields(collection.fields, keys);
|
|
5940
|
+
scanDetail(collection.detail, keys);
|
|
5941
|
+
scanViews(collection.views, keys);
|
|
5942
|
+
const slots = collection.admin?.components;
|
|
5943
|
+
addSlots(keys.collectionList, slots, LIST_SLOTS);
|
|
5944
|
+
addSlots(keys.collectionView, slots, VIEW_SLOTS);
|
|
5945
|
+
addSlots(keys.collectionView, slots?.collectionView, VIEW_SLOTS);
|
|
5946
|
+
}
|
|
5947
|
+
for (const global of root.globals ?? []) {
|
|
5948
|
+
scanFields(global.fields, keys);
|
|
5949
|
+
scanDetail(global.detail, keys);
|
|
5950
|
+
}
|
|
5951
|
+
return keys;
|
|
5952
|
+
}
|
|
5953
|
+
|
|
5811
5954
|
// src/utils/openapi.ts
|
|
5812
5955
|
function getCollectionLabels(collection) {
|
|
5813
5956
|
return collection.labels || { singular: collection.slug, plural: collection.slug };
|
|
@@ -8295,11 +8438,32 @@ var RESERVED_NAVIGATION_SLUGS = /* @__PURE__ */ new Set([
|
|
|
8295
8438
|
"admin",
|
|
8296
8439
|
"preferences",
|
|
8297
8440
|
"auth",
|
|
8298
|
-
"trash"
|
|
8441
|
+
"trash",
|
|
8442
|
+
"pages"
|
|
8299
8443
|
]);
|
|
8300
8444
|
function assertValidNavigationSlugs(navigation) {
|
|
8445
|
+
const seenWorkspaceSlugs = /* @__PURE__ */ new Set();
|
|
8446
|
+
const seenPageSlugs = /* @__PURE__ */ new Set();
|
|
8301
8447
|
for (const item of navigation) {
|
|
8302
8448
|
if (item.dashboard || item.trash) continue;
|
|
8449
|
+
if (item.page) {
|
|
8450
|
+
const pageSlug = typeof item.page === "string" ? item.slug || item.page : item.slug || item.page.slug;
|
|
8451
|
+
if (pageSlug) {
|
|
8452
|
+
const normalized = pageSlug.toLowerCase().trim().replace(/^\//, "");
|
|
8453
|
+
if (RESERVED_NAVIGATION_SLUGS.has(normalized)) {
|
|
8454
|
+
throw new Error(
|
|
8455
|
+
`[Dyrected Config] The slug '${pageSlug}' in custom page '${item.label || pageSlug}' is a reserved system path and cannot be used as a page slug.`
|
|
8456
|
+
);
|
|
8457
|
+
}
|
|
8458
|
+
if (seenPageSlugs.has(normalized)) {
|
|
8459
|
+
throw new Error(
|
|
8460
|
+
`[Dyrected Config] Duplicate page slug '${pageSlug}' in navigation. Page slugs must be unique.`
|
|
8461
|
+
);
|
|
8462
|
+
}
|
|
8463
|
+
seenPageSlugs.add(normalized);
|
|
8464
|
+
}
|
|
8465
|
+
continue;
|
|
8466
|
+
}
|
|
8303
8467
|
if (item.slug) {
|
|
8304
8468
|
const normalizedSlug = item.slug.toLowerCase().trim().replace(/^\//, "");
|
|
8305
8469
|
if (RESERVED_NAVIGATION_SLUGS.has(normalizedSlug)) {
|
|
@@ -8307,6 +8471,12 @@ function assertValidNavigationSlugs(navigation) {
|
|
|
8307
8471
|
`[Dyrected Config] The slug '${item.slug}' in navigation item '${item.label || item.slug}' is a reserved system path and cannot be used as an operational workspace slug.`
|
|
8308
8472
|
);
|
|
8309
8473
|
}
|
|
8474
|
+
if (seenWorkspaceSlugs.has(normalizedSlug)) {
|
|
8475
|
+
throw new Error(
|
|
8476
|
+
`[Dyrected Config] Duplicate workspace slug '${item.slug}' in navigation. Workspace slugs must be unique.`
|
|
8477
|
+
);
|
|
8478
|
+
}
|
|
8479
|
+
seenWorkspaceSlugs.add(normalizedSlug);
|
|
8310
8480
|
}
|
|
8311
8481
|
}
|
|
8312
8482
|
}
|
|
@@ -8449,6 +8619,43 @@ function compileNavigation(config) {
|
|
|
8449
8619
|
});
|
|
8450
8620
|
continue;
|
|
8451
8621
|
}
|
|
8622
|
+
if (item.page) {
|
|
8623
|
+
const pageConfig = typeof item.page === "string" ? {
|
|
8624
|
+
slug: item.slug || item.page,
|
|
8625
|
+
label: item.label || item.page,
|
|
8626
|
+
icon: item.icon,
|
|
8627
|
+
component: item.page,
|
|
8628
|
+
group: typeof item.group === "string" ? item.group : item.group?.name,
|
|
8629
|
+
order: item.order,
|
|
8630
|
+
badge: item.badge,
|
|
8631
|
+
access: item.access
|
|
8632
|
+
} : {
|
|
8633
|
+
...item.page,
|
|
8634
|
+
slug: item.slug || item.page.slug || "page",
|
|
8635
|
+
label: item.label || item.page.label || item.slug || "Page",
|
|
8636
|
+
icon: item.icon || item.page.icon,
|
|
8637
|
+
group: item.group ? typeof item.group === "string" ? item.group : item.group?.name : item.page.group,
|
|
8638
|
+
order: item.order ?? item.page.order,
|
|
8639
|
+
badge: item.badge || item.page.badge,
|
|
8640
|
+
access: item.access || (item.page.access && typeof item.page.access === "object" && "read" in item.page.access ? item.page.access.read : item.page.access)
|
|
8641
|
+
};
|
|
8642
|
+
const pageSlug = pageConfig.slug || "page";
|
|
8643
|
+
registerItem(groupName, {
|
|
8644
|
+
id: `page:${pageSlug}`,
|
|
8645
|
+
type: "page",
|
|
8646
|
+
slug: pageSlug,
|
|
8647
|
+
label: pageConfig.label || pageSlug,
|
|
8648
|
+
icon: pageConfig.icon || "FileText",
|
|
8649
|
+
href: `/pages/${pageSlug}`,
|
|
8650
|
+
group: groupName,
|
|
8651
|
+
order: pageConfig.order ?? 100,
|
|
8652
|
+
views: [],
|
|
8653
|
+
badge: pageConfig.badge,
|
|
8654
|
+
access: pageConfig.access && typeof pageConfig.access === "object" && "read" in pageConfig.access ? pageConfig.access.read : pageConfig.access,
|
|
8655
|
+
page: pageConfig
|
|
8656
|
+
});
|
|
8657
|
+
continue;
|
|
8658
|
+
}
|
|
8452
8659
|
const workspaceSlug = item.slug || "workspace";
|
|
8453
8660
|
registerItem(groupName, {
|
|
8454
8661
|
id: `workspace_${workspaceSlug}`,
|
|
@@ -8831,6 +9038,7 @@ function defineTab(args) {
|
|
|
8831
9038
|
BUILTIN_JEXL_HELPERS,
|
|
8832
9039
|
CROCKFORD_BASE32,
|
|
8833
9040
|
CURRENT_NAV_PREFERENCES_VERSION,
|
|
9041
|
+
CUSTOM_VIEW_FETCH_ALL_LIMIT,
|
|
8834
9042
|
ConfigValidationError,
|
|
8835
9043
|
ConflictError,
|
|
8836
9044
|
DEFAULT_USER_NAV_PREFERENCES,
|
|
@@ -8882,6 +9090,7 @@ function defineTab(args) {
|
|
|
8882
9090
|
collectDeclarativeAccessValidationIssues,
|
|
8883
9091
|
collectDeclarativeHookValidationIssues,
|
|
8884
9092
|
collectPreviewUrlValidationIssues,
|
|
9093
|
+
collectReferencedComponentKeys,
|
|
8885
9094
|
compact,
|
|
8886
9095
|
compileNavigation,
|
|
8887
9096
|
count,
|
|
@@ -8902,6 +9111,7 @@ function defineTab(args) {
|
|
|
8902
9111
|
defineConfig,
|
|
8903
9112
|
defineCreatedAtField,
|
|
8904
9113
|
defineCreatedByField,
|
|
9114
|
+
defineCustomView,
|
|
8905
9115
|
defineDateField,
|
|
8906
9116
|
defineDateTimeField,
|
|
8907
9117
|
defineEmailField,
|
|
@@ -8917,6 +9127,7 @@ function defineTab(args) {
|
|
|
8917
9127
|
defineMultiSelectField,
|
|
8918
9128
|
defineNumberField,
|
|
8919
9129
|
defineObjectField,
|
|
9130
|
+
definePage,
|
|
8920
9131
|
definePublishingWorkflow,
|
|
8921
9132
|
defineRadioField,
|
|
8922
9133
|
defineRelationshipField,
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { F as Field, B as Block, C as CollectionConfig, D as DyrectedConfig, A as AdminAuthConfig, P as PublicAdminAuthConfig, G as GlobalConfig, a as DeclarativeHookExpression, W as WorkflowConfig, b as AuthenticatedUser, c as WorkflowTransition, L as LifecycleEventName, d as LifecycleEvent, e as DatabaseAdapter, f as BaseDocument, H as HookRequestContext, T as TaskRunResult, g as TaskConfig, h as DetailActionOptions, i as DetailAction, j as DetailComputedOptions, k as ComputedHandler, l as DetailComputed, m as DetailCustomOptions, n as DetailCustom, o as DetailDividerOptions, p as DetailDivider, q as DisplayFieldOptions, r as DetailField, s as DetailItem, t as DetailGridOptions, u as DetailGrid, v as DetailRepeatOptions, w as DetailRepeat, x as DetailSectionOptions, y as DetailSection, z as DetailTabOptions, E as DetailTab, I as DetailTabsOptions, J as DetailTabs, K as DetailTextOptions, M as DetailText, N as DetailSchema, O as DyrectedContext, Q as AIConfig, R as AIPIIConfig, S as IdStrategy, U as CompiledNavTree, V as CompiledNavItem, X as UserNavigationPreferences, Y as DefineWorkspaceOptions, Z as ViewConfig, _ as DateTimeField, $ as RelationshipField, a0 as SelectField, a1 as ArrayField, a2 as FieldType, a3 as BooleanField, a4 as AuthConfig, a5 as AccessPolicyResolver, a6 as DateField, a7 as TextField, a8 as EmailField, a9 as IconField, aa as ImageField, ab as JoinField, ac as JsonField, ad as MoneyField, ae as MultiSelectField, af as NumberField, ag as ObjectField, ah as RadioField, ai as RichTextField, aj as RowField, ak as TextareaField, al as TimeField, am as UrlField } from './app-
|
|
2
|
-
export { an as AIAction, ao as AIActionStatus, ap as AIActionType, aq as AIAuditActionType, ar as AIAuditRecord, as as AIChunk, at as AIMessage, au as AIPIIPattern, av as AIRateLimitResult, aw as AIRateLimitStore, ax as AIThread, ay as AIToolContext, az as AIToolDefinition, aA as AI_ACTIONS_COLLECTION, aB as AI_AUDIT_COLLECTION, aC as AI_CHUNKS_COLLECTION, aD as AI_MESSAGES_COLLECTION, aE as AI_THREADS_COLLECTION, aF as AccessConfig, aG as AccessFunction, aH as AccessFunctionArgs, aI as AccessResult, aJ as AccessRule, aK as ActionConfig, aL as ActionConfigBase, aM as ActionConfigWithHandler, aN as ActionConfigWithMutation, aO as ActionContext, aP as ActionType, aQ as AdminAuthAccessResolution, aR as AdminAuthClaimMapping, aS as AdminAuthMember, aT as AdminAuthProvider, aU as AdminAuthProviderMembersConfig, aV as AdminAuthProvisioningMode, aW as AdminAuthResolveAccessArgs, aX as AdminAuthResolvedIdentity, aY as AdminConfig, aZ as AdminDashboardComponentSlots, a_ as AdminIconName, a$ as AggregateArgs, b0 as AggregateCastType, b1 as AggregateCollectionResult, b2 as AggregateInput, b3 as AggregateOperation, b4 as AggregateResult, b5 as AppTrashConfig, b6 as BaseAdminAuthProvider, b7 as BaseFieldAdmin, b8 as BlockVariant, b9 as BlocksField, ba as BooleanFieldAdmin, bb as BooleanFormat, bc as CURRENT_NAV_PREFERENCES_VERSION, bd as
|
|
1
|
+
import { F as Field, B as Block, C as CollectionConfig, D as DyrectedConfig, A as AdminAuthConfig, P as PublicAdminAuthConfig, G as GlobalConfig, a as DeclarativeHookExpression, W as WorkflowConfig, b as AuthenticatedUser, c as WorkflowTransition, L as LifecycleEventName, d as LifecycleEvent, e as DatabaseAdapter, f as BaseDocument, H as HookRequestContext, T as TaskRunResult, g as TaskConfig, h as DetailActionOptions, i as DetailAction, j as DetailComputedOptions, k as ComputedHandler, l as DetailComputed, m as DetailCustomOptions, n as DetailCustom, o as DetailDividerOptions, p as DetailDivider, q as DisplayFieldOptions, r as DetailField, s as DetailItem, t as DetailGridOptions, u as DetailGrid, v as DetailRepeatOptions, w as DetailRepeat, x as DetailSectionOptions, y as DetailSection, z as DetailTabOptions, E as DetailTab, I as DetailTabsOptions, J as DetailTabs, K as DetailTextOptions, M as DetailText, N as DetailSchema, O as DyrectedContext, Q as AIConfig, R as AIPIIConfig, S as IdStrategy, U as CompiledNavTree, V as CompiledNavItem, X as UserNavigationPreferences, Y as DefineWorkspaceOptions, Z as ViewConfig, _ as DateTimeField, $ as RelationshipField, a0 as SelectField, a1 as ArrayField, a2 as FieldType, a3 as BooleanField, a4 as AuthConfig, a5 as AccessPolicyResolver, a6 as DateField, a7 as TextField, a8 as EmailField, a9 as IconField, aa as ImageField, ab as JoinField, ac as JsonField, ad as MoneyField, ae as MultiSelectField, af as NumberField, ag as ObjectField, ah as RadioField, ai as RichTextField, aj as RowField, ak as TextareaField, al as TimeField, am as UrlField } from './app-DregJnqR.cjs';
|
|
2
|
+
export { an as AIAction, ao as AIActionStatus, ap as AIActionType, aq as AIAuditActionType, ar as AIAuditRecord, as as AIChunk, at as AIMessage, au as AIPIIPattern, av as AIRateLimitResult, aw as AIRateLimitStore, ax as AIThread, ay as AIToolContext, az as AIToolDefinition, aA as AI_ACTIONS_COLLECTION, aB as AI_AUDIT_COLLECTION, aC as AI_CHUNKS_COLLECTION, aD as AI_MESSAGES_COLLECTION, aE as AI_THREADS_COLLECTION, aF as AccessConfig, aG as AccessFunction, aH as AccessFunctionArgs, aI as AccessResult, aJ as AccessRule, aK as ActionConfig, aL as ActionConfigBase, aM as ActionConfigWithHandler, aN as ActionConfigWithMutation, aO as ActionContext, aP as ActionType, aQ as AdminAuthAccessResolution, aR as AdminAuthClaimMapping, aS as AdminAuthMember, aT as AdminAuthProvider, aU as AdminAuthProviderMembersConfig, aV as AdminAuthProvisioningMode, aW as AdminAuthResolveAccessArgs, aX as AdminAuthResolvedIdentity, aY as AdminConfig, aZ as AdminDashboardComponentSlots, a_ as AdminIconName, a$ as AggregateArgs, b0 as AggregateCastType, b1 as AggregateCollectionResult, b2 as AggregateInput, b3 as AggregateOperation, b4 as AggregateResult, b5 as AppTrashConfig, b6 as BaseAdminAuthProvider, b7 as BaseFieldAdmin, b8 as BlockVariant, b9 as BlocksField, ba as BooleanFieldAdmin, bb as BooleanFormat, bc as CURRENT_NAV_PREFERENCES_VERSION, bd as CUSTOM_VIEW_FETCH_ALL_LIMIT, be as CalendarViewConfig, bf as CardsViewConfig, bg as CharacterLimitFieldAdmin, bh as CharacterLimitFieldConfig, bi as CollectionAfterChangeHook, bj as CollectionAfterDeleteHook, bk as CollectionAfterReadHook, bl as CollectionAfterReadHookEntry, bm as CollectionAfterRestoreHook, bn as CollectionAfterTransitionHook, bo as CollectionAfterTrashHook, bp as CollectionBeforeChangeHook, bq as CollectionBeforeChangeHookEntry, br as CollectionBeforeCommitHook, bs as CollectionBeforeDeleteHook, bt as CollectionBeforeReadHook, bu as CollectionBeforeReadHookEntry, bv as CollectionBeforeRestoreHook, bw as CollectionBeforeTransitionHook, bx as CollectionBeforeTrashHook, by as CollectionEmailConfig, bz as CollectionIndex, bA as CollectionListComponentSlots, bB as CollectionRAGConfig, bC as CollectionSchemaResult, bD as CollectionSummaryResult, bE as CollectionViewComponentSlots, bF as CompiledNavGroup, bG as CountOperation, bH as CustomAdminAuthProvider, bI as CustomViewConfig, bJ as CustomViewDataConfig, bK as DEFAULT_USER_NAV_PREFERENCES, bL as DateFieldAdmin, bM as DateFormat, bN as DefaultValueContext, bO as DefineActionOptions, bP as DefineCalendarViewOptions, bQ as DefineCardsViewOptions, bR as DefineCustomViewOptions, bS as DefineGanttViewOptions, bT as DefineKanbanViewOptions, bU as DefinePageInput, bV as DefineTableViewOptions, bW as DefineViewBaseOptions, bX as DefineViewOptions, bY as DetailSpan, bZ as DisplayTone, b_ as DisplayVariant, b$ as DistinctCountOperation, c0 as DistinctValuesOperation, c1 as DynamicOptionItem, c2 as DynamicOptionsConfig, c3 as DynamicOptionsResolver, c4 as DynamicOptionsResolverArgs, c5 as DyrectedAIContext, c6 as DyrectedLoggerConfig, c7 as DyrectedObservabilityConfig, c8 as EmailFieldAdmin, c9 as EmailTemplateArgs, ca as EmailTemplateResult, cb as FieldAdminHooks, cc as FieldAdminOnChangeHook, cd as FieldAdminOnChangeHookArgs, ce as FieldAdminOptionsHook, cf as FieldAdminOptionsHookArgs, cg as FieldAdminOptionsHookResult, ch as FieldAfterReadHook, ci as FieldAfterReadHookArgs, cj as FieldBase, ck as FieldBeforeChangeHook, cl as FieldBeforeChangeHookArgs, cm as FieldHook, cn as FieldHooks, co as FileData, cp as GanttViewConfig, cq as GetDocumentResult, cr as GlobalAfterChangeHook, cs as GlobalAfterReadHook, ct as GlobalAfterReadHookEntry, cu as GlobalBeforeChangeHook, cv as GlobalBeforeChangeHookEntry, cw as GlobalBeforeReadHook, cx as GlobalBeforeReadHookEntry, cy as GlobalRAGConfig, cz as GlobalSchemaResult, cA as GlobalSummaryResult, cB as HeadingLevel, cC as HookFunction, cD as IconFieldAdmin, cE as ImageService, cF as ImageTransformOptions, cG as InferAggregateResult, cH as JoinFieldAdmin, cI as JsonFieldAdmin, cJ as JsonFormat, cK as KanbanViewConfig, cL as LIFECYCLE_EVENT_NAMES, cM as LifecycleEventHandler, cN as LinkFormat, cO as MetricColor, cP as MoneyFieldAdmin, cQ as MoneyFieldConfig, cR as MultiSelectFieldAdmin, cS as NamedAccessPolicy, cT as NavBadgeConfig, cU as NavGroup, cV as NumberFieldAdmin, cW as NumberFormat, cX as NumberLimitFieldAdmin, cY as NumberLimitFieldConfig, cZ as NumericOperation, c_ as NumericUpdateOperator, c$ as OIDCAdminAuthProvider, d0 as OptionFormat, d1 as OutboundEmail, d2 as PageAction, d3 as PageBreadcrumbItem, d4 as PageConfig, d5 as PaginatedResult, d6 as PinnedNavItemRef, d7 as PublicAdminAuthProvider, d8 as QueryCollectionResult, d9 as RAGSearchResult, da as RadioFieldAdmin, db as RateLimitConfig, dc as ReadonlyDatabaseAdapter, dd as RichTextFeature, de as RichTextFieldConfig, df as SelectFieldAdmin, dg as SqlWhereResult, dh as StorageAdapter, di as TableViewConfig, dj as TaskContext, dk as TaskLogger, dl as TaskRunStatus, dm as TextFieldAdmin, dn as TextFormat, dp as TextareaFieldAdmin, dq as TrashConfig, dr as TrustProxyConfig, ds as TypedField, dt as UploadConfig, du as UrlFieldAdmin, dv as UrlLinkValue, dw as ViewActionFeatures, dx as ViewComponentSlots, dy as ViewConfigBase, dz as ViewLayout, dA as ViewMetric, dB as ViewMetricGroupBy, dC as ViewMetricGroupByConfig, dD as ViewMetricTrendConfig, dE as ViewSubMetric, dF as WhereClause, dG as WhereOperator, dH as WhereOperatorName, dI as WordLimitFieldAdmin, dJ as WordLimitFieldConfig, dK as WorkflowMetadata, dL as WorkflowOnTransitionContext, dM as WorkflowOnTransitionHook, dN as WorkflowRole, dO as WorkflowState, dP as WorkflowTransitionContext, dQ as coerceBooleanWhere, dR as defineAction, dS as defineCalendarView, dT as defineCardsView, dU as defineCustomView, dV as defineGanttView, dW as defineKanbanView, dX as definePage, dY as defineTableView, dZ as defineView, d_ as defineWorkspace, d$ as isAICollection, e0 as parseMongoWhere, e1 as parseSqlWhere } from './app-DregJnqR.cjs';
|
|
3
3
|
import jexl from 'jexl';
|
|
4
4
|
import { Context } from 'hono';
|
|
5
5
|
export { z } from 'zod';
|
|
@@ -318,6 +318,38 @@ declare function isConfigValidationError(error: unknown): error is ConfigValidat
|
|
|
318
318
|
declare function assertValidDeclarativeHooksInConfig(config: DeclarativeValidationConfig, source?: string): void;
|
|
319
319
|
declare function assertValidDeclarativeAccessInConfig(config: DeclarativeValidationConfig, source?: string): void;
|
|
320
320
|
|
|
321
|
+
/**
|
|
322
|
+
* Component keys a schema references, grouped by the `AdminComponents`
|
|
323
|
+
* registry that must supply them.
|
|
324
|
+
*
|
|
325
|
+
* Registration happens in the host app's admin bundle, so this scan is the
|
|
326
|
+
* single source of truth for both type generation (CLI) and the admin's
|
|
327
|
+
* unused-registration warning.
|
|
328
|
+
*/
|
|
329
|
+
interface ReferencedComponentKeys {
|
|
330
|
+
/** `field.admin.component` keys, resolved against `components.fields`. */
|
|
331
|
+
fields: Set<string>;
|
|
332
|
+
/** `admin.components.before/afterDashboard` keys. */
|
|
333
|
+
dashboard: Set<string>;
|
|
334
|
+
/** `collection.admin.components` list slots. */
|
|
335
|
+
collectionList: Set<string>;
|
|
336
|
+
/** Operational view slots (`collectionView` and per-view `components`). */
|
|
337
|
+
collectionView: Set<string>;
|
|
338
|
+
/** Reserved for custom document forms (spec 2). Empty until config can reference them. */
|
|
339
|
+
forms: Set<string>;
|
|
340
|
+
/** `component` of views with `layout: "custom"`. */
|
|
341
|
+
viewLayouts: Set<string>;
|
|
342
|
+
/** `admin.pages[].component` keys. */
|
|
343
|
+
pages: Set<string>;
|
|
344
|
+
/** `displayCustom(name)` keys used in Detail View layouts. */
|
|
345
|
+
customComponents: Set<string>;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Collects every component key a schema (or a `DyrectedConfig`) references.
|
|
349
|
+
* Tolerant of partial or unknown shapes: anything unrecognised is skipped.
|
|
350
|
+
*/
|
|
351
|
+
declare function collectReferencedComponentKeys(schema: unknown): ReferencedComponentKeys;
|
|
352
|
+
|
|
321
353
|
/**
|
|
322
354
|
* Transforms a string into a clean, URL-safe slug.
|
|
323
355
|
* Strips accents, lowercases, removes non-alphanumeric characters, and hyphens whitespace.
|
|
@@ -1522,7 +1554,7 @@ declare function reconcileNavigation(baseTree: CompiledNavTree | null | undefine
|
|
|
1522
1554
|
*/
|
|
1523
1555
|
declare const RESERVED_NAVIGATION_SLUGS: Set<string>;
|
|
1524
1556
|
/**
|
|
1525
|
-
* Validates that no navigation item uses a reserved system route slug.
|
|
1557
|
+
* Validates that no navigation item uses a reserved system route slug or duplicate slug.
|
|
1526
1558
|
*/
|
|
1527
1559
|
declare function assertValidNavigationSlugs(navigation: DefineWorkspaceOptions[]): void;
|
|
1528
1560
|
/**
|
|
@@ -2340,4 +2372,4 @@ declare function defineTab<const T extends readonly Field[]>(args: {
|
|
|
2340
2372
|
fields: T;
|
|
2341
2373
|
}): T;
|
|
2342
2374
|
|
|
2343
|
-
export { AIConfig, type AIErrorCode, AIPIIConfig, type AccessConditions, AccessPolicyResolver, AdminAuthConfig, ArrayField, AuthConfig, type AuthDocFields, AuthenticatedUser, BASE62_ALPHABET, BUILTIN_JEXL_HELPERS, BaseDocument, Block, BooleanField, CROCKFORD_BASE32, CollectionConfig, CompiledNavItem, CompiledNavTree, ComputedHandler, type ConfigDiagnostic, ConfigValidationError, ConflictError, type CreatedAtFieldOptions, type CreatedByFieldOptions, DatabaseAdapter, DateField, DateTimeField, type DeclarativeAccessSurface, type DeclarativeAccessValidationIssue, type DeclarativeAdminSurface, type DeclarativeAdminValidationIssue, DeclarativeHookExpression, type DeclarativeHookSurface, type DeclarativeHookValidationIssue, type DeclarativePreviewSurface, type DeclarativePreviewValidationIssue, DefineWorkspaceOptions, DetailAction, DetailActionOptions, DetailComputed, DetailComputedOptions, DetailCustom, DetailCustomOptions, DetailDivider, DetailDividerOptions, DetailField, DetailGrid, DetailGridOptions, DetailItem, DetailRepeat, DetailRepeatOptions, DetailSchema, DetailSection, DetailSectionOptions, DetailTab, DetailTabOptions, DetailTabs, DetailTabsOptions, DetailText, DetailTextOptions, DisplayFieldOptions, DuplicateKeyError, DyrectedAIError, DyrectedConfig, DyrectedError, EMAIL_TEMPLATES_COLLECTION_CONFIG, EMAIL_TEMPLATES_COLLECTION_SLUG, EmailField, type ExprFunction, type ExtractCollectionSlugs, Field, FieldConditionBuilder, FieldType, ForbiddenError, type GenerateIdOptions, GlobalConfig, HookRequestContext, INTERNAL_SYSTEM_COLLECTIONS, IconField, IdStrategy, ImageField, type InferDocShape, JoinField, JsonField, LIFECYCLE_EVENTS_COLLECTION, type LayoutOptions, LifecycleEvent, LifecycleEventName, MatchBuilder, MoneyField, MultiSelectField, NANOID_ALPHABET, NON_NEGOTIABLE_CREDENTIAL_FIELDS, NotFoundError, NumberField, ObjectField, PII_REGEX_PATTERNS, type Prettify, PublicAdminAuthConfig, type PublishingWorkflowOptions, RESERVED_NAVIGATION_SLUGS, RadioField, type ReconcileNavigationOptions, type ReconciledNavTree, RelationshipField, type ResolvedTrashConfig, type RestoreDocumentOptions, RichTextField, type RoleOption, type RolesFieldOptions, RowField, type SanitizeDocForAIOptions, SelectField, type SoftDeleteOptions, type SortClause, type SortDirection, type SqlSortDialect, type SystemDocFields, TASK_LOCKS_COLLECTION, TASK_LOCKS_COLLECTION_CONFIG, TRASH_COLLECTION, TRASH_COLLECTION_CONFIG, TaskConfig, TaskRunResult, type TaskRunner, type TemplateBlock, TextField, TextareaField, TimeField, UNASSIGNED_GROUP_KEY, type UpdatedAtFieldOptions, type UpdatedByFieldOptions, type UploadDocFields, UrlField, UserNavigationPreferences, ValidationError, ViewConfig, WORKFLOW_HISTORY_COLLECTION, type WhenFunction, WorkflowConfig, WorkflowTransition, abs, addDays, alertBox, asCollection, assertValidAdminConditionsInConfig, assertValidDeclarativeAccessInConfig, assertValidDeclarativeHookExpression, assertValidDeclarativeHookResult, assertValidDeclarativeHooksInConfig, assertValidNavigationSlugs, assertValidPreviewUrlsInConfig, assertValidTrashInConfig, availableWorkflowTransitions, buildSqlOrderBy, canViewWorkflowDraft, capitalize, ceil, clamp, coalesce, collectAdminConditionValidationIssues, collectConfigDiagnostics, collectDeclarativeAccessValidationIssues, collectDeclarativeHookValidationIssues, collectPreviewUrlValidationIssues, compact, compileNavigation, count, createLifecycleEvent, createTaskRunner, createTrashPurgeTask, createWorkflowDocument, ctaButton, defaultValue, defineArrayField, defineBlock, defineBlocksField, defineBooleanField, defineCollection, defineConfig, defineCreatedAtField, defineCreatedByField, defineDateField, defineDateTimeField, defineEmailField, defineField, defineGlobal, defineIconField, defineImageField, defineJoinField, defineJsonField, defineMoneyField, defineMultiSelectField, defineNumberField, defineObjectField, definePublishingWorkflow, defineRadioField, defineRelationshipField, defineRichTextField, defineRoles, defineRolesField, defineRowField, defineSelectField, defineTab, defineTask, defineTextField, defineTextareaField, defineTimeField, defineUpdatedAtField, defineUpdatedByField, defineUrlField, detailBox, diffDays, dispatchLifecycleEvent, dispatchPendingLifecycleEvents, displayAction, displayComputed, displayCustom, displayCustomComponent, displayDivider, displayField, displayGrid, displayRepeat, displaySection, displayTab, displayTabs, displayText, divider, emailTokens, endsWith, escapeHtml, evaluateDetailComputed, evaluateJexl, evaluateJexlSync, eventList, executeFieldAfterRead, executeFieldBeforeChange, expr, first, floor, formatConfigDiagnostics, formatDate, formatJexlValue, generateDefaultDetailSchema, generateDocumentId, generateId, generateOpenApi, get, getAdminAuthCollection, getAdminRoleForCollection, getAllowedSitesForUser, getDefaultEmailTemplate, getPublicAdminAuthConfig, getTrashEntryId, heading, includes, initializeWorkflowDocument, isConfigValidationError, isDetailItemVisible, isEmpty, isFuture, isPast, isSiteAuthorized, isUserAdmin, join, last, layout, length, lower, maskEmail, maskPhone, maskTextPII, materializeWorkflowDocument, max, min, nanoid, nextCronRun, normalizeConfig, normalizeDetailItem, normalizeGroupKey, now, numericFieldNames, paragraph, parseCron, parseSort, pow, prefixedId, pruneNavigationForUser, publishedStateName, publishingWorkflow, readingTime, reconcileNavigation, registerJexlHelpers, replace, resolveAdminAuthCollection, resolveAllCollectionViews, resolveAuthorizedSiteId, resolveBlocks, resolveDocumentTitle, resolveIndexName, resolvePrefix, resolveTrashConfig, restoreDocument, round, row, runCollectionHooks, safeLinkDetailBox, sanitizeDocForAI, saveWorkflowDraft, sectionLabel, simplePublishingWorkflow, slugify, softDeleteDocument, spacer, sqrt, startsWith, sum, table, today, transitionWorkflow, trim, truncate, ulid, unique, upper, uuid, validateAdminConditionExpression, validateDeclarativeAccessExpression, validateDeclarativeHookExpression, validatePreviewUrlExpression, when, wordCount, workflowCapabilities };
|
|
2375
|
+
export { AIConfig, type AIErrorCode, AIPIIConfig, type AccessConditions, AccessPolicyResolver, AdminAuthConfig, ArrayField, AuthConfig, type AuthDocFields, AuthenticatedUser, BASE62_ALPHABET, BUILTIN_JEXL_HELPERS, BaseDocument, Block, BooleanField, CROCKFORD_BASE32, CollectionConfig, CompiledNavItem, CompiledNavTree, ComputedHandler, type ConfigDiagnostic, ConfigValidationError, ConflictError, type CreatedAtFieldOptions, type CreatedByFieldOptions, DatabaseAdapter, DateField, DateTimeField, type DeclarativeAccessSurface, type DeclarativeAccessValidationIssue, type DeclarativeAdminSurface, type DeclarativeAdminValidationIssue, DeclarativeHookExpression, type DeclarativeHookSurface, type DeclarativeHookValidationIssue, type DeclarativePreviewSurface, type DeclarativePreviewValidationIssue, DefineWorkspaceOptions, DetailAction, DetailActionOptions, DetailComputed, DetailComputedOptions, DetailCustom, DetailCustomOptions, DetailDivider, DetailDividerOptions, DetailField, DetailGrid, DetailGridOptions, DetailItem, DetailRepeat, DetailRepeatOptions, DetailSchema, DetailSection, DetailSectionOptions, DetailTab, DetailTabOptions, DetailTabs, DetailTabsOptions, DetailText, DetailTextOptions, DisplayFieldOptions, DuplicateKeyError, DyrectedAIError, DyrectedConfig, DyrectedError, EMAIL_TEMPLATES_COLLECTION_CONFIG, EMAIL_TEMPLATES_COLLECTION_SLUG, EmailField, type ExprFunction, type ExtractCollectionSlugs, Field, FieldConditionBuilder, FieldType, ForbiddenError, type GenerateIdOptions, GlobalConfig, HookRequestContext, INTERNAL_SYSTEM_COLLECTIONS, IconField, IdStrategy, ImageField, type InferDocShape, JoinField, JsonField, LIFECYCLE_EVENTS_COLLECTION, type LayoutOptions, LifecycleEvent, LifecycleEventName, MatchBuilder, MoneyField, MultiSelectField, NANOID_ALPHABET, NON_NEGOTIABLE_CREDENTIAL_FIELDS, NotFoundError, NumberField, ObjectField, PII_REGEX_PATTERNS, type Prettify, PublicAdminAuthConfig, type PublishingWorkflowOptions, RESERVED_NAVIGATION_SLUGS, RadioField, type ReconcileNavigationOptions, type ReconciledNavTree, type ReferencedComponentKeys, RelationshipField, type ResolvedTrashConfig, type RestoreDocumentOptions, RichTextField, type RoleOption, type RolesFieldOptions, RowField, type SanitizeDocForAIOptions, SelectField, type SoftDeleteOptions, type SortClause, type SortDirection, type SqlSortDialect, type SystemDocFields, TASK_LOCKS_COLLECTION, TASK_LOCKS_COLLECTION_CONFIG, TRASH_COLLECTION, TRASH_COLLECTION_CONFIG, TaskConfig, TaskRunResult, type TaskRunner, type TemplateBlock, TextField, TextareaField, TimeField, UNASSIGNED_GROUP_KEY, type UpdatedAtFieldOptions, type UpdatedByFieldOptions, type UploadDocFields, UrlField, UserNavigationPreferences, ValidationError, ViewConfig, WORKFLOW_HISTORY_COLLECTION, type WhenFunction, WorkflowConfig, WorkflowTransition, abs, addDays, alertBox, asCollection, assertValidAdminConditionsInConfig, assertValidDeclarativeAccessInConfig, assertValidDeclarativeHookExpression, assertValidDeclarativeHookResult, assertValidDeclarativeHooksInConfig, assertValidNavigationSlugs, assertValidPreviewUrlsInConfig, assertValidTrashInConfig, availableWorkflowTransitions, buildSqlOrderBy, canViewWorkflowDraft, capitalize, ceil, clamp, coalesce, collectAdminConditionValidationIssues, collectConfigDiagnostics, collectDeclarativeAccessValidationIssues, collectDeclarativeHookValidationIssues, collectPreviewUrlValidationIssues, collectReferencedComponentKeys, compact, compileNavigation, count, createLifecycleEvent, createTaskRunner, createTrashPurgeTask, createWorkflowDocument, ctaButton, defaultValue, defineArrayField, defineBlock, defineBlocksField, defineBooleanField, defineCollection, defineConfig, defineCreatedAtField, defineCreatedByField, defineDateField, defineDateTimeField, defineEmailField, defineField, defineGlobal, defineIconField, defineImageField, defineJoinField, defineJsonField, defineMoneyField, defineMultiSelectField, defineNumberField, defineObjectField, definePublishingWorkflow, defineRadioField, defineRelationshipField, defineRichTextField, defineRoles, defineRolesField, defineRowField, defineSelectField, defineTab, defineTask, defineTextField, defineTextareaField, defineTimeField, defineUpdatedAtField, defineUpdatedByField, defineUrlField, detailBox, diffDays, dispatchLifecycleEvent, dispatchPendingLifecycleEvents, displayAction, displayComputed, displayCustom, displayCustomComponent, displayDivider, displayField, displayGrid, displayRepeat, displaySection, displayTab, displayTabs, displayText, divider, emailTokens, endsWith, escapeHtml, evaluateDetailComputed, evaluateJexl, evaluateJexlSync, eventList, executeFieldAfterRead, executeFieldBeforeChange, expr, first, floor, formatConfigDiagnostics, formatDate, formatJexlValue, generateDefaultDetailSchema, generateDocumentId, generateId, generateOpenApi, get, getAdminAuthCollection, getAdminRoleForCollection, getAllowedSitesForUser, getDefaultEmailTemplate, getPublicAdminAuthConfig, getTrashEntryId, heading, includes, initializeWorkflowDocument, isConfigValidationError, isDetailItemVisible, isEmpty, isFuture, isPast, isSiteAuthorized, isUserAdmin, join, last, layout, length, lower, maskEmail, maskPhone, maskTextPII, materializeWorkflowDocument, max, min, nanoid, nextCronRun, normalizeConfig, normalizeDetailItem, normalizeGroupKey, now, numericFieldNames, paragraph, parseCron, parseSort, pow, prefixedId, pruneNavigationForUser, publishedStateName, publishingWorkflow, readingTime, reconcileNavigation, registerJexlHelpers, replace, resolveAdminAuthCollection, resolveAllCollectionViews, resolveAuthorizedSiteId, resolveBlocks, resolveDocumentTitle, resolveIndexName, resolvePrefix, resolveTrashConfig, restoreDocument, round, row, runCollectionHooks, safeLinkDetailBox, sanitizeDocForAI, saveWorkflowDraft, sectionLabel, simplePublishingWorkflow, slugify, softDeleteDocument, spacer, sqrt, startsWith, sum, table, today, transitionWorkflow, trim, truncate, ulid, unique, upper, uuid, validateAdminConditionExpression, validateDeclarativeAccessExpression, validateDeclarativeHookExpression, validatePreviewUrlExpression, when, wordCount, workflowCapabilities };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { F as Field, B as Block, C as CollectionConfig, D as DyrectedConfig, A as AdminAuthConfig, P as PublicAdminAuthConfig, G as GlobalConfig, a as DeclarativeHookExpression, W as WorkflowConfig, b as AuthenticatedUser, c as WorkflowTransition, L as LifecycleEventName, d as LifecycleEvent, e as DatabaseAdapter, f as BaseDocument, H as HookRequestContext, T as TaskRunResult, g as TaskConfig, h as DetailActionOptions, i as DetailAction, j as DetailComputedOptions, k as ComputedHandler, l as DetailComputed, m as DetailCustomOptions, n as DetailCustom, o as DetailDividerOptions, p as DetailDivider, q as DisplayFieldOptions, r as DetailField, s as DetailItem, t as DetailGridOptions, u as DetailGrid, v as DetailRepeatOptions, w as DetailRepeat, x as DetailSectionOptions, y as DetailSection, z as DetailTabOptions, E as DetailTab, I as DetailTabsOptions, J as DetailTabs, K as DetailTextOptions, M as DetailText, N as DetailSchema, O as DyrectedContext, Q as AIConfig, R as AIPIIConfig, S as IdStrategy, U as CompiledNavTree, V as CompiledNavItem, X as UserNavigationPreferences, Y as DefineWorkspaceOptions, Z as ViewConfig, _ as DateTimeField, $ as RelationshipField, a0 as SelectField, a1 as ArrayField, a2 as FieldType, a3 as BooleanField, a4 as AuthConfig, a5 as AccessPolicyResolver, a6 as DateField, a7 as TextField, a8 as EmailField, a9 as IconField, aa as ImageField, ab as JoinField, ac as JsonField, ad as MoneyField, ae as MultiSelectField, af as NumberField, ag as ObjectField, ah as RadioField, ai as RichTextField, aj as RowField, ak as TextareaField, al as TimeField, am as UrlField } from './app-
|
|
2
|
-
export { an as AIAction, ao as AIActionStatus, ap as AIActionType, aq as AIAuditActionType, ar as AIAuditRecord, as as AIChunk, at as AIMessage, au as AIPIIPattern, av as AIRateLimitResult, aw as AIRateLimitStore, ax as AIThread, ay as AIToolContext, az as AIToolDefinition, aA as AI_ACTIONS_COLLECTION, aB as AI_AUDIT_COLLECTION, aC as AI_CHUNKS_COLLECTION, aD as AI_MESSAGES_COLLECTION, aE as AI_THREADS_COLLECTION, aF as AccessConfig, aG as AccessFunction, aH as AccessFunctionArgs, aI as AccessResult, aJ as AccessRule, aK as ActionConfig, aL as ActionConfigBase, aM as ActionConfigWithHandler, aN as ActionConfigWithMutation, aO as ActionContext, aP as ActionType, aQ as AdminAuthAccessResolution, aR as AdminAuthClaimMapping, aS as AdminAuthMember, aT as AdminAuthProvider, aU as AdminAuthProviderMembersConfig, aV as AdminAuthProvisioningMode, aW as AdminAuthResolveAccessArgs, aX as AdminAuthResolvedIdentity, aY as AdminConfig, aZ as AdminDashboardComponentSlots, a_ as AdminIconName, a$ as AggregateArgs, b0 as AggregateCastType, b1 as AggregateCollectionResult, b2 as AggregateInput, b3 as AggregateOperation, b4 as AggregateResult, b5 as AppTrashConfig, b6 as BaseAdminAuthProvider, b7 as BaseFieldAdmin, b8 as BlockVariant, b9 as BlocksField, ba as BooleanFieldAdmin, bb as BooleanFormat, bc as CURRENT_NAV_PREFERENCES_VERSION, bd as
|
|
1
|
+
import { F as Field, B as Block, C as CollectionConfig, D as DyrectedConfig, A as AdminAuthConfig, P as PublicAdminAuthConfig, G as GlobalConfig, a as DeclarativeHookExpression, W as WorkflowConfig, b as AuthenticatedUser, c as WorkflowTransition, L as LifecycleEventName, d as LifecycleEvent, e as DatabaseAdapter, f as BaseDocument, H as HookRequestContext, T as TaskRunResult, g as TaskConfig, h as DetailActionOptions, i as DetailAction, j as DetailComputedOptions, k as ComputedHandler, l as DetailComputed, m as DetailCustomOptions, n as DetailCustom, o as DetailDividerOptions, p as DetailDivider, q as DisplayFieldOptions, r as DetailField, s as DetailItem, t as DetailGridOptions, u as DetailGrid, v as DetailRepeatOptions, w as DetailRepeat, x as DetailSectionOptions, y as DetailSection, z as DetailTabOptions, E as DetailTab, I as DetailTabsOptions, J as DetailTabs, K as DetailTextOptions, M as DetailText, N as DetailSchema, O as DyrectedContext, Q as AIConfig, R as AIPIIConfig, S as IdStrategy, U as CompiledNavTree, V as CompiledNavItem, X as UserNavigationPreferences, Y as DefineWorkspaceOptions, Z as ViewConfig, _ as DateTimeField, $ as RelationshipField, a0 as SelectField, a1 as ArrayField, a2 as FieldType, a3 as BooleanField, a4 as AuthConfig, a5 as AccessPolicyResolver, a6 as DateField, a7 as TextField, a8 as EmailField, a9 as IconField, aa as ImageField, ab as JoinField, ac as JsonField, ad as MoneyField, ae as MultiSelectField, af as NumberField, ag as ObjectField, ah as RadioField, ai as RichTextField, aj as RowField, ak as TextareaField, al as TimeField, am as UrlField } from './app-DregJnqR.js';
|
|
2
|
+
export { an as AIAction, ao as AIActionStatus, ap as AIActionType, aq as AIAuditActionType, ar as AIAuditRecord, as as AIChunk, at as AIMessage, au as AIPIIPattern, av as AIRateLimitResult, aw as AIRateLimitStore, ax as AIThread, ay as AIToolContext, az as AIToolDefinition, aA as AI_ACTIONS_COLLECTION, aB as AI_AUDIT_COLLECTION, aC as AI_CHUNKS_COLLECTION, aD as AI_MESSAGES_COLLECTION, aE as AI_THREADS_COLLECTION, aF as AccessConfig, aG as AccessFunction, aH as AccessFunctionArgs, aI as AccessResult, aJ as AccessRule, aK as ActionConfig, aL as ActionConfigBase, aM as ActionConfigWithHandler, aN as ActionConfigWithMutation, aO as ActionContext, aP as ActionType, aQ as AdminAuthAccessResolution, aR as AdminAuthClaimMapping, aS as AdminAuthMember, aT as AdminAuthProvider, aU as AdminAuthProviderMembersConfig, aV as AdminAuthProvisioningMode, aW as AdminAuthResolveAccessArgs, aX as AdminAuthResolvedIdentity, aY as AdminConfig, aZ as AdminDashboardComponentSlots, a_ as AdminIconName, a$ as AggregateArgs, b0 as AggregateCastType, b1 as AggregateCollectionResult, b2 as AggregateInput, b3 as AggregateOperation, b4 as AggregateResult, b5 as AppTrashConfig, b6 as BaseAdminAuthProvider, b7 as BaseFieldAdmin, b8 as BlockVariant, b9 as BlocksField, ba as BooleanFieldAdmin, bb as BooleanFormat, bc as CURRENT_NAV_PREFERENCES_VERSION, bd as CUSTOM_VIEW_FETCH_ALL_LIMIT, be as CalendarViewConfig, bf as CardsViewConfig, bg as CharacterLimitFieldAdmin, bh as CharacterLimitFieldConfig, bi as CollectionAfterChangeHook, bj as CollectionAfterDeleteHook, bk as CollectionAfterReadHook, bl as CollectionAfterReadHookEntry, bm as CollectionAfterRestoreHook, bn as CollectionAfterTransitionHook, bo as CollectionAfterTrashHook, bp as CollectionBeforeChangeHook, bq as CollectionBeforeChangeHookEntry, br as CollectionBeforeCommitHook, bs as CollectionBeforeDeleteHook, bt as CollectionBeforeReadHook, bu as CollectionBeforeReadHookEntry, bv as CollectionBeforeRestoreHook, bw as CollectionBeforeTransitionHook, bx as CollectionBeforeTrashHook, by as CollectionEmailConfig, bz as CollectionIndex, bA as CollectionListComponentSlots, bB as CollectionRAGConfig, bC as CollectionSchemaResult, bD as CollectionSummaryResult, bE as CollectionViewComponentSlots, bF as CompiledNavGroup, bG as CountOperation, bH as CustomAdminAuthProvider, bI as CustomViewConfig, bJ as CustomViewDataConfig, bK as DEFAULT_USER_NAV_PREFERENCES, bL as DateFieldAdmin, bM as DateFormat, bN as DefaultValueContext, bO as DefineActionOptions, bP as DefineCalendarViewOptions, bQ as DefineCardsViewOptions, bR as DefineCustomViewOptions, bS as DefineGanttViewOptions, bT as DefineKanbanViewOptions, bU as DefinePageInput, bV as DefineTableViewOptions, bW as DefineViewBaseOptions, bX as DefineViewOptions, bY as DetailSpan, bZ as DisplayTone, b_ as DisplayVariant, b$ as DistinctCountOperation, c0 as DistinctValuesOperation, c1 as DynamicOptionItem, c2 as DynamicOptionsConfig, c3 as DynamicOptionsResolver, c4 as DynamicOptionsResolverArgs, c5 as DyrectedAIContext, c6 as DyrectedLoggerConfig, c7 as DyrectedObservabilityConfig, c8 as EmailFieldAdmin, c9 as EmailTemplateArgs, ca as EmailTemplateResult, cb as FieldAdminHooks, cc as FieldAdminOnChangeHook, cd as FieldAdminOnChangeHookArgs, ce as FieldAdminOptionsHook, cf as FieldAdminOptionsHookArgs, cg as FieldAdminOptionsHookResult, ch as FieldAfterReadHook, ci as FieldAfterReadHookArgs, cj as FieldBase, ck as FieldBeforeChangeHook, cl as FieldBeforeChangeHookArgs, cm as FieldHook, cn as FieldHooks, co as FileData, cp as GanttViewConfig, cq as GetDocumentResult, cr as GlobalAfterChangeHook, cs as GlobalAfterReadHook, ct as GlobalAfterReadHookEntry, cu as GlobalBeforeChangeHook, cv as GlobalBeforeChangeHookEntry, cw as GlobalBeforeReadHook, cx as GlobalBeforeReadHookEntry, cy as GlobalRAGConfig, cz as GlobalSchemaResult, cA as GlobalSummaryResult, cB as HeadingLevel, cC as HookFunction, cD as IconFieldAdmin, cE as ImageService, cF as ImageTransformOptions, cG as InferAggregateResult, cH as JoinFieldAdmin, cI as JsonFieldAdmin, cJ as JsonFormat, cK as KanbanViewConfig, cL as LIFECYCLE_EVENT_NAMES, cM as LifecycleEventHandler, cN as LinkFormat, cO as MetricColor, cP as MoneyFieldAdmin, cQ as MoneyFieldConfig, cR as MultiSelectFieldAdmin, cS as NamedAccessPolicy, cT as NavBadgeConfig, cU as NavGroup, cV as NumberFieldAdmin, cW as NumberFormat, cX as NumberLimitFieldAdmin, cY as NumberLimitFieldConfig, cZ as NumericOperation, c_ as NumericUpdateOperator, c$ as OIDCAdminAuthProvider, d0 as OptionFormat, d1 as OutboundEmail, d2 as PageAction, d3 as PageBreadcrumbItem, d4 as PageConfig, d5 as PaginatedResult, d6 as PinnedNavItemRef, d7 as PublicAdminAuthProvider, d8 as QueryCollectionResult, d9 as RAGSearchResult, da as RadioFieldAdmin, db as RateLimitConfig, dc as ReadonlyDatabaseAdapter, dd as RichTextFeature, de as RichTextFieldConfig, df as SelectFieldAdmin, dg as SqlWhereResult, dh as StorageAdapter, di as TableViewConfig, dj as TaskContext, dk as TaskLogger, dl as TaskRunStatus, dm as TextFieldAdmin, dn as TextFormat, dp as TextareaFieldAdmin, dq as TrashConfig, dr as TrustProxyConfig, ds as TypedField, dt as UploadConfig, du as UrlFieldAdmin, dv as UrlLinkValue, dw as ViewActionFeatures, dx as ViewComponentSlots, dy as ViewConfigBase, dz as ViewLayout, dA as ViewMetric, dB as ViewMetricGroupBy, dC as ViewMetricGroupByConfig, dD as ViewMetricTrendConfig, dE as ViewSubMetric, dF as WhereClause, dG as WhereOperator, dH as WhereOperatorName, dI as WordLimitFieldAdmin, dJ as WordLimitFieldConfig, dK as WorkflowMetadata, dL as WorkflowOnTransitionContext, dM as WorkflowOnTransitionHook, dN as WorkflowRole, dO as WorkflowState, dP as WorkflowTransitionContext, dQ as coerceBooleanWhere, dR as defineAction, dS as defineCalendarView, dT as defineCardsView, dU as defineCustomView, dV as defineGanttView, dW as defineKanbanView, dX as definePage, dY as defineTableView, dZ as defineView, d_ as defineWorkspace, d$ as isAICollection, e0 as parseMongoWhere, e1 as parseSqlWhere } from './app-DregJnqR.js';
|
|
3
3
|
import jexl from 'jexl';
|
|
4
4
|
import { Context } from 'hono';
|
|
5
5
|
export { z } from 'zod';
|
|
@@ -318,6 +318,38 @@ declare function isConfigValidationError(error: unknown): error is ConfigValidat
|
|
|
318
318
|
declare function assertValidDeclarativeHooksInConfig(config: DeclarativeValidationConfig, source?: string): void;
|
|
319
319
|
declare function assertValidDeclarativeAccessInConfig(config: DeclarativeValidationConfig, source?: string): void;
|
|
320
320
|
|
|
321
|
+
/**
|
|
322
|
+
* Component keys a schema references, grouped by the `AdminComponents`
|
|
323
|
+
* registry that must supply them.
|
|
324
|
+
*
|
|
325
|
+
* Registration happens in the host app's admin bundle, so this scan is the
|
|
326
|
+
* single source of truth for both type generation (CLI) and the admin's
|
|
327
|
+
* unused-registration warning.
|
|
328
|
+
*/
|
|
329
|
+
interface ReferencedComponentKeys {
|
|
330
|
+
/** `field.admin.component` keys, resolved against `components.fields`. */
|
|
331
|
+
fields: Set<string>;
|
|
332
|
+
/** `admin.components.before/afterDashboard` keys. */
|
|
333
|
+
dashboard: Set<string>;
|
|
334
|
+
/** `collection.admin.components` list slots. */
|
|
335
|
+
collectionList: Set<string>;
|
|
336
|
+
/** Operational view slots (`collectionView` and per-view `components`). */
|
|
337
|
+
collectionView: Set<string>;
|
|
338
|
+
/** Reserved for custom document forms (spec 2). Empty until config can reference them. */
|
|
339
|
+
forms: Set<string>;
|
|
340
|
+
/** `component` of views with `layout: "custom"`. */
|
|
341
|
+
viewLayouts: Set<string>;
|
|
342
|
+
/** `admin.pages[].component` keys. */
|
|
343
|
+
pages: Set<string>;
|
|
344
|
+
/** `displayCustom(name)` keys used in Detail View layouts. */
|
|
345
|
+
customComponents: Set<string>;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Collects every component key a schema (or a `DyrectedConfig`) references.
|
|
349
|
+
* Tolerant of partial or unknown shapes: anything unrecognised is skipped.
|
|
350
|
+
*/
|
|
351
|
+
declare function collectReferencedComponentKeys(schema: unknown): ReferencedComponentKeys;
|
|
352
|
+
|
|
321
353
|
/**
|
|
322
354
|
* Transforms a string into a clean, URL-safe slug.
|
|
323
355
|
* Strips accents, lowercases, removes non-alphanumeric characters, and hyphens whitespace.
|
|
@@ -1522,7 +1554,7 @@ declare function reconcileNavigation(baseTree: CompiledNavTree | null | undefine
|
|
|
1522
1554
|
*/
|
|
1523
1555
|
declare const RESERVED_NAVIGATION_SLUGS: Set<string>;
|
|
1524
1556
|
/**
|
|
1525
|
-
* Validates that no navigation item uses a reserved system route slug.
|
|
1557
|
+
* Validates that no navigation item uses a reserved system route slug or duplicate slug.
|
|
1526
1558
|
*/
|
|
1527
1559
|
declare function assertValidNavigationSlugs(navigation: DefineWorkspaceOptions[]): void;
|
|
1528
1560
|
/**
|
|
@@ -2340,4 +2372,4 @@ declare function defineTab<const T extends readonly Field[]>(args: {
|
|
|
2340
2372
|
fields: T;
|
|
2341
2373
|
}): T;
|
|
2342
2374
|
|
|
2343
|
-
export { AIConfig, type AIErrorCode, AIPIIConfig, type AccessConditions, AccessPolicyResolver, AdminAuthConfig, ArrayField, AuthConfig, type AuthDocFields, AuthenticatedUser, BASE62_ALPHABET, BUILTIN_JEXL_HELPERS, BaseDocument, Block, BooleanField, CROCKFORD_BASE32, CollectionConfig, CompiledNavItem, CompiledNavTree, ComputedHandler, type ConfigDiagnostic, ConfigValidationError, ConflictError, type CreatedAtFieldOptions, type CreatedByFieldOptions, DatabaseAdapter, DateField, DateTimeField, type DeclarativeAccessSurface, type DeclarativeAccessValidationIssue, type DeclarativeAdminSurface, type DeclarativeAdminValidationIssue, DeclarativeHookExpression, type DeclarativeHookSurface, type DeclarativeHookValidationIssue, type DeclarativePreviewSurface, type DeclarativePreviewValidationIssue, DefineWorkspaceOptions, DetailAction, DetailActionOptions, DetailComputed, DetailComputedOptions, DetailCustom, DetailCustomOptions, DetailDivider, DetailDividerOptions, DetailField, DetailGrid, DetailGridOptions, DetailItem, DetailRepeat, DetailRepeatOptions, DetailSchema, DetailSection, DetailSectionOptions, DetailTab, DetailTabOptions, DetailTabs, DetailTabsOptions, DetailText, DetailTextOptions, DisplayFieldOptions, DuplicateKeyError, DyrectedAIError, DyrectedConfig, DyrectedError, EMAIL_TEMPLATES_COLLECTION_CONFIG, EMAIL_TEMPLATES_COLLECTION_SLUG, EmailField, type ExprFunction, type ExtractCollectionSlugs, Field, FieldConditionBuilder, FieldType, ForbiddenError, type GenerateIdOptions, GlobalConfig, HookRequestContext, INTERNAL_SYSTEM_COLLECTIONS, IconField, IdStrategy, ImageField, type InferDocShape, JoinField, JsonField, LIFECYCLE_EVENTS_COLLECTION, type LayoutOptions, LifecycleEvent, LifecycleEventName, MatchBuilder, MoneyField, MultiSelectField, NANOID_ALPHABET, NON_NEGOTIABLE_CREDENTIAL_FIELDS, NotFoundError, NumberField, ObjectField, PII_REGEX_PATTERNS, type Prettify, PublicAdminAuthConfig, type PublishingWorkflowOptions, RESERVED_NAVIGATION_SLUGS, RadioField, type ReconcileNavigationOptions, type ReconciledNavTree, RelationshipField, type ResolvedTrashConfig, type RestoreDocumentOptions, RichTextField, type RoleOption, type RolesFieldOptions, RowField, type SanitizeDocForAIOptions, SelectField, type SoftDeleteOptions, type SortClause, type SortDirection, type SqlSortDialect, type SystemDocFields, TASK_LOCKS_COLLECTION, TASK_LOCKS_COLLECTION_CONFIG, TRASH_COLLECTION, TRASH_COLLECTION_CONFIG, TaskConfig, TaskRunResult, type TaskRunner, type TemplateBlock, TextField, TextareaField, TimeField, UNASSIGNED_GROUP_KEY, type UpdatedAtFieldOptions, type UpdatedByFieldOptions, type UploadDocFields, UrlField, UserNavigationPreferences, ValidationError, ViewConfig, WORKFLOW_HISTORY_COLLECTION, type WhenFunction, WorkflowConfig, WorkflowTransition, abs, addDays, alertBox, asCollection, assertValidAdminConditionsInConfig, assertValidDeclarativeAccessInConfig, assertValidDeclarativeHookExpression, assertValidDeclarativeHookResult, assertValidDeclarativeHooksInConfig, assertValidNavigationSlugs, assertValidPreviewUrlsInConfig, assertValidTrashInConfig, availableWorkflowTransitions, buildSqlOrderBy, canViewWorkflowDraft, capitalize, ceil, clamp, coalesce, collectAdminConditionValidationIssues, collectConfigDiagnostics, collectDeclarativeAccessValidationIssues, collectDeclarativeHookValidationIssues, collectPreviewUrlValidationIssues, compact, compileNavigation, count, createLifecycleEvent, createTaskRunner, createTrashPurgeTask, createWorkflowDocument, ctaButton, defaultValue, defineArrayField, defineBlock, defineBlocksField, defineBooleanField, defineCollection, defineConfig, defineCreatedAtField, defineCreatedByField, defineDateField, defineDateTimeField, defineEmailField, defineField, defineGlobal, defineIconField, defineImageField, defineJoinField, defineJsonField, defineMoneyField, defineMultiSelectField, defineNumberField, defineObjectField, definePublishingWorkflow, defineRadioField, defineRelationshipField, defineRichTextField, defineRoles, defineRolesField, defineRowField, defineSelectField, defineTab, defineTask, defineTextField, defineTextareaField, defineTimeField, defineUpdatedAtField, defineUpdatedByField, defineUrlField, detailBox, diffDays, dispatchLifecycleEvent, dispatchPendingLifecycleEvents, displayAction, displayComputed, displayCustom, displayCustomComponent, displayDivider, displayField, displayGrid, displayRepeat, displaySection, displayTab, displayTabs, displayText, divider, emailTokens, endsWith, escapeHtml, evaluateDetailComputed, evaluateJexl, evaluateJexlSync, eventList, executeFieldAfterRead, executeFieldBeforeChange, expr, first, floor, formatConfigDiagnostics, formatDate, formatJexlValue, generateDefaultDetailSchema, generateDocumentId, generateId, generateOpenApi, get, getAdminAuthCollection, getAdminRoleForCollection, getAllowedSitesForUser, getDefaultEmailTemplate, getPublicAdminAuthConfig, getTrashEntryId, heading, includes, initializeWorkflowDocument, isConfigValidationError, isDetailItemVisible, isEmpty, isFuture, isPast, isSiteAuthorized, isUserAdmin, join, last, layout, length, lower, maskEmail, maskPhone, maskTextPII, materializeWorkflowDocument, max, min, nanoid, nextCronRun, normalizeConfig, normalizeDetailItem, normalizeGroupKey, now, numericFieldNames, paragraph, parseCron, parseSort, pow, prefixedId, pruneNavigationForUser, publishedStateName, publishingWorkflow, readingTime, reconcileNavigation, registerJexlHelpers, replace, resolveAdminAuthCollection, resolveAllCollectionViews, resolveAuthorizedSiteId, resolveBlocks, resolveDocumentTitle, resolveIndexName, resolvePrefix, resolveTrashConfig, restoreDocument, round, row, runCollectionHooks, safeLinkDetailBox, sanitizeDocForAI, saveWorkflowDraft, sectionLabel, simplePublishingWorkflow, slugify, softDeleteDocument, spacer, sqrt, startsWith, sum, table, today, transitionWorkflow, trim, truncate, ulid, unique, upper, uuid, validateAdminConditionExpression, validateDeclarativeAccessExpression, validateDeclarativeHookExpression, validatePreviewUrlExpression, when, wordCount, workflowCapabilities };
|
|
2375
|
+
export { AIConfig, type AIErrorCode, AIPIIConfig, type AccessConditions, AccessPolicyResolver, AdminAuthConfig, ArrayField, AuthConfig, type AuthDocFields, AuthenticatedUser, BASE62_ALPHABET, BUILTIN_JEXL_HELPERS, BaseDocument, Block, BooleanField, CROCKFORD_BASE32, CollectionConfig, CompiledNavItem, CompiledNavTree, ComputedHandler, type ConfigDiagnostic, ConfigValidationError, ConflictError, type CreatedAtFieldOptions, type CreatedByFieldOptions, DatabaseAdapter, DateField, DateTimeField, type DeclarativeAccessSurface, type DeclarativeAccessValidationIssue, type DeclarativeAdminSurface, type DeclarativeAdminValidationIssue, DeclarativeHookExpression, type DeclarativeHookSurface, type DeclarativeHookValidationIssue, type DeclarativePreviewSurface, type DeclarativePreviewValidationIssue, DefineWorkspaceOptions, DetailAction, DetailActionOptions, DetailComputed, DetailComputedOptions, DetailCustom, DetailCustomOptions, DetailDivider, DetailDividerOptions, DetailField, DetailGrid, DetailGridOptions, DetailItem, DetailRepeat, DetailRepeatOptions, DetailSchema, DetailSection, DetailSectionOptions, DetailTab, DetailTabOptions, DetailTabs, DetailTabsOptions, DetailText, DetailTextOptions, DisplayFieldOptions, DuplicateKeyError, DyrectedAIError, DyrectedConfig, DyrectedError, EMAIL_TEMPLATES_COLLECTION_CONFIG, EMAIL_TEMPLATES_COLLECTION_SLUG, EmailField, type ExprFunction, type ExtractCollectionSlugs, Field, FieldConditionBuilder, FieldType, ForbiddenError, type GenerateIdOptions, GlobalConfig, HookRequestContext, INTERNAL_SYSTEM_COLLECTIONS, IconField, IdStrategy, ImageField, type InferDocShape, JoinField, JsonField, LIFECYCLE_EVENTS_COLLECTION, type LayoutOptions, LifecycleEvent, LifecycleEventName, MatchBuilder, MoneyField, MultiSelectField, NANOID_ALPHABET, NON_NEGOTIABLE_CREDENTIAL_FIELDS, NotFoundError, NumberField, ObjectField, PII_REGEX_PATTERNS, type Prettify, PublicAdminAuthConfig, type PublishingWorkflowOptions, RESERVED_NAVIGATION_SLUGS, RadioField, type ReconcileNavigationOptions, type ReconciledNavTree, type ReferencedComponentKeys, RelationshipField, type ResolvedTrashConfig, type RestoreDocumentOptions, RichTextField, type RoleOption, type RolesFieldOptions, RowField, type SanitizeDocForAIOptions, SelectField, type SoftDeleteOptions, type SortClause, type SortDirection, type SqlSortDialect, type SystemDocFields, TASK_LOCKS_COLLECTION, TASK_LOCKS_COLLECTION_CONFIG, TRASH_COLLECTION, TRASH_COLLECTION_CONFIG, TaskConfig, TaskRunResult, type TaskRunner, type TemplateBlock, TextField, TextareaField, TimeField, UNASSIGNED_GROUP_KEY, type UpdatedAtFieldOptions, type UpdatedByFieldOptions, type UploadDocFields, UrlField, UserNavigationPreferences, ValidationError, ViewConfig, WORKFLOW_HISTORY_COLLECTION, type WhenFunction, WorkflowConfig, WorkflowTransition, abs, addDays, alertBox, asCollection, assertValidAdminConditionsInConfig, assertValidDeclarativeAccessInConfig, assertValidDeclarativeHookExpression, assertValidDeclarativeHookResult, assertValidDeclarativeHooksInConfig, assertValidNavigationSlugs, assertValidPreviewUrlsInConfig, assertValidTrashInConfig, availableWorkflowTransitions, buildSqlOrderBy, canViewWorkflowDraft, capitalize, ceil, clamp, coalesce, collectAdminConditionValidationIssues, collectConfigDiagnostics, collectDeclarativeAccessValidationIssues, collectDeclarativeHookValidationIssues, collectPreviewUrlValidationIssues, collectReferencedComponentKeys, compact, compileNavigation, count, createLifecycleEvent, createTaskRunner, createTrashPurgeTask, createWorkflowDocument, ctaButton, defaultValue, defineArrayField, defineBlock, defineBlocksField, defineBooleanField, defineCollection, defineConfig, defineCreatedAtField, defineCreatedByField, defineDateField, defineDateTimeField, defineEmailField, defineField, defineGlobal, defineIconField, defineImageField, defineJoinField, defineJsonField, defineMoneyField, defineMultiSelectField, defineNumberField, defineObjectField, definePublishingWorkflow, defineRadioField, defineRelationshipField, defineRichTextField, defineRoles, defineRolesField, defineRowField, defineSelectField, defineTab, defineTask, defineTextField, defineTextareaField, defineTimeField, defineUpdatedAtField, defineUpdatedByField, defineUrlField, detailBox, diffDays, dispatchLifecycleEvent, dispatchPendingLifecycleEvents, displayAction, displayComputed, displayCustom, displayCustomComponent, displayDivider, displayField, displayGrid, displayRepeat, displaySection, displayTab, displayTabs, displayText, divider, emailTokens, endsWith, escapeHtml, evaluateDetailComputed, evaluateJexl, evaluateJexlSync, eventList, executeFieldAfterRead, executeFieldBeforeChange, expr, first, floor, formatConfigDiagnostics, formatDate, formatJexlValue, generateDefaultDetailSchema, generateDocumentId, generateId, generateOpenApi, get, getAdminAuthCollection, getAdminRoleForCollection, getAllowedSitesForUser, getDefaultEmailTemplate, getPublicAdminAuthConfig, getTrashEntryId, heading, includes, initializeWorkflowDocument, isConfigValidationError, isDetailItemVisible, isEmpty, isFuture, isPast, isSiteAuthorized, isUserAdmin, join, last, layout, length, lower, maskEmail, maskPhone, maskTextPII, materializeWorkflowDocument, max, min, nanoid, nextCronRun, normalizeConfig, normalizeDetailItem, normalizeGroupKey, now, numericFieldNames, paragraph, parseCron, parseSort, pow, prefixedId, pruneNavigationForUser, publishedStateName, publishingWorkflow, readingTime, reconcileNavigation, registerJexlHelpers, replace, resolveAdminAuthCollection, resolveAllCollectionViews, resolveAuthorizedSiteId, resolveBlocks, resolveDocumentTitle, resolveIndexName, resolvePrefix, resolveTrashConfig, restoreDocument, round, row, runCollectionHooks, safeLinkDetailBox, sanitizeDocForAI, saveWorkflowDraft, sectionLabel, simplePublishingWorkflow, slugify, softDeleteDocument, spacer, sqrt, startsWith, sum, table, today, transitionWorkflow, trim, truncate, ulid, unique, upper, uuid, validateAdminConditionExpression, validateDeclarativeAccessExpression, validateDeclarativeHookExpression, validatePreviewUrlExpression, when, wordCount, workflowCapabilities };
|