@dyrected/core 2.17.0 → 2.18.1

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 FieldType 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 ViewConfig as Z, type ArrayField as _, type DeclarativeHookExpression as a, type AggregateArgs as a$, type BooleanField as a0, type AuthConfig as a1, type AccessPolicyResolver as a2, type DateField as a3, type DateTimeField as a4, type EmailField as a5, type IconField as a6, type ImageField as a7, type JoinField as a8, type JsonField as a9, AI_ACTIONS_COLLECTION as aA, AI_AUDIT_COLLECTION as aB, AI_CHUNKS_COLLECTION as aC, AI_MESSAGES_COLLECTION as aD, AI_THREADS_COLLECTION as aE, type AccessConfig as aF, type AccessFunction as aG, type AccessFunctionArgs as aH, type AccessResult as aI, type AccessRule as aJ, type ActionConfig as aK, type ActionConfigBase as aL, type ActionConfigWithHandler as aM, type ActionConfigWithMutation as aN, type ActionContext as aO, type ActionType as aP, type AdminAuthAccessResolution as aQ, type AdminAuthClaimMapping as aR, type AdminAuthMember as aS, type AdminAuthProvider as aT, type AdminAuthProviderMembersConfig as aU, type AdminAuthProvisioningMode as aV, type AdminAuthResolveAccessArgs as aW, type AdminAuthResolvedIdentity as aX, type AdminConfig as aY, type AdminDashboardComponentSlots as aZ, type AdminIconName as a_, type MoneyField as aa, type MultiSelectField as ab, type NumberField as ac, type ObjectField as ad, type RadioField as ae, type RelationshipField as af, type RichTextField as ag, type RowField as ah, type SelectField as ai, type TextField as aj, type TextareaField as ak, type TimeField as al, type UrlField as am, type AIAction as an, type AIActionStatus as ao, type AIActionType as ap, type AIAuditActionType as aq, type AIAuditRecord as ar, type AIChunk as as, type AIMessage as at, type AIPIIPattern as au, type AIRateLimitResult as av, type AIRateLimitStore as aw, type AIThread as ax, type AIToolContext as ay, type AIToolDefinition as az, type AuthenticatedUser as b, type FieldAdminOnChangeHook as b$, type AggregateCastType as b0, type AggregateCollectionResult as b1, type AggregateInput as b2, type AggregateOperation as b3, type AggregateResult as b4, type BaseAdminAuthProvider as b5, type BaseFieldAdmin as b6, type BlockVariant as b7, type BlocksField as b8, type BooleanFieldAdmin as b9, type CustomAdminAuthProvider as bA, DEFAULT_USER_NAV_PREFERENCES as bB, type DateFieldAdmin as bC, type DateFormat as bD, type DefaultValueContext as bE, type DefineActionOptions as bF, type DefineCalendarViewOptions as bG, type DefineCardsViewOptions as bH, type DefineGanttViewOptions as bI, type DefineKanbanViewOptions as bJ, type DefineTableViewOptions as bK, type DefineViewBaseOptions as bL, type DefineViewOptions as bM, type DetailSpan as bN, type DisplayTone as bO, type DisplayVariant as bP, type DistinctCountOperation as bQ, type DistinctValuesOperation as bR, type DynamicOptionItem as bS, type DynamicOptionsConfig as bT, type DynamicOptionsResolver as bU, type DynamicOptionsResolverArgs as bV, type DyrectedAIContext as bW, type DyrectedLoggerConfig as bX, type DyrectedObservabilityConfig as bY, type EmailFieldAdmin as bZ, type FieldAdminHooks as b_, type BooleanFormat as ba, CURRENT_NAV_PREFERENCES_VERSION as bb, type CalendarViewConfig as bc, type CardsViewConfig as bd, type CharacterLimitFieldAdmin as be, type CharacterLimitFieldConfig as bf, type CollectionAfterChangeHook as bg, type CollectionAfterDeleteHook as bh, type CollectionAfterReadHook as bi, type CollectionAfterReadHookEntry as bj, type CollectionAfterTransitionHook as bk, type CollectionBeforeChangeHook as bl, type CollectionBeforeChangeHookEntry as bm, type CollectionBeforeCommitHook as bn, type CollectionBeforeDeleteHook as bo, type CollectionBeforeReadHook as bp, type CollectionBeforeReadHookEntry as bq, type CollectionBeforeTransitionHook as br, type CollectionIndex as bs, type CollectionListComponentSlots as bt, type CollectionRAGConfig as bu, type CollectionSchemaResult as bv, type CollectionSummaryResult as bw, type CollectionViewComponentSlots as bx, type CompiledNavGroup as by, type CountOperation as bz, type WorkflowTransition as c, type SqlWhereResult as c$, type FieldAdminOnChangeHookArgs as c0, type FieldAdminOptionsHook as c1, type FieldAdminOptionsHookArgs as c2, type FieldAdminOptionsHookResult as c3, type FieldAfterReadHook as c4, type FieldAfterReadHookArgs as c5, type FieldBase as c6, type FieldBeforeChangeHook as c7, type FieldBeforeChangeHookArgs as c8, type FieldHook as c9, type LinkFormat as cA, type MetricColor as cB, type MoneyFieldAdmin as cC, type MoneyFieldConfig as cD, type MultiSelectFieldAdmin as cE, type NamedAccessPolicy as cF, type NavBadgeConfig as cG, type NavGroup as cH, type NumberFieldAdmin as cI, type NumberFormat as cJ, type NumberLimitFieldAdmin as cK, type NumberLimitFieldConfig as cL, type NumericOperation as cM, type NumericUpdateOperator as cN, type OIDCAdminAuthProvider as cO, type OptionFormat as cP, type PaginatedResult as cQ, type PinnedNavItemRef as cR, type PublicAdminAuthProvider as cS, type QueryCollectionResult as cT, type RAGSearchResult as cU, type RadioFieldAdmin as cV, type RateLimitConfig as cW, type ReadonlyDatabaseAdapter as cX, type RichTextFeature as cY, type RichTextFieldConfig as cZ, type SelectFieldAdmin as c_, type FieldHooks as ca, type FileData as cb, type GanttViewConfig as cc, type GetDocumentResult as cd, type GlobalAfterChangeHook as ce, type GlobalAfterReadHook as cf, type GlobalAfterReadHookEntry as cg, type GlobalBeforeChangeHook as ch, type GlobalBeforeChangeHookEntry as ci, type GlobalBeforeReadHook as cj, type GlobalBeforeReadHookEntry as ck, type GlobalRAGConfig as cl, type GlobalSchemaResult as cm, type GlobalSummaryResult as cn, type HeadingLevel as co, type HookFunction as cp, type IconFieldAdmin as cq, type ImageService as cr, type ImageTransformOptions as cs, type InferAggregateResult as ct, type JoinFieldAdmin as cu, type JsonFieldAdmin as cv, type JsonFormat as cw, type KanbanViewConfig as cx, LIFECYCLE_EVENT_NAMES as cy, type LifecycleEventHandler as cz, type LifecycleEvent as d, renderPrometheusMetrics as d$, type StorageAdapter as d0, type TableViewConfig as d1, type TaskContext as d2, type TaskLogger as d3, type TaskRunStatus as d4, type TextFieldAdmin as d5, type TextFormat as d6, type TextareaFieldAdmin as d7, type TrustProxyConfig as d8, type TypedField 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 UploadConfig as da, type UrlFieldAdmin as db, type UrlLinkValue as dc, type ViewActionFeatures as dd, type ViewComponentSlots 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 };