@bettercms-ai/db 0.4.2 → 0.4.3

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
@@ -668,6 +668,8 @@ declare const EMPTY_CUSTOM_SCRIPTS: CustomScripts;
668
668
  */
669
669
  type ProjectFormDefaults = {
670
670
  notifyEmails?: string[];
671
+ /** Site-wide default for forms that do not set `notification.enabled`. Absent = true. */
672
+ notifyEnabled?: boolean;
671
673
  senderName?: string;
672
674
  replyTo?: string;
673
675
  subject?: string;
@@ -1772,6 +1774,23 @@ declare const projects: drizzle_orm_pg_core.PgTableWithColumns<{
1772
1774
  identity: undefined;
1773
1775
  generated: undefined;
1774
1776
  }, {}, {}>;
1777
+ promoteAfterSetup: drizzle_orm_pg_core.PgColumn<{
1778
+ name: "promote_after_setup";
1779
+ tableName: "projects";
1780
+ dataType: "boolean";
1781
+ columnType: "PgBoolean";
1782
+ data: boolean;
1783
+ driverParam: boolean;
1784
+ notNull: true;
1785
+ hasDefault: true;
1786
+ isPrimaryKey: false;
1787
+ isAutoincrement: false;
1788
+ hasRuntimeDefault: false;
1789
+ enumValues: undefined;
1790
+ baseColumn: never;
1791
+ identity: undefined;
1792
+ generated: undefined;
1793
+ }, {}, {}>;
1775
1794
  canvasEnabled: drizzle_orm_pg_core.PgColumn<{
1776
1795
  name: "canvas_enabled";
1777
1796
  tableName: "projects";
@@ -9937,6 +9956,12 @@ type FormNotification = {
9937
9956
  replyTo?: string;
9938
9957
  subject?: string;
9939
9958
  body?: string;
9959
+ /**
9960
+ * `false` mutes the built-in admin email (notifyEmails → project defaults → owners) — for a
9961
+ * newsletter signup nobody wants one mail per subscriber. Email-integration rows are separate
9962
+ * and keep sending. Absent = inherit `ProjectFormDefaults.notifyEnabled`, then `true`.
9963
+ */
9964
+ enabled?: boolean;
9940
9965
  };
9941
9966
  type FormSelect = InferSelectModel<typeof forms>;
9942
9967
  type FormInsert = InferInsertModel<typeof forms>;
package/dist/index.js CHANGED
@@ -23470,6 +23470,19 @@ var projects = pgTable10(
23470
23470
  // production `current` on an explicit promote (POST /projects/:id/promote). false =
23471
23471
  // legacy Vercel-style auto-deploy straight to production. See list_deployable_releases().
23472
23472
  requirePromote: boolean7("require_promote").notNull().default(false),
23473
+ /**
23474
+ * WHO will press promote — set alongside `require_promote` when a repo is imported, so a
23475
+ * fresh import's first build is staged while its eleven setup lanes run and the public
23476
+ * site only appears once they have (migration 0369).
23477
+ *
23478
+ * The sibling of `require_promote`, not a second copy of it: that column answers "does this
23479
+ * build stage?" and every slot rule reads it (TS `deployableSlot`, SQL
23480
+ * `list_deployable_releases`, the binding-report slot). This one answers "and is the
23481
+ * platform going to promote it itself?" — true means the release chain promotes on its own
23482
+ * once the lanes finish, and both flags clear so every later build auto-deploys as before.
23483
+ * A project whose owner turned the toggle on keeps this false and waits for a human.
23484
+ */
23485
+ promoteAfterSetup: boolean7("promote_after_setup").notNull().default(false),
23473
23486
  // Cross-origin canvas opt-in (#235 lane). When true the editor may frame this project's
23474
23487
  // site at `canvas-<projectId>.bettercms.site` — the guest that infra/nginx/canvas.conf
23475
23488
  // injects talks postMessage instead of the same-origin DOM access the editor uses today.
@@ -25151,7 +25164,9 @@ var rebuildQueue = pgTable47("rebuild_queue", {
25151
25164
  // FK to projects.id
25152
25165
  workspaceId: text48("workspace_id").notNull(),
25153
25166
  // FK to workspaces.id
25154
- // queued | building | idle | failed
25167
+ // queued | building | categorizing | idle | failed
25168
+ // 'categorizing': the bytes are live and the release's lane chain (derive/annotate/structure)
25169
+ // is still running — publishing is not finished, so this is NOT idle.
25155
25170
  state: varchar31("state", { length: 20 }).notNull().default("queued"),
25156
25171
  debounceUntil: timestamp45("debounce_until").notNull(),
25157
25172
  inFlightSha: varchar31("in_flight_sha", { length: 64 }),