@dyrected/core 2.17.0 → 2.18.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.
@@ -623,6 +623,19 @@ likeOperator?: 'LIKE' | 'ILIKE'): SqlWhereResult;
623
623
  * Handles nested OR/AND via $or/$and, and all operators via $eq/$in/$gt etc.
624
624
  */
625
625
  declare function parseMongoWhere(where: WhereClause): Record<string, any>;
626
+ /**
627
+ * Turns the strings "true"/"false" into booleans for the fields the schema declares as boolean.
628
+ *
629
+ * Adapters bind booleans natively (1/0, `true`, BSON bool), but a client that sends the string
630
+ * `"true"` would otherwise match nothing on some adapters and the wrong rows on others (Postgres
631
+ * serializes any non-`true` value to `false` for a boolean column). Coercing once, before the
632
+ * where clause is translated, gives every adapter the same behavior. Fields that are not
633
+ * declared boolean are left untouched.
634
+ */
635
+ declare function coerceBooleanWhere(where: WhereClause, fields: ReadonlyArray<{
636
+ name?: string;
637
+ type?: string;
638
+ }> | undefined): WhereClause;
626
639
 
627
640
  /**
628
641
  * Custom component slots rendered around an operational view's content.
@@ -1244,6 +1257,12 @@ interface AdminConfig {
1244
1257
  * The canonical/base URL of the frontend website for links and iframe live previews.
1245
1258
  */
1246
1259
  siteUrl?: string;
1260
+ /**
1261
+ * Public URL of the Admin UI, used for links in invite and password-reset emails.
1262
+ * Falls back to the `DYRECTED_ADMIN_URL` env var, then the page the admin is running on,
1263
+ * then `/admin` (resolved against the request origin).
1264
+ */
1265
+ adminUrl?: string;
1247
1266
  }
1248
1267
 
1249
1268
  type DeclarativeHookExpression = string;
@@ -1299,6 +1318,28 @@ type CollectionAfterChangeHook<TDoc extends object = Record<string, unknown>> =
1299
1318
  operation: "create" | "update";
1300
1319
  db: DatabaseAdapter;
1301
1320
  }) => void | Promise<void>;
1321
+ /**
1322
+ * Runs **inside** the database transaction that persists a create or update,
1323
+ * after the document is written and before the transaction commits.
1324
+ *
1325
+ * `tx` is a writable, transaction-scoped adapter: anything written through it
1326
+ * commits or rolls back together with the document. Throw to abort the whole
1327
+ * operation, including the primary write. Use it for invariants that must hold
1328
+ * atomically, such as writing a ledger row alongside a payment.
1329
+ *
1330
+ * Requires a database adapter that supports transactions.
1331
+ */
1332
+ type CollectionBeforeCommitHook<TDoc extends object = Record<string, unknown>> = (args: {
1333
+ /** The document as persisted by this operation. */
1334
+ doc: TDoc;
1335
+ /** The document before the update. Absent on create. */
1336
+ previousDoc?: TDoc;
1337
+ req: HookRequestContext;
1338
+ user?: AuthenticatedUser;
1339
+ operation: "create" | "update";
1340
+ /** Writable, transaction-scoped database adapter. */
1341
+ tx: DatabaseAdapter;
1342
+ }) => void | Promise<void>;
1302
1343
  /**
1303
1344
  * Runs **before** a document is deleted from the database.
1304
1345
  */
@@ -1404,7 +1445,35 @@ interface WorkflowTransition {
1404
1445
  requireComment?: boolean;
1405
1446
  /** Remove the public snapshot after this transition commits. */
1406
1447
  unpublish?: boolean;
1448
+ /**
1449
+ * Runs inside the transition's database transaction, after the workflow state
1450
+ * is written and before it commits. Writes made through `tx` commit or roll
1451
+ * back together with the state change; throw to abort the transition and
1452
+ * leave the document in its original state.
1453
+ */
1454
+ onTransition?: WorkflowOnTransitionHook;
1455
+ }
1456
+ interface WorkflowOnTransitionContext<TDoc extends object = Record<string, unknown>> {
1457
+ /** The transition being performed. */
1458
+ transition: WorkflowTransition;
1459
+ /** State the document is moving out of. */
1460
+ from: string;
1461
+ /** State the document is moving into. */
1462
+ to: string;
1463
+ /** The document as locked inside the transaction, before the transition is applied. */
1464
+ doc: TDoc;
1465
+ /** Extra payload supplied by the caller alongside the transition request. */
1466
+ input?: Record<string, unknown>;
1467
+ /** Comment supplied with the transition. */
1468
+ comment?: string;
1469
+ /** The user performing the transition, when the request is authenticated. */
1470
+ user?: AuthenticatedUser;
1471
+ /** Request context for the transition. */
1472
+ req: HookRequestContext;
1473
+ /** Writable, transaction-scoped database adapter. */
1474
+ tx: DatabaseAdapter;
1407
1475
  }
