@dyrected/core 2.13.5 → 2.14.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.
@@ -685,7 +685,15 @@ interface WorkflowTransition {
685
685
  /** Stable transition key used by the REST and SDK APIs. */
686
686
  name: string;
687
687
  label: string;
688
+ /**
689
+ * Source state(s) this transition originates from.
690
+ * Must match names in the workflow's `states` array.
691
+ */
688
692
  from: string | string[];
693
+ /**
694
+ * Target state this transition leads to.
695
+ * Must match a name in the workflow's `states` array.
696
+ */
689
697
  to: string;
690
698
  /** Every listed capability is required. */
691
699
  requiredCapabilities?: string[];
@@ -1300,10 +1308,10 @@ type WhereOperator = {
1300
1308
  /** Top-level where clause. Fields map to operator objects or shorthand scalar values. */
1301
1309
  type WhereClause = {
1302
1310
  [field: string]: WhereOperator | any;
1303
- OR?: WhereClause[];
1304
- or?: WhereClause[];
1305
- AND?: WhereClause[];
1306
- and?: WhereClause[];
1311
+ OR?: WhereClause[] | readonly WhereClause[];
1312
+ or?: WhereClause[] | readonly WhereClause[];
1313
+ AND?: WhereClause[] | readonly WhereClause[];
1314
+ and?: WhereClause[] | readonly WhereClause[];
1307
1315
  };
1308
1316
  interface SqlWhereResult {
1309
1317
  sql: string;
@@ -1495,9 +1503,9 @@ interface ViewConfig {
1495
1503
  access?: AccessConfig;
1496
1504
  }
1497
1505
  /**
1498
- * An operational workflow action that can mutate data or trigger server logic.
1506
+ * Base configuration shared by all action types.
1499
1507
  */
1500
- interface ActionConfig<TDoc extends Record<string, unknown> = Record<string, unknown>> {
1508
+ interface ActionConfigBase<TDoc extends Record<string, unknown> = Record<string, unknown>> {
1501
1509
  /** Unique action identifier (e.g. `"checkIn"`, `"markPaid"`). */
1502
1510
  name: string;
1503
1511
  /** Button label displayed in the UI. */
@@ -1512,13 +1520,32 @@ interface ActionConfig<TDoc extends Record<string, unknown> = Record<string, unk
1512
1520
  confirm?: string;
1513
1521
  /** Optional interactive modal form fields prompting the user for input before executing. */
1514
1522
  fields?: Field[];
1515
- /** Declarative database mutation applied to targeted documents (e.g. `{ checkedIn: true, checkedInAt: "now()" }`). */
1516
- mutation?: Partial<TDoc> | Record<string, unknown>;
1517
- /** Self-hosted server handler function executed when the action is triggered. */
1518
- handler?: (context: ActionContext<TDoc>) => Promise<unknown> | unknown;
1519
1523
  /** Role-based access rules controlling who can trigger this action. */
1520
1524
  access?: AccessConfig;
1521
1525
  }
1526
+ /**
1527
+ * An operational workflow action with declarative data mutation.
1528
+ */
1529
+ interface ActionConfigWithMutation<TDoc extends Record<string, unknown> = Record<string, unknown>> extends ActionConfigBase<TDoc> {
1530
+ /** Declarative database mutation applied to targeted documents (e.g. `{ checkedIn: true, checkedInAt: "now()" }`). */
1531
+ mutation: Partial<TDoc> | Record<string, unknown>;
1532
+ /** Optional server handler for additional logic. */
1533
+ handler?: (context: ActionContext<TDoc>) => Promise<unknown> | unknown;
1534
+ }
1535
+ /**
1536
+ * An operational workflow action with server handler.
1537
+ */
1538
+ interface ActionConfigWithHandler<TDoc extends Record<string, unknown> = Record<string, unknown>> extends ActionConfigBase<TDoc> {
1539
+ /** Self-hosted server handler function executed when the action is triggered (required when mutation is not provided). */
1540
+ handler: (context: ActionContext<TDoc>) => Promise<unknown> | unknown;
1541
+ /** Optional declarative mutation. */
1542
+ mutation?: Partial<TDoc> | Record<string, unknown>;
1543
+ }
1544
+ /**
1545
+ * An operational workflow action that can mutate data or trigger server logic.
1546
+ * Requires either `mutation` or `handler` (or both).
1547
+ */
1548
+ type ActionConfig<TDoc extends Record<string, unknown> = Record<string, unknown>> = ActionConfigWithMutation<TDoc> | ActionConfigWithHandler<TDoc>;
1522
1549
  /**
1523
1550
  * Context passed to an action's server handler function.
1524
1551
  */
@@ -1544,41 +1571,17 @@ interface AccessConfig {
1544
1571
  delete?: AccessRule<any>;
1545
1572
  }
1546
1573
  /**
1547
- * Options for defining an operational view with `defineView`.
1548
- *
1549
- * @example
1550
- * ```ts
1551
- * export const attendingGuests = defineView({
1552
- * slug: "attending-guests",
1553
- * label: "Attending Guests",
1554
- * icon: "UserCheck",
1555
- * layout: "table",
1556
- * groupBy: "tableNumber",
1557
- * filter: { attending: { equals: true } },
1558
- * columns: ["name", "email", "guestCount", "checkedIn"],
1559
- * sort: { field: "name", direction: "asc" },
1560
- * });
1561
- * ```
1574
+ * Base options shared by all operational view types.
1562
1575
  */
1563
- interface DefineViewOptions {
1576
+ interface DefineViewBaseOptions {
1564
1577
  /** Stable URL slug for the view (`/collections/:slug/views/:viewSlug`). */
1565
1578
  slug: string;
1566
1579
  /** Human-readable title displayed in the sidebar navigation and view header. */
1567
1580
  label: string;
1568
1581
  /** Lucide icon name (e.g. `"UserCheck"`, `"Calendar"`, `"Shirt"`, `"TableProperties"`). */
1569
1582
  icon?: string;
1570
- /** Layout engine to render: `'table' | 'spreadsheet' | 'kanban' | 'calendar' | 'gantt' | 'cards'`. Defaults to `'table'`. */
1571
- layout?: ViewLayout;
1572
1583
  /** Base query filter applied before user toolbar filters (e.g. `{ attending: { equals: true } }` or JEXL string). */
1573
1584
  filter?: Record<string, any> | string;
1574
- /** Field name used to organize records into kanban columns or collapsible grouped sections in table, cards, and spreadsheet. */
1575
- groupBy?: string;
1576
- /** Field name containing the ISO date string for calendar placement. Required when `layout: 'calendar'`. */
1577
- dateField?: string;
1578
- /** Field name for the start date in timeline/gantt views. Required when `layout: 'gantt'`. */
1579
- startDateField?: string;
1580
- /** Field name for the end date in timeline/gantt views. Required when `layout: 'gantt'`. */
1581
- endDateField?: string;
1582
1585
  /** Field names to show in this view, in order. If omitted, Dyrected infers default display fields. */
1583
1586
  columns?: string[];
1584
1587
  /** Default sorting rule when entering the view. */
@@ -1602,6 +1605,57 @@ interface DefineViewOptions {
1602
1605
  /** Role-based access rules controlling who can see or use this view. */
1603
1606
  access?: AccessConfig;
1604
1607
  }
1608
+ /** Table view — requires no special fields. */
1609
+ interface DefineTableViewOptions extends DefineViewBaseOptions {
1610
+ layout?: 'table' | 'spreadsheet';
1611
+ /** Field name used to organize records into kanban columns or collapsible grouped sections in table, cards, and spreadsheet. */
1612
+ groupBy?: string;
1613
+ }
1614
+ /** Kanban view — requires `groupBy` to organize into columns. */
1615
+ interface DefineKanbanViewOptions extends DefineViewBaseOptions {
1616
+ layout: 'kanban';
1617
+ /** Field name to organize records into kanban columns. */
1618
+ groupBy: string;
1619
+ }
1620
+ /** Calendar view — requires `dateField` to place records on the calendar. */
1621
+ interface DefineCalendarViewOptions extends DefineViewBaseOptions {
1622
+ layout: 'calendar';
1623
+ /** Field name containing the ISO date string for calendar placement. */
1624
+ dateField: string;
1625
+ }
1626
+ /** Gantt view — requires both `startDateField` and `endDateField`. */
1627
+ interface DefineGanttViewOptions extends DefineViewBaseOptions {
1628
+ layout: 'gantt';
1629
+ /** Field name for the start date in the gantt timeline. */
1630
+ startDateField: string;
1631
+ /** Field name for the end date in the gantt timeline. */
1632
+ endDateField: string;
1633
+ }
1634
+ /** Cards view — shows records as image/thumbnail gallery. */
1635
+ interface DefineCardsViewOptions extends DefineViewBaseOptions {
1636
+ layout: 'cards';
1637
+ /** Field name used to organize records into groups. */
1638
+ groupBy?: string;
1639
+ }
1640
+ /**
1641
+ * Options for defining an operational view with `defineView`.
1642
+ * Use layout-specific overloads to ensure required fields are provided.
1643
+ *
1644
+ * @example
1645
+ * ```ts
1646
+ * export const attendingGuests = defineView({
1647
+ * slug: "attending-guests",
1648
+ * label: "Attending Guests",
1649
+ * icon: "UserCheck",
1650
+ * layout: "table",
1651
+ * groupBy: "tableNumber",
1652
+ * filter: { attending: { equals: true } },
1653
+ * columns: ["name", "email", "guestCount", "checkedIn"],
1654
+ * sort: { field: "name", direction: "asc" },
1655
+ * });
1656
+ * ```
1657
+ */
1658
+ type DefineViewOptions = DefineTableViewOptions | DefineKanbanViewOptions | DefineCalendarViewOptions | DefineGanttViewOptions | DefineCardsViewOptions;
1605
1659
  /**
1606
1660
  * Options for defining a custom workflow action with `defineAction`.
1607
1661
  *
@@ -1639,22 +1693,59 @@ interface DefineActionOptions<TDoc extends Record<string, unknown> = Record<stri
1639
1693
  }
1640
1694
  /**
1641
1695
  * Defines a typed operational view for a collection.
1696
+ * Layout-specific overloads enforce required fields for each view type.
1642
1697
  *
1643
1698
  * @example
1644
1699
  * ```ts
1645
- * export const attendingGuests = defineView({
1646
- * slug: "attending-guests",
1647
- * label: "Attending Guests",
1648
- * icon: "UserCheck",
1649
- * layout: "table",
1650
- * groupBy: "tableNumber",
1651
- * filter: { attending: { equals: true } },
1652
- * columns: ["name", "email", "guestCount", "checkedIn"],
1653
- * sort: { field: "name", direction: "asc" },
1700
+ * // Table view (no special requirements)
1701
+ * export const allGuests = defineView({
1702
+ * slug: "all-guests",
1703
+ * label: "All Guests",
1704
+ * layout: "table", // or omit for default
1705
+ * });
1706
+ *
1707
+ * // Kanban view (requires groupBy)
1708
+ * export const guestsByTable = defineView({
1709
+ * slug: "by-table",
1710
+ * label: "Guests by Table",
1711
+ * layout: "kanban",
1712
+ * groupBy: "tableNumber", // required!
1713
+ * });
1714
+ *
1715
+ * // Calendar view (requires dateField)
1716
+ * export const eventCalendar = defineView({
1717
+ * slug: "event-calendar",
1718
+ * label: "Event Calendar",
1719
+ * layout: "calendar",
1720
+ * dateField: "eventDate", // required!
1721
+ * });
1722
+ *
1723
+ * // Gantt view (requires startDateField and endDateField)
1724
+ * export const projectTimeline = defineView({
1725
+ * slug: "timeline",
1726
+ * label: "Project Timeline",
1727
+ * layout: "gantt",
1728
+ * startDateField: "startDate", // required!
1729
+ * endDateField: "endDate", // required!
1654
1730
  * });
1655
1731
  * ```
1656
1732
  */
1733
+ declare function defineView(config: DefineTableViewOptions): DefineTableViewOptions;
1734
+ declare function defineView(config: DefineKanbanViewOptions): DefineKanbanViewOptions;
1735
+ declare function defineView(config: DefineCalendarViewOptions): DefineCalendarViewOptions;
1736
+ declare function defineView(config: DefineGanttViewOptions): DefineGanttViewOptions;
1737
+ declare function defineView(config: DefineCardsViewOptions): DefineCardsViewOptions;
1657
1738
  declare function defineView<const T extends DefineViewOptions>(config: T): T;
1739
+ /** Convenience helper for table views. Enforces no view-specific required fields. */
1740
+ declare function defineTableView(config: DefineTableViewOptions): DefineTableViewOptions;
1741
+ /** Convenience helper for kanban views. Enforces `groupBy` is provided. */
1742
+ declare function defineKanbanView(config: DefineKanbanViewOptions): DefineKanbanViewOptions;
1743
+ /** Convenience helper for calendar views. Enforces `dateField` is provided. */
1744
+ declare function defineCalendarView(config: DefineCalendarViewOptions): DefineCalendarViewOptions;
1745
+ /** Convenience helper for gantt views. Enforces `startDateField` and `endDateField` are provided. */
1746
+ declare function defineGanttView(config: DefineGanttViewOptions): DefineGanttViewOptions;
1747
+ /** Convenience helper for cards views. Optional `groupBy`. */
1748
+ declare function defineCardsView(config: DefineCardsViewOptions): DefineCardsViewOptions;
1658
1749
  /**
1659
1750
  * Defines a custom workflow action for an operational view.
1660
1751
  *
@@ -1693,6 +1784,16 @@ interface AuthConfig {
1693
1784
  * Defaults to `10 * 60 * 1000` (10 minutes).
1694
1785
  */
1695
1786
  lockTime?: number;
1787
+ /**
1788
+ * How long issued session JWTs remain valid.
1789
+ *
1790
+ * Accepts the same values as `jose`'s `setExpirationTime` (e.g. `'15m'`,
1791
+ * `'12h'`, `'30d'`).
1792
+ *
1793
+ * Defaults to `'7d'`. Applies to login, registration, invite-accept, and
1794
+ * refresh-token issuance for this collection.
1795
+ */
1796
+ tokenExpiration?: string;
1696
1797
  /**
1697
1798
  * The role name designated as the superuser/admin role for this collection.
1698
1799
  *
@@ -2434,6 +2535,18 @@ interface DynamicOptionsConfig {
2434
2535
  /** Cache duration in seconds for identical resolver calls. */
2435
2536
  cacheTTL?: number;
2436
2537
  }
2538
+ interface DefaultValueContext {
2539
+ /** The document being created or edited. */
2540
+ doc?: Record<string, any>;
2541
+ /** Batch of documents (for bulk operations). */
2542
+ docs?: Record<string, any>[];
2543
+ /** Authenticated user performing the operation. */
2544
+ user?: AuthenticatedUser;
2545
+ /** Values of sibling fields in the same object or array row. */
2546
+ siblingData?: Record<string, any>;
2547
+ /** Incoming field value from the request payload. */
2548
+ data?: any;
2549
+ }
2437
2550
  type DynamicOptionItem = string | {
2438
2551
  label: string;
2439
2552
  value: unknown;
@@ -2488,7 +2601,7 @@ interface FieldBase {
2488
2601
  required?: boolean;
2489
2602
  /** Whether values for this field must be unique across the collection. */
2490
2603
  unique?: boolean;
2491
- /** Default value used when a new document omits this field. */
2604
+ /** Default value: literal value or function computed from context. */
2492
2605
  defaultValue?: unknown;
2493
2606
  /** Static or dynamic option source for supported selection fields. */
2494
2607
  options?: string[] | {
@@ -2639,8 +2752,10 @@ type FieldAdminOptionsHookResult = Array<string | {
2639
2752
  value: unknown;
2640
2753
  }>;
2641
2754
  type FieldAdminOptionsHook = (args: FieldAdminOptionsHookArgs) => FieldAdminOptionsHookResult | Promise<FieldAdminOptionsHookResult>;
2642
- type TypedField<TType extends FieldType, TValue, TAdminExtra = Record<never, never>> = Omit<FieldBase, "admin"> & {
2755
+ type TypedField<TType extends FieldType, TValue, TAdminExtra = Record<never, never>> = Omit<FieldBase, "admin" | "defaultValue"> & {
2643
2756
  type: TType;
2757
+ /** Default value: literal value, parameterless function, or function taking context. */
2758
+ defaultValue?: TValue | (() => TValue) | ((context: DefaultValueContext) => TValue);
2644
2759
  admin?: BaseFieldAdmin & TAdminExtra;
2645
2760
  } & FieldHooks<TValue> & FieldAdminHooks<TValue>;
2646
2761
  /**
@@ -3011,32 +3126,85 @@ type DateField = TypedField<"date", string, DateFieldAdmin>;
3011
3126
  type DateTimeField = TypedField<"datetime", string, DateFieldAdmin>;
3012
3127
  /** A local time of day, stored as a string when the date is modeled elsewhere. */
3013
3128
  type TimeField = TypedField<"time", string, DateFieldAdmin>;
3014
- /** A single choice from a fixed or dynamically-resolved set of options, stored as the chosen value. */
3129
+ /**
3130
+ * A single choice from a fixed or dynamically-resolved set of options, stored as the chosen value.
3131
+ * Should include either static `options` or dynamic option configuration via the base FieldBase type.
3132
+ */
3015
3133
  type SelectField = TypedField<"select", string, SelectFieldAdmin>;
3016
- /** A single choice shown as radio buttons, stored as the chosen value. */
3134
+ /**
3135
+ * A single choice shown as radio buttons, stored as the chosen value.
3136
+ * Should include either static `options` or dynamic option configuration via the base FieldBase type.
3137
+ */
3017
3138
  type RadioField = TypedField<"radio", string, RadioFieldAdmin>;
3018
3139
  /** A numeric value. Optional advisory `min`/`max` guide editors without enforcing server-side validation. */
3019
3140
  type NumberField = TypedField<"number", number, NumberFieldAdmin> & NumberLimitFieldConfig;
3020
3141
  /** A `true`/`false` value, shown to editors as a checkbox or switch. */
3021
3142
  type BooleanField = TypedField<"boolean", boolean, BooleanFieldAdmin>;
3022
- /** Several choices from a fixed or dynamically-resolved set, stored as an array of the chosen values. */
3143
+ /**
3144
+ * Several choices from a fixed or dynamically-resolved set, stored as an array of the chosen values.
3145
+ * Should include either static `options` or dynamic option configuration via the base FieldBase type.
3146
+ */
3023
3147
  type MultiSelectField = TypedField<"multiSelect", string[], MultiSelectFieldAdmin>;
3024
- /** A reference to one or more documents in another collection, stored as an ID or array of IDs. Use `relationTo` to name the target and `hasMany` for multiple. */
3025
- type RelationshipField = TypedField<"relationship", string | string[]>;
3026
- /** A reference to one or more documents in an upload-enabled collection, stored as an ID or array of IDs. Use `relationTo` to name the target and `hasMany` for multiple. */
3027
- type ImageField = TypedField<"image", string | string[]>;
3148
+ /**
3149
+ * A reference to one or more documents in another collection, stored as an ID or array of IDs.
3150
+ * Requires `relationTo` to specify the target collection.
3151
+ * Use `hasMany` for multiple relationships.
3152
+ */
3153
+ type RelationshipField = TypedField<"relationship", string | string[]> & {
3154
+ /** Target collection slug (required for relationship fields). */
3155
+ relationTo: string;
3156
+ };
3157
+ /**
3158
+ * A reference to one or more documents in an upload-enabled collection, stored as an ID or array of IDs.
3159
+ * Requires `relationTo` to specify the target collection.
3160
+ * Use `hasMany` for multiple relationships.
3161
+ */
3162
+ type ImageField = TypedField<"image", string | string[]> & {
3163
+ /** Target collection slug (required for image fields). */
3164
+ relationTo: string;
3165
+ };
3028
3166
  /** Formatted content authored in the admin editor, stored as an HTML string. */
3029
3167
  type RichTextField = TypedField<"richText", string> & RichTextFieldConfig;
3030
3168
  /** An arbitrary JSON value. Dyrected stores it as-is and does not validate its shape. */
3031
3169
  type JsonField = TypedField<"json", Record<string, unknown>, JsonFieldAdmin>;
3032
- /** A group of nested `fields` stored as an embedded object under this field's `name`. */
3033
- type ObjectField = TypedField<"object", unknown>;
3034
- /** A repeatable list of rows that all share the same `fields`, stored as an array of objects. */
3035
- type ArrayField = TypedField<"array", unknown>;
3036
- /** Flexible content built from a controlled set of typed `blocks`, stored as an ordered array where each row records its `blockType`. */
3037
- type BlocksField = TypedField<"blocks", unknown>;
3038
- /** A virtual reverse relationship that surfaces documents pointing back at this one via `collection` and `on`. Read-only; nothing is stored on this document. */
3039
- type JoinField = TypedField<"join", unknown, JoinFieldAdmin>;
3170
+ /**
3171
+ * A group of nested `fields` stored as an embedded object under this field's `name`.
3172
+ * Requires `fields` to define the structure of the object.
3173
+ */
3174
+ type ObjectField = TypedField<"object", unknown> & {
3175
+ /** Child fields that make up the object structure (required). */
3176
+ fields: Field[];
3177
+ };
3178
+ /**
3179
+ * A repeatable list of rows that all share the same `fields`, stored as an array of objects.
3180
+ * Requires `fields` to define the structure of each row.
3181
+ */
3182
+ type ArrayField = TypedField<"array", unknown> & {
3183
+ /** Child fields that make up each row in the array (required). */
3184
+ fields: Field[];
3185
+ };
3186
+ /**
3187
+ * Flexible content built from a controlled set of typed `blocks`, stored as an ordered array where each row records its `blockType`.
3188
+ * Requires either inline `blocks` definitions or `blockReferences` pointing to shared block definitions.
3189
+ */
3190
+ type BlocksField = ((TypedField<"blocks", unknown> & {
3191
+ /** Inline block definitions (required unless blockReferences is set). */
3192
+ blocks: Block[];
3193
+ }) | (TypedField<"blocks", unknown> & {
3194
+ /** References to shared block definitions from the root config (required unless blocks is set). */
3195
+ blockReferences: string[];
3196
+ }));
3197
+ /**
3198
+ * A virtual reverse relationship that surfaces documents pointing back at this one.
3199
+ * Read-only; nothing is stored on this document.
3200
+ * Requires `collection` (target collection slug) and `on` (back-reference field name).
3201
+ */
3202
+ type JoinField = TypedField<"join", unknown, JoinFieldAdmin> & {
3203
+ /** Target collection slug (required for join fields). */
3204
+ collection: string;
3205
+ /** Back-reference field name on the joined collection (required for join fields). */
3206
+ on: string;
3207
+ };
3040
3208
  /** A layout-only container that arranges its child `fields` horizontally in the admin UI. Stores no value of its own. */
3041
3209
  type RowField = TypedField<"row", unknown>;
3042
3210
  type Field = TextField | TextareaField | EmailField | UrlField | IconField | DateField | DateTimeField | TimeField | SelectField | RadioField | NumberField | BooleanField | MultiSelectField | RelationshipField | ImageField | RichTextField | JsonField | ObjectField | ArrayField | BlocksField | JoinField | RowField;
@@ -3492,6 +3660,27 @@ interface CollectionTokenPayload extends JWTPayload {
3492
3660
  providerId?: string;
3493
3661
  authSource?: 'local' | 'external';
3494
3662
  }
3663
+ declare const DEFAULT_SESSION_EXPIRY = "7d";
3664
+ /**
3665
+ * Resolve the session JWT lifetime for an auth collection.
3666
+ *
3667
+ * Reads `auth.tokenExpiration` when the collection configures auth as an
3668
+ * object, and falls back to `'7d'` for `auth: true` (or any missing/empty
3669
+ * value) so existing behavior is unchanged.
3670
+ */
3671
+ declare function resolveSessionTokenExpiry(collection: CollectionConfig): string;
3672
+ /**
3673
+ * Issue a signed JWT for a user document in an auth collection.
3674
+ */
3675
+ declare function signCollectionToken(payload: Omit<CollectionTokenPayload, 'iat' | 'exp'>, expiresIn?: string): Promise<string>;
3676
+ /**
3677
+ * Verify and decode a collection JWT. Throws if invalid or expired.
3678
+ */
3679
+ declare function verifyCollectionToken(token: string): Promise<CollectionTokenPayload>;
3680
+ /**
3681
+ * Decode a token without verification (read-only, for middleware that wants to be non-blocking).
3682
+ */
3683
+ declare function decodeCollectionToken(token: string): CollectionTokenPayload | null;
3495
3684
 
3496
3685
  type RequestVars = DyrectedContext["Variables"];
3497
3686
  interface ResolvedObservabilityConfig {
@@ -3629,4 +3818,4 @@ interface DyrectedContext {
3629
3818
  */
3630
3819
  declare function createDyrectedApp(rawConfig: DyrectedConfig | any): Promise<Hono<DyrectedContext, hono_types.BlankSchema, "/">>;
3631
3820
 
3632
- export { type MultiSelectField as $, type AdminAuthConfig as A, type Block as B, type CollectionConfig as C, type DyrectedConfig as D, type DetailText as E, type Field as F, type GlobalConfig as G, type HookRequestContext as H, type DetailSchema as I, type DyrectedContext as J, type AIConfig as K, type LifecycleEventName as L, type AIPIIConfig as M, type ArrayField as N, type BlocksField as O, type PublicAdminAuthConfig as P, type BooleanField as Q, type AuthConfig as R, type AccessPolicyResolver as S, type DateField as T, type DateTimeField as U, type EmailField as V, type WorkflowConfig as W, type IconField as X, type ImageField as Y, type JoinField as Z, type JsonField as _, type DeclarativeHookExpression as a, type CollectionAfterReadHook as a$, type NumberField as a0, type ObjectField as a1, type RadioField as a2, type RelationshipField as a3, type RichTextField as a4, type RowField as a5, type SelectField as a6, type TextField as a7, type TextareaField as a8, type TimeField as a9, type ActionType as aA, type AdminAuthAccessResolution as aB, type AdminAuthClaimMapping as aC, type AdminAuthMember as aD, type AdminAuthProvider as aE, type AdminAuthProviderMembersConfig as aF, type AdminAuthProvisioningMode as aG, type AdminAuthResolveAccessArgs as aH, type AdminAuthResolvedIdentity as aI, type AdminConfig as aJ, type AdminDashboardComponentSlots as aK, type AdminIconName as aL, type AggregateArgs as aM, type AggregateCastType as aN, type AggregateCollectionResult as aO, type AggregateInput as aP, type AggregateOperation as aQ, type AggregateResult as aR, type BaseAdminAuthProvider as aS, type BaseFieldAdmin as aT, type BlockVariant as aU, type BooleanFieldAdmin as aV, type BooleanFormat as aW, type CharacterLimitFieldAdmin as aX, type CharacterLimitFieldConfig as aY, type CollectionAfterChangeHook as aZ, type CollectionAfterDeleteHook as a_, type UrlField as aa, type AIAction as ab, type AIActionStatus as ac, type AIActionType as ad, type AIAuditActionType as ae, type AIAuditRecord as af, type AIChunk as ag, type AIMessage as ah, type AIPIIPattern as ai, type AIRateLimitResult as aj, type AIRateLimitStore as ak, type AIThread as al, type AIToolContext as am, type AIToolDefinition as an, AI_ACTIONS_COLLECTION as ao, AI_AUDIT_COLLECTION as ap, AI_CHUNKS_COLLECTION as aq, AI_MESSAGES_COLLECTION as ar, AI_THREADS_COLLECTION as as, type AccessConfig as at, type AccessFunction as au, type AccessFunctionArgs as av, type AccessResult as aw, type AccessRule as ax, type ActionConfig as ay, type ActionContext as az, type AuthenticatedUser as b, type ImageTransformOptions as b$, type CollectionAfterReadHookEntry as b0, type CollectionAfterTransitionHook as b1, type CollectionBeforeChangeHook as b2, type CollectionBeforeChangeHookEntry as b3, type CollectionBeforeDeleteHook as b4, type CollectionBeforeReadHook as b5, type CollectionBeforeReadHookEntry as b6, type CollectionBeforeTransitionHook as b7, type CollectionListComponentSlots as b8, type CollectionRAGConfig as b9, type FieldAdminOptionsHook as bA, type FieldAdminOptionsHookArgs as bB, type FieldAdminOptionsHookResult as bC, type FieldAfterReadHook as bD, type FieldAfterReadHookArgs as bE, type FieldBase as bF, type FieldBeforeChangeHook as bG, type FieldBeforeChangeHookArgs as bH, type FieldHook as bI, type FieldHooks as bJ, type FieldType as bK, type FileData as bL, type GetDocumentResult as bM, type GlobalAfterChangeHook as bN, type GlobalAfterReadHook as bO, type GlobalAfterReadHookEntry as bP, type GlobalBeforeChangeHook as bQ, type GlobalBeforeChangeHookEntry as bR, type GlobalBeforeReadHook as bS, type GlobalBeforeReadHookEntry as bT, type GlobalRAGConfig as bU, type GlobalSchemaResult as bV, type GlobalSummaryResult as bW, type HeadingLevel as bX, type HookFunction as bY, type IconFieldAdmin as bZ, type ImageService as b_, type CollectionSchemaResult as ba, type CollectionSummaryResult as bb, type CollectionViewComponentSlots as bc, type CountOperation as bd, type CustomAdminAuthProvider as be, type DatabaseAdapter as bf, type DateFieldAdmin as bg, type DateFormat as bh, type DefineActionOptions as bi, type DefineViewOptions as bj, type DetailSpan as bk, type DisplayTone as bl, type DisplayVariant as bm, type DistinctCountOperation as bn, type DistinctValuesOperation as bo, type DynamicOptionItem as bp, type DynamicOptionsConfig as bq, type DynamicOptionsResolver as br, type DynamicOptionsResolverArgs as bs, type DyrectedAIContext as bt, type DyrectedLoggerConfig as bu, type DyrectedObservabilityConfig as bv, type EmailFieldAdmin as bw, type FieldAdminHooks as bx, type FieldAdminOnChangeHook as by, type FieldAdminOnChangeHookArgs as bz, type WorkflowTransition as c, buildRequestLogger as c$, type InferAggregateResult as c0, type JoinFieldAdmin as c1, type JsonFieldAdmin as c2, type JsonFormat as c3, LIFECYCLE_EVENT_NAMES as c4, type LifecycleEventHandler as c5, type LinkFormat as c6, type MetricColor as c7, type MultiSelectFieldAdmin as c8, type NamedAccessPolicy as c9, type UrlLinkValue as cA, type ViewActionFeatures as cB, type ViewComponentSlots as cC, type ViewConfig as cD, type ViewLayout as cE, type ViewMetric as cF, type ViewSubMetric as cG, type WhereClause as cH, type WhereOperator as cI, type WhereOperatorName as cJ, type WordLimitFieldAdmin as cK, type WordLimitFieldConfig as cL, type WorkflowMetadata as cM, type WorkflowRole as cN, type WorkflowState as cO, type WorkflowTransitionContext as cP, defineAction as cQ, defineView as cR, isAICollection as cS, parseMongoWhere as cT, parseSqlWhere as cU, type DyrectedObservabilityRuntime as cV, type RequestBodyCapture as cW, type RequestTraceContext as cX, type ResolvedObservabilityConfig as cY, attachRequestMetrics as cZ, bindObservabilityRuntime as c_, type NumberFieldAdmin as ca, type NumberFormat as cb, type NumberLimitFieldAdmin as cc, type NumberLimitFieldConfig as cd, type NumericOperation as ce, type OIDCAdminAuthProvider as cf, type OptionFormat as cg, type PaginatedResult as ch, type PublicAdminAuthProvider as ci, type QueryCollectionResult as cj, type RAGSearchResult as ck, type RadioFieldAdmin as cl, type RateLimitConfig as cm, type ReadonlyDatabaseAdapter as cn, type RichTextFeature as co, type RichTextFieldConfig as cp, type SelectFieldAdmin as cq, type SqlWhereResult as cr, type StorageAdapter as cs, type TextFieldAdmin as ct, type TextFormat as cu, type TextareaFieldAdmin as cv, type TrustProxyConfig as cw, type TypedField as cx, type UploadConfig as cy, type UrlFieldAdmin as cz, type LifecycleEvent as d, captureRequestBody as d0, createDyrectedApp as d1, createObservabilityRuntime as d2, createRequestSpan as d3, endRequestSpan as d4, getConfigLogger as d5, getObservabilityRuntime as d6, getRequestLogger as d7, redactBody as d8, redactHeaders as d9, renderPrometheusMetrics as da, resolveObservabilityConfig as db, shouldSampleRequest as dc, type BaseDocument as e, type DetailComputedOptions as f, type ComputedHandler as g, type DetailComputed as h, type DetailCustomOptions as i, type DetailCustom as j, type DetailDividerOptions as k, type DetailDivider as l, type DisplayFieldOptions as m, type DetailField as n, type DetailItem as o, type DetailGridOptions as p, type DetailGrid as q, type DetailRepeatOptions as r, type DetailRepeat as s, type DetailSectionOptions as t, type DetailSection as u, type DetailTabOptions as v, type DetailTab as w, type DetailTabsOptions as x, type DetailTabs as y, type DetailTextOptions as z };
3821
+ export { type MultiSelectField as $, type AdminAuthConfig as A, type Block as B, type CollectionConfig as C, type DyrectedConfig as D, type DetailText as E, type Field as F, type GlobalConfig as G, type HookRequestContext as H, type DetailSchema as I, type DyrectedContext as J, type AIConfig as K, type LifecycleEventName as L, type AIPIIConfig as M, type ArrayField as N, type FieldType as O, type PublicAdminAuthConfig as P, type BooleanField as Q, type AuthConfig as R, type AccessPolicyResolver as S, type DateField as T, type DateTimeField as U, type EmailField as V, type WorkflowConfig as W, type IconField as X, type ImageField as Y, type JoinField as Z, type JsonField as _, type DeclarativeHookExpression as a, type CharacterLimitFieldAdmin as a$, type NumberField as a0, type ObjectField as a1, type RadioField as a2, type RelationshipField as a3, type RichTextField as a4, type RowField as a5, type SelectField as a6, type TextField as a7, type TextareaField as a8, type TimeField as a9, type ActionConfigWithHandler as aA, type ActionConfigWithMutation as aB, type ActionContext as aC, type ActionType as aD, type AdminAuthAccessResolution as aE, type AdminAuthClaimMapping as aF, type AdminAuthMember as aG, type AdminAuthProvider as aH, type AdminAuthProviderMembersConfig as aI, type AdminAuthProvisioningMode as aJ, type AdminAuthResolveAccessArgs as aK, type AdminAuthResolvedIdentity as aL, type AdminConfig as aM, type AdminDashboardComponentSlots as aN, type AdminIconName as aO, type AggregateArgs as aP, type AggregateCastType as aQ, type AggregateCollectionResult as aR, type AggregateInput as aS, type AggregateOperation as aT, type AggregateResult as aU, type BaseAdminAuthProvider as aV, type BaseFieldAdmin as aW, type BlockVariant as aX, type BlocksField as aY, type BooleanFieldAdmin as aZ, type BooleanFormat as a_, type UrlField as aa, type AIAction as ab, type AIActionStatus as ac, type AIActionType as ad, type AIAuditActionType as ae, type AIAuditRecord as af, type AIChunk as ag, type AIMessage as ah, type AIPIIPattern as ai, type AIRateLimitResult as aj, type AIRateLimitStore as ak, type AIThread as al, type AIToolContext as am, type AIToolDefinition as an, AI_ACTIONS_COLLECTION as ao, AI_AUDIT_COLLECTION as ap, AI_CHUNKS_COLLECTION as aq, AI_MESSAGES_COLLECTION as ar, AI_THREADS_COLLECTION as as, type AccessConfig as at, type AccessFunction as au, type AccessFunctionArgs as av, type AccessResult as aw, type AccessRule as ax, type ActionConfig as ay, type ActionConfigBase as az, type AuthenticatedUser as b, type GlobalBeforeChangeHookEntry as b$, type CharacterLimitFieldConfig as b0, type CollectionAfterChangeHook as b1, type CollectionAfterDeleteHook as b2, type CollectionAfterReadHook as b3, type CollectionAfterReadHookEntry as b4, type CollectionAfterTransitionHook as b5, type CollectionBeforeChangeHook as b6, type CollectionBeforeChangeHookEntry as b7, type CollectionBeforeDeleteHook as b8, type CollectionBeforeReadHook as b9, type DynamicOptionItem as bA, type DynamicOptionsConfig as bB, type DynamicOptionsResolver as bC, type DynamicOptionsResolverArgs as bD, type DyrectedAIContext as bE, type DyrectedLoggerConfig as bF, type DyrectedObservabilityConfig as bG, type EmailFieldAdmin as bH, type FieldAdminHooks as bI, type FieldAdminOnChangeHook as bJ, type FieldAdminOnChangeHookArgs as bK, type FieldAdminOptionsHook as bL, type FieldAdminOptionsHookArgs as bM, type FieldAdminOptionsHookResult as bN, type FieldAfterReadHook as bO, type FieldAfterReadHookArgs as bP, type FieldBase as bQ, type FieldBeforeChangeHook as bR, type FieldBeforeChangeHookArgs as bS, type FieldHook as bT, type FieldHooks as bU, type FileData as bV, type GetDocumentResult as bW, type GlobalAfterChangeHook as bX, type GlobalAfterReadHook as bY, type GlobalAfterReadHookEntry as bZ, type GlobalBeforeChangeHook as b_, type CollectionBeforeReadHookEntry as ba, type CollectionBeforeTransitionHook as bb, type CollectionListComponentSlots as bc, type CollectionRAGConfig as bd, type CollectionSchemaResult as be, type CollectionSummaryResult as bf, type CollectionViewComponentSlots as bg, type CountOperation as bh, type CustomAdminAuthProvider as bi, type DatabaseAdapter as bj, type DateFieldAdmin as bk, type DateFormat as bl, type DefaultValueContext as bm, type DefineActionOptions as bn, type DefineCalendarViewOptions as bo, type DefineCardsViewOptions as bp, type DefineGanttViewOptions as bq, type DefineKanbanViewOptions as br, type DefineTableViewOptions as bs, type DefineViewBaseOptions as bt, type DefineViewOptions as bu, type DetailSpan as bv, type DisplayTone as bw, type DisplayVariant as bx, type DistinctCountOperation as by, type DistinctValuesOperation as bz, type WorkflowTransition as c, defineCalendarView as c$, type GlobalBeforeReadHook as c0, type GlobalBeforeReadHookEntry as c1, type GlobalRAGConfig as c2, type GlobalSchemaResult as c3, type GlobalSummaryResult as c4, type HeadingLevel as c5, type HookFunction as c6, type IconFieldAdmin as c7, type ImageService as c8, type ImageTransformOptions as c9, type SelectFieldAdmin as cA, type SqlWhereResult as cB, type StorageAdapter as cC, type TextFieldAdmin as cD, type TextFormat as cE, type TextareaFieldAdmin as cF, type TrustProxyConfig as cG, type TypedField as cH, type UploadConfig as cI, type UrlFieldAdmin as cJ, type UrlLinkValue as cK, type ViewActionFeatures as cL, type ViewComponentSlots as cM, type ViewConfig as cN, type ViewLayout as cO, type ViewMetric as cP, type ViewSubMetric as cQ, type WhereClause as cR, type WhereOperator as cS, type WhereOperatorName as cT, type WordLimitFieldAdmin as cU, type WordLimitFieldConfig as cV, type WorkflowMetadata as cW, type WorkflowRole as cX, type WorkflowState as cY, type WorkflowTransitionContext as cZ, defineAction as c_, type InferAggregateResult as ca, type JoinFieldAdmin as cb, type JsonFieldAdmin as cc, type JsonFormat as cd, LIFECYCLE_EVENT_NAMES as ce, type LifecycleEventHandler as cf, type LinkFormat as cg, type MetricColor as ch, type MultiSelectFieldAdmin as ci, type NamedAccessPolicy as cj, type NumberFieldAdmin as ck, type NumberFormat as cl, type NumberLimitFieldAdmin as cm, type NumberLimitFieldConfig as cn, type NumericOperation as co, type OIDCAdminAuthProvider as cp, type OptionFormat as cq, type PaginatedResult 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 LifecycleEvent as d, defineCardsView as d0, defineGanttView as d1, defineKanbanView as d2, defineTableView as d3, defineView as d4, isAICollection as d5, parseMongoWhere as d6, parseSqlWhere as d7, type CollectionTokenPayload as d8, DEFAULT_SESSION_EXPIRY as d9, type DyrectedObservabilityRuntime as da, type RequestBodyCapture as db, type RequestTraceContext as dc, type ResolvedObservabilityConfig as dd, attachRequestMetrics as de, bindObservabilityRuntime as df, buildRequestLogger as dg, captureRequestBody as dh, createDyrectedApp as di, createObservabilityRuntime as dj, createRequestSpan as dk, decodeCollectionToken as dl, endRequestSpan as dm, getConfigLogger as dn, getObservabilityRuntime as dp, getRequestLogger as dq, redactBody as dr, redactHeaders as ds, renderPrometheusMetrics as dt, resolveObservabilityConfig as du, resolveSessionTokenExpiry as dv, shouldSampleRequest as dw, signCollectionToken as dx, verifyCollectionToken as dy, type BaseDocument as e, type DetailComputedOptions as f, type ComputedHandler as g, type DetailComputed as h, type DetailCustomOptions as i, type DetailCustom as j, type DetailDividerOptions as k, type DetailDivider as l, type DisplayFieldOptions as m, type DetailField as n, type DetailItem as o, type DetailGridOptions as p, type DetailGrid as q, type DetailRepeatOptions as r, type DetailRepeat as s, type DetailSectionOptions as t, type DetailSection as u, type DetailTabOptions as v, type DetailTab as w, type DetailTabsOptions as x, type DetailTabs as y, type DetailTextOptions as z };
package/dist/index.cjs CHANGED
@@ -1801,6 +1801,7 @@ __export(index_exports, {
1801
1801
  WORKFLOW_HISTORY_COLLECTION: () => WORKFLOW_HISTORY_COLLECTION,
1802
1802
  abs: () => abs,
1803
1803
  addDays: () => addDays,
1804
+ asCollection: () => asCollection,
1804
1805
  assertValidAdminConditionsInConfig: () => assertValidAdminConditionsInConfig,
1805
1806
  assertValidDeclarativeAccessInConfig: () => assertValidDeclarativeAccessInConfig,
1806
1807
  assertValidDeclarativeHookExpression: () => assertValidDeclarativeHookExpression,
@@ -1829,17 +1830,21 @@ __export(index_exports, {
1829
1830
  defineBlock: () => defineBlock,
1830
1831
  defineBlocksField: () => defineBlocksField,
1831
1832
  defineBooleanField: () => defineBooleanField,
1833
+ defineCalendarView: () => defineCalendarView,
1834
+ defineCardsView: () => defineCardsView,
1832
1835
  defineCollection: () => defineCollection,
1833
1836
  defineConfig: () => defineConfig,
1834
1837
  defineDateField: () => defineDateField,
1835
1838
  defineDateTimeField: () => defineDateTimeField,
1836
1839
  defineEmailField: () => defineEmailField,
1837
1840
  defineField: () => defineField,
1841
+ defineGanttView: () => defineGanttView,
1838
1842
  defineGlobal: () => defineGlobal,
1839
1843
  defineIconField: () => defineIconField,
1840
1844
  defineImageField: () => defineImageField,
1841
1845
  defineJoinField: () => defineJoinField,
1842
1846
  defineJsonField: () => defineJsonField,
1847
+ defineKanbanView: () => defineKanbanView,
1843
1848
  defineMultiSelectField: () => defineMultiSelectField,
1844
1849
  defineNumberField: () => defineNumberField,
1845
1850
  defineObjectField: () => defineObjectField,
@@ -1850,6 +1855,7 @@ __export(index_exports, {
1850
1855
  defineRowField: () => defineRowField,
1851
1856
  defineSelectField: () => defineSelectField,
1852
1857
  defineTab: () => defineTab,
1858
+ defineTableView: () => defineTableView,
1853
1859
  defineTextField: () => defineTextField,
1854
1860
  defineTextareaField: () => defineTextareaField,
1855
1861
  defineTimeField: () => defineTimeField,
@@ -1949,6 +1955,11 @@ __export(index_exports, {
1949
1955
  });
1950
1956
  module.exports = __toCommonJS(index_exports);
1951
1957
 
1958
+ // src/types/readonly-fix.ts
1959
+ function asCollection(config) {
1960
+ return config;
1961
+ }
1962
+
1952
1963
  // src/types/workflows.ts
1953
1964
  var LIFECYCLE_EVENT_NAMES = [
1954
1965
  "revision.created",
@@ -1961,6 +1972,21 @@ var LIFECYCLE_EVENT_NAMES = [
1961
1972
  function defineView(config) {
1962
1973
  return config;
1963
1974
  }
1975
+ function defineTableView(config) {
1976
+ return config;
1977
+ }
1978
+ function defineKanbanView(config) {
1979
+ return config;
1980
+ }
1981
+ function defineCalendarView(config) {
1982
+ return config;
1983
+ }
1984
+ function defineGanttView(config) {
1985
+ return config;
1986
+ }
1987
+ function defineCardsView(config) {
1988
+ return config;
1989
+ }
1964
1990
  function defineAction(config) {
1965
1991
  return config;
1966
1992
  }
@@ -3714,7 +3740,7 @@ function normalizeConfig(config) {
3714
3740
  name: "roles",
3715
3741
  type: "select",
3716
3742
  label: "Roles",
3717
- defaultValue: [],
3743
+ defaultValue: "viewer",
3718
3744
  options: [
3719
3745
  { value: "admin", label: "Admin" },
3720
3746
  { value: "editor", label: "Editor" },
@@ -6474,7 +6500,7 @@ function sanitizeDocForAI(options) {
6474
6500
  // src/index.ts
6475
6501
  var import_zod = require("zod");
6476
6502
  function defineCollection(config) {
6477
- return config;
6503
+ return asCollection(config);
6478
6504
  }
6479
6505
  function defineGlobal(config) {
6480
6506
  return config;
@@ -6502,17 +6528,26 @@ var defineTimeField = createFieldDefiner("time");
6502
6528
  var defineSelectField = createFieldDefiner("select");
6503
6529
  var defineMultiSelectField = createFieldDefiner("multiSelect");
6504
6530
  var defineRadioField = createFieldDefiner("radio");
6505
- var defineRelationshipField = createFieldDefiner("relationship");
6506
6531
  var defineArrayField = createFieldDefiner("array");
6507
6532
  var defineObjectField = createFieldDefiner("object");
6508
6533
  var defineJsonField = createFieldDefiner("json");
6509
6534
  var defineBlocksField = createFieldDefiner("blocks");
6510
- var defineImageField = createFieldDefiner("image");
6511
6535
  var defineEmailField = createFieldDefiner("email");
6512
6536
  var defineUrlField = createFieldDefiner("url");
6513
6537
  var defineIconField = createFieldDefiner("icon");
6514
- var defineJoinField = createFieldDefiner("join");
6515
6538
  var defineRowField = createFieldDefiner("row");
6539
+ var _defineRelationshipFieldBase = createFieldDefiner("relationship");
6540
+ var _defineImageFieldBase = createFieldDefiner("image");
6541
+ var _defineJoinFieldBase = createFieldDefiner("join");
6542
+ function defineRelationshipField(config) {
6543
+ return _defineRelationshipFieldBase(config);
6544
+ }
6545
+ function defineImageField(config) {
6546
+ return _defineImageFieldBase(config);
6547
+ }
6548
+ function defineJoinField(config) {
6549
+ return _defineJoinFieldBase(config);
6550
+ }
6516
6551
  function defineTab(args) {
6517
6552
  return args.fields.map((field) => ({
6518
6553
  ...field,
@@ -6538,6 +6573,7 @@ function defineTab(args) {
6538
6573
  WORKFLOW_HISTORY_COLLECTION,
6539
6574
  abs,
6540
6575
  addDays,
6576
+ asCollection,
6541
6577
  assertValidAdminConditionsInConfig,
6542
6578
  assertValidDeclarativeAccessInConfig,
6543
6579
  assertValidDeclarativeHookExpression,
@@ -6566,17 +6602,21 @@ function defineTab(args) {
6566
6602
  defineBlock,
6567
6603
  defineBlocksField,
6568
6604
  defineBooleanField,
6605
+ defineCalendarView,
6606
+ defineCardsView,
6569
6607
  defineCollection,
6570
6608
  defineConfig,
6571
6609
  defineDateField,
6572
6610
  defineDateTimeField,
6573
6611
  defineEmailField,
6574
6612
  defineField,
6613
+ defineGanttView,
6575
6614
  defineGlobal,
6576
6615
  defineIconField,
6577
6616
  defineImageField,
6578
6617
  defineJoinField,
6579
6618
  defineJsonField,
6619
+ defineKanbanView,
6580
6620
  defineMultiSelectField,
6581
6621
  defineNumberField,
6582
6622
  defineObjectField,
@@ -6587,6 +6627,7 @@ function defineTab(args) {
6587
6627
  defineRowField,
6588
6628
  defineSelectField,
6589
6629
  defineTab,
6630
+ defineTableView,
6590
6631
  defineTextField,
6591
6632
  defineTextareaField,
6592
6633
  defineTimeField,