@bettercms-ai/db 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -28185,6 +28185,52 @@ declare const components: drizzle_orm_pg_core.PgTableWithColumns<{
28185
28185
  identity: undefined;
28186
28186
  generated: undefined;
28187
28187
  }, {}, {}>;
28188
+ kitEntry: drizzle_orm_pg_core.PgColumn<{
28189
+ name: "kit_entry";
28190
+ tableName: "components";
28191
+ dataType: "string";
28192
+ columnType: "PgText";
28193
+ data: string;
28194
+ driverParam: string;
28195
+ notNull: false;
28196
+ hasDefault: false;
28197
+ isPrimaryKey: false;
28198
+ isAutoincrement: false;
28199
+ hasRuntimeDefault: false;
28200
+ enumValues: [string, ...string[]];
28201
+ baseColumn: never;
28202
+ identity: undefined;
28203
+ generated: undefined;
28204
+ }, {}, {}>;
28205
+ tabs: drizzle_orm_pg_core.PgColumn<{
28206
+ name: "tabs";
28207
+ tableName: "components";
28208
+ dataType: "json";
28209
+ columnType: "PgJsonb";
28210
+ data: {
28211
+ id: string;
28212
+ label: string;
28213
+ icon?: string;
28214
+ order?: number;
28215
+ }[] | null;
28216
+ driverParam: unknown;
28217
+ notNull: false;
28218
+ hasDefault: false;
28219
+ isPrimaryKey: false;
28220
+ isAutoincrement: false;
28221
+ hasRuntimeDefault: false;
28222
+ enumValues: undefined;
28223
+ baseColumn: never;
28224
+ identity: undefined;
28225
+ generated: undefined;
28226
+ }, {}, {
28227
+ $type: {
28228
+ id: string;
28229
+ label: string;
28230
+ icon?: string;
28231
+ order?: number;
28232
+ }[] | null;
28233
+ }>;
28188
28234
  preview: drizzle_orm_pg_core.PgColumn<{
28189
28235
  name: "preview";
28190
28236
  tableName: "components";
@@ -28492,6 +28538,7 @@ type ComponentPropDef = {
28492
28538
  /** Per-type settings; the save schema enforces each is present on the type that needs it. */
28493
28539
  config?: {
28494
28540
  componentIds?: string[];
28541
+ allow?: string[];
28495
28542
  options?: Array<string | {
28496
28543
  label: string;
28497
28544
  value: string;
@@ -28509,11 +28556,11 @@ type ComponentSubField = {
28509
28556
  key: string;
28510
28557
  label: string;
28511
28558
  /**
28512
- * No `slot` and no `form`: a nested component instance and a form reference both belong on the
28513
- * prop itself, not inside a row. A form per table row would mean N form documents with no way
28514
- * to author them.
28559
+ * No `form`: a form per table row would mean N form documents with no way to author them. A
28560
+ * `slot` IS a sub-field (V2 kit entries: an instance in an object or a row, `{ componentId,
28561
+ * overrides? }` at its key), with the slot prop's config keys. Mirrors @bettercms-ai/types.
28515
28562
  */
28516
- type: Exclude<ComponentPropDef["type"], "slot" | "form">;
28563
+ type: Exclude<ComponentPropDef["type"], "form">;
28517
28564
  defaultValue?: unknown;
28518
28565
  /** The same editor hints as the prop above, one level down. @see ComponentPropDef */
28519
28566
  required?: boolean;
@@ -28532,6 +28579,8 @@ type ComponentSubField = {
28532
28579
  /** V2 per-field localization: a stored marker. */
28533
28580
  localized?: boolean;
28534
28581
  fields?: ComponentSubField[];
28582
+ /** Per-type settings, the prop's keys one level down (a slot's `componentIds` / `allow`, a list's `itemType`). */
28583
+ config?: Record<string, unknown>;
28535
28584
  };
28536
28585
  type ComponentSelect = InferSelectModel<typeof components>;
28537
28586
  type ComponentInsert = InferInsertModel<typeof components>;
package/dist/index.js CHANGED
@@ -26886,6 +26886,12 @@ var components = pgTable83(
26886
26886
  // The component's BLOCK icon (migration 0460): a dock icon name for the root crumb, slot rows
26887
26887
  // and slot child frames. Draft-only authoring chrome like `design`. Null = unset. Validated at the API layer.
26888
26888
  icon: text84("icon"),
26889
+ // The bettercms://kit entry its V2 dock UI was built from (migration 0463): a kit-catalog id. The
26890
+ // setup gate's dock row reads it. Draft-only authoring chrome like `icon`. Null = none named. Validated at the API layer.
26891
+ kitEntry: text84("kit_entry"),
26892
+ // The V2 tabs NO top-level prop sits in (migration 0462): [{ id, label, icon?, order? }], declared
26893
+ // so a /kit schema round-trips. Draft-only authoring chrome like `design`. Null = none. Validated at the API layer.
26894
+ tabs: jsonb44("tabs").$type(),
26889
26895
  // How an instance reads as a ROW in a parent's slot list (migration 0459): { title?, subtitle?,
26890
26896
  // media?, fallback?, icon? }, title/subtitle/media naming top-level prop keys. Draft-only
26891
26897
  // authoring chrome like `design`. Null = unset. Validated at the API layer.