1476
+ type WorkflowOnTransitionHook<TDoc extends object = Record<string, unknown>> = (args: WorkflowOnTransitionContext<TDoc>) => void | Promise<void>;
1408
1477
  interface WorkflowRole {
1409
1478
  /** Existing user role value, for example `editor` or `publisher`. */
1410
1479
  role: string;
@@ -1462,6 +1531,8 @@ interface WorkflowTransitionContext<TDoc extends object = Record<string, unknown
1462
1531
  user?: AuthenticatedUser;
1463
1532
  /** Comment supplied with the transition; required when `requireComment` is set. */
1464
1533
  comment?: string;
1534
+ /** Extra payload supplied by the caller alongside the transition request. */
1535
+ input?: Record<string, unknown>;
1465
1536
  /** Request context for the transition. */
1466
1537
  req: HookRequestContext;
1467
1538
  /** Transaction-scoped database adapter for reads and writes inside the hook. */
@@ -2219,6 +2290,13 @@ interface CollectionConfig<TDoc extends object = Record<string, unknown>> {
2219
2290
  * See `CollectionAfterChangeHook` for await-vs-fire-and-forget guidance.
2220
2291
  */
2221
2292
  afterChange?: CollectionAfterChangeHook<TDoc>[];
2293
+ /**
2294
+ * Runs inside the database transaction that persists a create or update,
2295
+ * before it commits. `tx` is writable, so secondary writes commit or roll
2296
+ * back atomically with the document. Throw to abort the whole operation.
2297
+ * Requires a transactional database adapter.
2298
+ */
2299
+ beforeCommit?: CollectionBeforeCommitHook<TDoc>[];
2222
2300
  /** Runs before a document is deleted. Throw to cancel the deletion. */
2223
2301
  beforeDelete?: CollectionBeforeDeleteHook<TDoc>[];
2224
2302
  /**
@@ -2586,10 +2664,14 @@ interface DatabaseAdapter {
2586
2664
  /** Row-level locking strategy (e.g. SELECT ... FOR UPDATE in transactions). */
2587
2665
  lock?: "for-update";
2588
2666
  }): Promise<PaginatedResult>;
2589
- /** Find a single document by its ID. Returns `null` if not found. */
2667
+ /**
2668
+ * Find a single document by its ID or by a `where` filter (the first match
2669
+ * is returned). Returns `null` if not found. Provide `id` or `where`.
2670
+ */
2590
2671
  findOne(args: {
2591
2672
  collection: string;
2592
- id: string;
2673
+ id?: string;
2674
+ where?: Record<string, unknown>;
2593
2675
  /** Row-level locking strategy (e.g. SELECT ... FOR UPDATE in transactions). */
2594
2676
  lock?: "for-update";
2595
2677
  }): Promise<BaseDocument | null>;
@@ -2765,7 +2847,7 @@ interface ImageService {
2765
2847
  }>;
2766
2848
  }
2767
2849
 
2768
- type FieldType = "text" | "textarea" | "richText" | "number" | "boolean" | "date" | "datetime" | "time" | "select" | "multiSelect" | "radio" | "relationship" | "array" | "object" | "json" | "blocks" | "image" | "email" | "url" | "icon" | "join" | "row";
2850
+ type FieldType = "text" | "textarea" | "richText" | "number" | "money" | "boolean" | "date" | "datetime" | "time" | "select" | "multiSelect" | "radio" | "relationship" | "array" | "object" | "json" | "blocks" | "image" | "email" | "url" | "icon" | "join" | "row";
2769
2851
  interface DynamicOptionsResolverArgs {
2770
2852
  /** Database adapter available to server-side option resolvers. */
2771
2853
  db?: DatabaseAdapter;
@@ -2847,6 +2929,12 @@ interface FieldBase {
2847
2929
  required?: boolean;
2848
2930
  /** Whether values for this field must be unique across the collection. */
2849
2931
  unique?: boolean;
2932
+ /**
2933
+ * Whether the value can only be set when the document is created. Any update
2934
+ * that tries to change it is rejected with a validation error. Re-sending the
2935
+ * unchanged value is allowed.
2936
+ */
2937
+ immutable?: boolean;
2850
2938
  /** Default value: literal value or function computed from context. */
2851
2939
  defaultValue?: unknown;
2852
2940
  /** Static or dynamic option source for supported selection fields. */
@@ -3307,6 +3395,13 @@ type NumberFieldAdmin = NumberLimitFieldAdmin & {
3307
3395
  /** How the value is displayed in read-only Admin surfaces (list cells, read-only inputs). Does not affect storage or editing. */
3308
3396
  format?: NumberFormat;
3309
3397
  };
3398
+ type MoneyFieldAdmin = {
3399
+ /**
3400
+ * Show the stored minor units as a major-unit amount (for example `5250000`
3401
+ * as `52,500.00`) in the Admin. Defaults to `true`. Does not affect storage or the API.
3402
+ */
3403
+ displayMinorAsMajor?: boolean;
3404
+ };
3310
3405
  type DateFieldAdmin = {
3311
3406
  /** How the value is displayed in read-only Admin surfaces (list cells, read-only inputs). Does not affect storage or editing. */
3312
3407
  format?: DateFormat;
@@ -3384,6 +3479,22 @@ type SelectField = TypedField<"select", string, SelectFieldAdmin>;
3384
3479
  type RadioField = TypedField<"radio", string, RadioFieldAdmin>;
3385
3480
  /** A numeric value. Optional advisory `min`/`max` guide editors without enforcing server-side validation. */
3386
3481
  type NumberField = TypedField<"number", number, NumberFieldAdmin> & NumberLimitFieldConfig;
3482
+ /** Currency settings for a `money` field. */
3483
+ interface MoneyFieldConfig {
3484
+ /** Fixed ISO 4217 currency code for every value, for example `"NGN"`. */
3485
+ currency?: string;
3486
+ /** Name of a sibling field holding the ISO 4217 currency code for each document. Overrides `currency`. */
3487
+ currencyField?: string;
3488
+ /** Digits after the decimal point in the major unit. Defaults to `2` (kobo, cents). */
3489
+ decimals?: number;
3490
+ }
3491
+ /**
3492
+ * A monetary amount stored as an integer count of minor units (kobo, cents),
3493
+ * so arithmetic never suffers floating-point drift. The API reads and writes
3494
+ * the integer; only the Admin formats it as a major-unit amount. Values must be
3495
+ * safe integers, and integer strings are accepted and converted.
3496
+ */
3497
+ type MoneyField = TypedField<"money", number, MoneyFieldAdmin> & MoneyFieldConfig;
3387
3498
  /** A `true`/`false` value, shown to editors as a checkbox or switch. */
3388
3499
  type BooleanField = TypedField<"boolean", boolean, BooleanFieldAdmin>;
3389
3500
  /**
@@ -3453,7 +3564,7 @@ type JoinField = TypedField<"join", unknown, JoinFieldAdmin> & {
3453
3564
  };
3454
3565
  /** A layout-only container that arranges its child `fields` horizontally in the admin UI. Stores no value of its own. */
3455
3566
  type RowField = TypedField<"row", unknown>;
3456
- type Field = TextField | TextareaField | EmailField | UrlField | IconField | DateField | DateTimeField | TimeField | SelectField | RadioField | NumberField | BooleanField | MultiSelectField | RelationshipField | ImageField | RichTextField | JsonField | ObjectField | ArrayField | BlocksField | JoinField | RowField;
3567
+ type Field = TextField | TextareaField | EmailField | UrlField | IconField | DateField | DateTimeField | TimeField | SelectField | RadioField | NumberField | MoneyField | BooleanField | MultiSelectField | RelationshipField | ImageField | RichTextField | JsonField | ObjectField | ArrayField | BlocksField | JoinField | RowField;
3457
3568
  interface UploadConfig {
3458
3569
  /** Allowed MIME types for uploaded files. */
3459
3570
  allowedMimeTypes?: string[];
@@ -3614,6 +3725,56 @@ interface AdminAuthConfig {
3614
3725
  resolveAccess?: (args: AdminAuthResolveAccessArgs) => Promise<AdminAuthAccessResolution> | AdminAuthAccessResolution;
3615
3726
  }
3616
3727
 
3728
+ /** Minimal structural logger handed to task handlers (a pino logger satisfies it). */
3729
+ interface TaskLogger {
3730
+ info(obj: unknown, msg?: string): void;
3731
+ warn(obj: unknown, msg?: string): void;
3732
+ error(obj: unknown, msg?: string): void;
3733
+ }
3734
+ interface TaskContext {
3735
+ /** The database adapter. */
3736
+ db: DatabaseAdapter;
3737
+ /** Logger scoped to this task. */
3738
+ logger: TaskLogger;
3739
+ /**
3740
+ * Aborted when the run exceeds `lockTimeout`. Pass it to `fetch` or check it
3741
+ * in long loops so an overrunning task stops touching data after its lock lapses.
3742
+ */
3743
+ signal: AbortSignal;
3744
+ /** The cron slot this run was started for, or `undefined` for a manual run. */
3745
+ scheduledFor?: Date;
3746
+ }
3747
+ /**
3748
+ * A named background job. Define it with `defineTask` and list it under
3749
+ * `tasks` in your config, then run it with `createTaskRunner`.
3750
+ */
3751
+ interface TaskConfig {
3752
+ /** Unique, stable name, for example `wallet:ledger-drift`. Also the lock key. */
3753
+ name: string;
3754
+ /**
3755
+ * Standard five-field cron expression (`minute hour day-of-month month day-of-week`),
3756
+ * evaluated in UTC. Omit for a task that only runs when you call `runTask`.
3757
+ */
3758
+ cron?: string;
3759
+ /**
3760
+ * Seconds a run may hold its lock before another instance may take over,
3761
+ * and before its `signal` is aborted. Defaults to 300.
3762
+ */
3763
+ lockTimeout?: number;
3764
+ /** The work to do. Throw to record the run as failed. */
3765
+ run: (context: TaskContext) => void | Promise<void>;
3766
+ }
3767
+ type TaskRunStatus = "completed" | "failed" | "skipped";
3768
+ interface TaskRunResult {
3769
+ name: string;
3770
+ status: TaskRunStatus;
3771
+ /** Why a run was skipped. */
3772
+ reason?: "locked" | "not-due";
3773
+ /** Failure message when `status` is `"failed"`. */
3774
+ error?: string;
3775
+ durationMs: number;
3776
+ }
3777
+
3617
3778
  type DyrectedLoggerConfig = {
3618
3779
  options: LoggerOptions;
3619
3780
  destination?: DestinationStream;
@@ -3852,6 +4013,11 @@ interface DyrectedConfig<TUser extends AuthenticatedUser = AuthenticatedUser> {
3852
4013
  redis?: {
3853
4014
  url: string;
3854
4015
  };
4016
+ /**
4017
+ * Background tasks. Define each with `defineTask`, then run them with
4018
+ * `createTaskRunner(config)`.
4019
+ */
4020
+ tasks?: TaskConfig[];
3855
4021
  /** Durable lifecycle-event delivery configuration. */
3856
4022
  events?: {
3857
4023
  handlers: LifecycleEventHandler[];
@@ -4064,4 +4230,4 @@ interface DyrectedContext {
4064
4230
  */
4065
4231
  declare function createDyrectedApp(rawConfig: DyrectedConfig | any): Promise<Hono<DyrectedContext, hono_types.BlankSchema, "/">>;
4066
4232
 
4067
- export { type DateField as $, type AdminAuthConfig as A, type Block as B, type CollectionConfig as C, type DyrectedConfig as D, type DetailTabs as E, type Field as F, type GlobalConfig as G, type HookRequestContext as H, type DetailTextOptions as I, type DetailText as J, type DetailSchema as K, type LifecycleEventName as L, type DyrectedContext as M, type AIConfig as N, type AIPIIConfig as O, type PublicAdminAuthConfig as P, type IdStrategy as Q, type CompiledNavTree as R, type CompiledNavItem as S, type DefineWorkspaceOptions as T, type UserNavigationPreferences as U, type ArrayField as V, type WorkflowConfig as W, type FieldType as X, type BooleanField as Y, type AuthConfig as Z, type AccessPolicyResolver as _, type DeclarativeHookExpression as a, type AggregateResult as a$, type DateTimeField as a0, type EmailField as a1, type IconField as a2, type ImageField as a3, type JoinField as a4, type JsonField as a5, type MultiSelectField as a6, type NumberField as a7, type ObjectField as a8, type RadioField as a9, type AccessConfig as aA, type AccessFunction as aB, type AccessFunctionArgs as aC, type AccessResult as aD, type AccessRule as aE, type ActionConfig as aF, type ActionConfigBase as aG, type ActionConfigWithHandler as aH, type ActionConfigWithMutation as aI, type ActionContext as aJ, type ActionType as aK, type AdminAuthAccessResolution as aL, type AdminAuthClaimMapping as aM, type AdminAuthMember as aN, type AdminAuthProvider as aO, type AdminAuthProviderMembersConfig as aP, type AdminAuthProvisioningMode as aQ, type AdminAuthResolveAccessArgs as aR, type AdminAuthResolvedIdentity as aS, type AdminConfig as aT, type AdminDashboardComponentSlots as aU, type AdminIconName as aV, type AggregateArgs as aW, type AggregateCastType as aX, type AggregateCollectionResult as aY, type AggregateInput as aZ, type AggregateOperation as a_, type RelationshipField as aa, type RichTextField as ab, type RowField as ac, type SelectField as ad, type TextField as ae, type TextareaField as af, type TimeField as ag, type UrlField as ah, type AIAction as ai, type AIActionStatus as aj, type AIActionType as ak, type AIAuditActionType as al, type AIAuditRecord as am, type AIChunk as an, type AIMessage as ao, type AIPIIPattern as ap, type AIRateLimitResult as aq, type AIRateLimitStore as ar, type AIThread as as, type AIToolContext as at, type AIToolDefinition as au, AI_ACTIONS_COLLECTION as av, AI_AUDIT_COLLECTION as aw, AI_CHUNKS_COLLECTION as ax, AI_MESSAGES_COLLECTION as ay, AI_THREADS_COLLECTION as az, type AuthenticatedUser as b, type FieldAfterReadHook as b$, type BaseAdminAuthProvider as b0, type BaseFieldAdmin as b1, type BlockVariant as b2, type BlocksField as b3, type BooleanFieldAdmin as b4, type BooleanFormat as b5, CURRENT_NAV_PREFERENCES_VERSION as b6, type CalendarViewConfig as b7, type CardsViewConfig as b8, type CharacterLimitFieldAdmin as b9, type DefineActionOptions as bA, type DefineCalendarViewOptions as bB, type DefineCardsViewOptions as bC, type DefineGanttViewOptions as bD, type DefineKanbanViewOptions as bE, type DefineTableViewOptions as bF, type DefineViewBaseOptions as bG, type DefineViewOptions as bH, type DetailSpan as bI, type DisplayTone as bJ, type DisplayVariant as bK, type DistinctCountOperation as bL, type DistinctValuesOperation as bM, type DynamicOptionItem as bN, type DynamicOptionsConfig as bO, type DynamicOptionsResolver as bP, type DynamicOptionsResolverArgs as bQ, type DyrectedAIContext as bR, type DyrectedLoggerConfig as bS, type DyrectedObservabilityConfig as bT, type EmailFieldAdmin as bU, type FieldAdminHooks as bV, type FieldAdminOnChangeHook as bW, type FieldAdminOnChangeHookArgs as bX, type FieldAdminOptionsHook as bY, type FieldAdminOptionsHookArgs as bZ, type FieldAdminOptionsHookResult as b_, type CharacterLimitFieldConfig as ba, type CollectionAfterChangeHook as bb, type CollectionAfterDeleteHook as bc, type CollectionAfterReadHook as bd, type CollectionAfterReadHookEntry as be, type CollectionAfterTransitionHook as bf, type CollectionBeforeChangeHook as bg, type CollectionBeforeChangeHookEntry as bh, type CollectionBeforeDeleteHook as bi, type CollectionBeforeReadHook as bj, type CollectionBeforeReadHookEntry as bk, type CollectionBeforeTransitionHook as bl, type CollectionIndex as bm, type CollectionListComponentSlots as bn, type CollectionRAGConfig as bo, type CollectionSchemaResult as bp, type CollectionSummaryResult as bq, type CollectionViewComponentSlots as br, type CompiledNavGroup as bs, type CountOperation as bt, type CustomAdminAuthProvider as bu, DEFAULT_USER_NAV_PREFERENCES as bv, type DatabaseAdapter as bw, type DateFieldAdmin as bx, type DateFormat as by, type DefaultValueContext as bz, type WorkflowTransition as c, type TypedField as c$, type FieldAfterReadHookArgs as c0, type FieldBase as c1, type FieldBeforeChangeHook as c2, type FieldBeforeChangeHookArgs as c3, type FieldHook as c4, type FieldHooks as c5, type FileData as c6, type GanttViewConfig as c7, type GetDocumentResult as c8, type GlobalAfterChangeHook as c9, type NavGroup as cA, type NumberFieldAdmin as cB, type NumberFormat as cC, type NumberLimitFieldAdmin as cD, type NumberLimitFieldConfig as cE, type NumericOperation as cF, type NumericUpdateOperator as cG, type OIDCAdminAuthProvider as cH, type OptionFormat as cI, type PaginatedResult as cJ, type PinnedNavItemRef as cK, type PublicAdminAuthProvider as cL, type QueryCollectionResult as cM, type RAGSearchResult as cN, type RadioFieldAdmin as cO, type RateLimitConfig as cP, type ReadonlyDatabaseAdapter as cQ, type RichTextFeature as cR, type RichTextFieldConfig as cS, type SelectFieldAdmin as cT, type SqlWhereResult as cU, type StorageAdapter as cV, type TableViewConfig as cW, type TextFieldAdmin as cX, type TextFormat as cY, type TextareaFieldAdmin as cZ, type TrustProxyConfig as c_, type GlobalAfterReadHook as ca, type GlobalAfterReadHookEntry as cb, type GlobalBeforeChangeHook as cc, type GlobalBeforeChangeHookEntry as cd, type GlobalBeforeReadHook as ce, type GlobalBeforeReadHookEntry as cf, type GlobalRAGConfig as cg, type GlobalSchemaResult as ch, type GlobalSummaryResult as ci, type HeadingLevel as cj, type HookFunction as ck, type IconFieldAdmin as cl, type ImageService as cm, type ImageTransformOptions as cn, type InferAggregateResult as co, type JoinFieldAdmin as cp, type JsonFieldAdmin as cq, type JsonFormat as cr, type KanbanViewConfig as cs, LIFECYCLE_EVENT_NAMES as ct, type LifecycleEventHandler as cu, type LinkFormat as cv, type MetricColor as cw, type MultiSelectFieldAdmin as cx, type NamedAccessPolicy as cy, type NavBadgeConfig as cz, type LifecycleEvent as d, type UploadConfig as d0, type UrlFieldAdmin as d1, type UrlLinkValue as d2, type ViewActionFeatures as d3, type ViewComponentSlots as d4, type ViewConfig as d5, type ViewConfigBase as d6, type ViewLayout as d7, type ViewMetric as d8, type ViewSubMetric as d9, type ResolvedObservabilityConfig as dA, attachRequestMetrics as dB, bindObservabilityRuntime as dC, buildRequestLogger as dD, captureRequestBody as dE, createDyrectedApp as dF, createObservabilityRuntime as dG, createRequestSpan as dH, decodeCollectionToken as dI, endRequestSpan as dJ, getConfigLogger as dK, getObservabilityRuntime as dL, getRequestLogger as dM, redactBody as dN, redactHeaders as dO, renderPrometheusMetrics as dP, resolveObservabilityConfig as dQ, resolveSessionTokenExpiry as dR, shouldSampleRequest as dS, signCollectionToken as dT, verifyCollectionToken as dU, type WhereClause as da, type WhereOperator as db, type WhereOperatorName as dc, type WordLimitFieldAdmin as dd, type WordLimitFieldConfig as de, type WorkflowMetadata as df, type WorkflowRole as dg, type WorkflowState as dh, type WorkflowTransitionContext as di, defineAction as dj, defineCalendarView as dk, defineCardsView as dl, defineGanttView as dm, defineKanbanView as dn, defineTableView as dp, defineView as dq, defineWorkspace as dr, isAICollection as ds, parseMongoWhere as dt, parseSqlWhere as du, type CollectionTokenPayload as dv, DEFAULT_SESSION_EXPIRY as dw, type DyrectedObservabilityRuntime as dx, type RequestBodyCapture as dy, type RequestTraceContext as dz, type BaseDocument as e, type DetailActionOptions as f, type DetailAction as g, type DetailComputedOptions as h, type ComputedHandler as i, type DetailComputed as j, type DetailCustomOptions as k, type DetailCustom as l, type DetailDividerOptions as m, type DetailDivider as n, type DisplayFieldOptions as o, type DetailField as p, type DetailItem as q, type DetailGridOptions as r, type DetailGrid as s, type DetailRepeatOptions as t, type DetailRepeat as u, type DetailSectionOptions as v, type DetailSection as w, type DetailTabOptions as x, type DetailTab as y, type DetailTabsOptions as z };
4233
+ export { type BooleanField as $, type AdminAuthConfig as A, type Block as B, type CollectionConfig as C, type DyrectedConfig as D, type DetailTab as E, type Field as F, type GlobalConfig as G, type HookRequestContext as H, type DetailTabsOptions as I, type DetailTabs as J, type DetailTextOptions as K, type LifecycleEventName as L, type DetailText as M, type DetailSchema as N, type DyrectedContext as O, type PublicAdminAuthConfig as P, type AIConfig as Q, type AIPIIConfig as R, type IdStrategy as S, type TaskRunResult as T, type CompiledNavTree as U, type CompiledNavItem as V, type WorkflowConfig as W, type UserNavigationPreferences as X, type DefineWorkspaceOptions as Y, type ArrayField as Z, type FieldType as _, type DeclarativeHookExpression as a, type AggregateCastType as a$, type AuthConfig as a0, type AccessPolicyResolver as a1, type DateField as a2, type DateTimeField as a3, type EmailField as a4, type IconField as a5, type ImageField as a6, type JoinField as a7, type JsonField as a8, type MoneyField as a9, AI_AUDIT_COLLECTION as aA, AI_CHUNKS_COLLECTION as aB, AI_MESSAGES_COLLECTION as aC, AI_THREADS_COLLECTION as aD, type AccessConfig as aE, type AccessFunction as aF, type AccessFunctionArgs as aG, type AccessResult as aH, type AccessRule as aI, type ActionConfig as aJ, type ActionConfigBase as aK, type ActionConfigWithHandler as aL, type ActionConfigWithMutation as aM, type ActionContext as aN, type ActionType as aO, type AdminAuthAccessResolution as aP, type AdminAuthClaimMapping as aQ, type AdminAuthMember as aR, type AdminAuthProvider as aS, type AdminAuthProviderMembersConfig as aT, type AdminAuthProvisioningMode as aU, type AdminAuthResolveAccessArgs as aV, type AdminAuthResolvedIdentity as aW, type AdminConfig as aX, type AdminDashboardComponentSlots as aY, type AdminIconName as aZ, type AggregateArgs as a_, type MultiSelectField as aa, type NumberField as ab, type ObjectField as ac, type RadioField as ad, type RelationshipField as ae, type RichTextField as af, type RowField as ag, type SelectField as ah, type TextField as ai, type TextareaField as aj, type TimeField as ak, type UrlField as al, type AIAction as am, type AIActionStatus as an, type AIActionType as ao, type AIAuditActionType as ap, type AIAuditRecord as aq, type AIChunk as ar, type AIMessage as as, type AIPIIPattern as at, type AIRateLimitResult as au, type AIRateLimitStore as av, type AIThread as aw, type AIToolContext as ax, type AIToolDefinition as ay, AI_ACTIONS_COLLECTION as az, type AuthenticatedUser as b, type FieldAdminOnChangeHookArgs as b$, type AggregateCollectionResult as b0, type AggregateInput as b1, type AggregateOperation as b2, type AggregateResult as b3, type BaseAdminAuthProvider as b4, type BaseFieldAdmin as b5, type BlockVariant as b6, type BlocksField as b7, type BooleanFieldAdmin as b8, type BooleanFormat as b9, DEFAULT_USER_NAV_PREFERENCES as bA, type DateFieldAdmin as bB, type DateFormat as bC, type DefaultValueContext as bD, type DefineActionOptions as bE, type DefineCalendarViewOptions as bF, type DefineCardsViewOptions as bG, type DefineGanttViewOptions as bH, type DefineKanbanViewOptions as bI, type DefineTableViewOptions as bJ, type DefineViewBaseOptions as bK, type DefineViewOptions as bL, type DetailSpan as bM, type DisplayTone as bN, type DisplayVariant as bO, type DistinctCountOperation as bP, type DistinctValuesOperation as bQ, type DynamicOptionItem as bR, type DynamicOptionsConfig as bS, type DynamicOptionsResolver as bT, type DynamicOptionsResolverArgs as bU, type DyrectedAIContext as bV, type DyrectedLoggerConfig as bW, type DyrectedObservabilityConfig as bX, type EmailFieldAdmin as bY, type FieldAdminHooks as bZ, type FieldAdminOnChangeHook as b_, CURRENT_NAV_PREFERENCES_VERSION as ba, type CalendarViewConfig as bb, type CardsViewConfig as bc, type CharacterLimitFieldAdmin as bd, type CharacterLimitFieldConfig as be, type CollectionAfterChangeHook as bf, type CollectionAfterDeleteHook as bg, type CollectionAfterReadHook as bh, type CollectionAfterReadHookEntry as bi, type CollectionAfterTransitionHook as bj, type CollectionBeforeChangeHook as bk, type CollectionBeforeChangeHookEntry as bl, type CollectionBeforeCommitHook as bm, type CollectionBeforeDeleteHook as bn, type CollectionBeforeReadHook as bo, type CollectionBeforeReadHookEntry as bp, type CollectionBeforeTransitionHook as bq, type CollectionIndex as br, type CollectionListComponentSlots as bs, type CollectionRAGConfig as bt, type CollectionSchemaResult as bu, type CollectionSummaryResult as bv, type CollectionViewComponentSlots as bw, type CompiledNavGroup as bx, type CountOperation as by, type CustomAdminAuthProvider as bz, type WorkflowTransition as c, type StorageAdapter as c$, type FieldAdminOptionsHook as c0, type FieldAdminOptionsHookArgs as c1, type FieldAdminOptionsHookResult as c2, type FieldAfterReadHook as c3, type FieldAfterReadHookArgs as c4, type FieldBase as c5, type FieldBeforeChangeHook as c6, type FieldBeforeChangeHookArgs as c7, type FieldHook as c8, type FieldHooks as c9, type MetricColor as cA, type MoneyFieldAdmin as cB, type MoneyFieldConfig as cC, type MultiSelectFieldAdmin as cD, type NamedAccessPolicy as cE, type NavBadgeConfig as cF, type NavGroup as cG, type NumberFieldAdmin as cH, type NumberFormat as cI, type NumberLimitFieldAdmin as cJ, type NumberLimitFieldConfig as cK, type NumericOperation as cL, type NumericUpdateOperator as cM, type OIDCAdminAuthProvider as cN, type OptionFormat as cO, type PaginatedResult as cP, type PinnedNavItemRef as cQ, type PublicAdminAuthProvider as cR, type QueryCollectionResult as cS, type RAGSearchResult as cT, type RadioFieldAdmin as cU, type RateLimitConfig as cV, type ReadonlyDatabaseAdapter as cW, type RichTextFeature as cX, type RichTextFieldConfig as cY, type SelectFieldAdmin as cZ, type SqlWhereResult as c_, type FileData as ca, type GanttViewConfig as cb, type GetDocumentResult as cc, type GlobalAfterChangeHook as cd, type GlobalAfterReadHook as ce, type GlobalAfterReadHookEntry as cf, type GlobalBeforeChangeHook as cg, type GlobalBeforeChangeHookEntry as ch, type GlobalBeforeReadHook as ci, type GlobalBeforeReadHookEntry as cj, type GlobalRAGConfig as ck, type GlobalSchemaResult as cl, type GlobalSummaryResult as cm, type HeadingLevel as cn, type HookFunction as co, type IconFieldAdmin as cp, type ImageService as cq, type ImageTransformOptions as cr, type InferAggregateResult as cs, type JoinFieldAdmin as ct, type JsonFieldAdmin as cu, type JsonFormat as cv, type KanbanViewConfig as cw, LIFECYCLE_EVENT_NAMES as cx, type LifecycleEventHandler as cy, type LinkFormat as cz, type LifecycleEvent as d, renderPrometheusMetrics as d$, type TableViewConfig as d0, type TaskContext as d1, type TaskLogger as d2, type TaskRunStatus as d3, type TextFieldAdmin as d4, type TextFormat as d5, type TextareaFieldAdmin as d6, type TrustProxyConfig as d7, type TypedField as d8, type UploadConfig as d9, defineKanbanView as dA, defineTableView as dB, defineView as dC, defineWorkspace as dD, isAICollection as dE, parseMongoWhere as dF, parseSqlWhere as dG, type CollectionTokenPayload as dH, DEFAULT_SESSION_EXPIRY as dI, type DyrectedObservabilityRuntime as dJ, type RequestBodyCapture as dK, type RequestTraceContext as dL, type ResolvedObservabilityConfig as dM, attachRequestMetrics as dN, bindObservabilityRuntime as dO, buildRequestLogger as dP, captureRequestBody as dQ, createDyrectedApp as dR, createObservabilityRuntime as dS, createRequestSpan as dT, decodeCollectionToken as dU, endRequestSpan as dV, getConfigLogger as dW, getObservabilityRuntime as dX, getRequestLogger as dY, redactBody as dZ, redactHeaders as d_, type UrlFieldAdmin as da, type UrlLinkValue as db, type ViewActionFeatures as dc, type ViewComponentSlots as dd, type ViewConfig as de, type ViewConfigBase as df, type ViewLayout as dg, type ViewMetric as dh, type ViewSubMetric as di, type WhereClause as dj, type WhereOperator as dk, type WhereOperatorName as dl, type WordLimitFieldAdmin as dm, type WordLimitFieldConfig as dn, type WorkflowMetadata as dp, type WorkflowOnTransitionContext as dq, type WorkflowOnTransitionHook as dr, type WorkflowRole as ds, type WorkflowState as dt, type WorkflowTransitionContext as du, coerceBooleanWhere as dv, defineAction as dw, defineCalendarView as dx, defineCardsView as dy, defineGanttView as dz, type DatabaseAdapter as e, resolveObservabilityConfig as e0, resolveSessionTokenExpiry as e1, shouldSampleRequest as e2, signCollectionToken as e3, verifyCollectionToken as e4, type BaseDocument as f, type TaskConfig as g, type DetailActionOptions as h, type DetailAction as i, type DetailComputedOptions as j, type ComputedHandler as k, type DetailComputed as l, type DetailCustomOptions as m, type DetailCustom as n, type DetailDividerOptions as o, type DetailDivider as p, type DisplayFieldOptions as q, type DetailField as r, type DetailItem as s, type DetailGridOptions as t, type DetailGrid as u, type DetailRepeatOptions as v, type DetailRepeat as w, type DetailSectionOptions as x, type DetailSection as y, type DetailTabOptions as z };