@foundrynorth/flux-schema 1.4.0 → 1.5.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.
- package/dist/schema.d.ts +1278 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +226 -1
- package/dist/schema.js.map +1 -1
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -12795,6 +12795,14 @@ export declare const fluxFulfillmentStageEnum: import("drizzle-orm/pg-core").PgE
|
|
|
12795
12795
|
/**
|
|
12796
12796
|
* Fulfillment team enum — the operational team responsible for the ticket.
|
|
12797
12797
|
*/
|
|
12798
|
+
/** SEM optimization log entry category — every type of action taken on a campaign. */
|
|
12799
|
+
export declare const fluxSemOptLogCategoryEnum: import("drizzle-orm/pg-core").PgEnum<["bid_change", "keyword_added", "keyword_paused", "keyword_negative", "ad_copy_change", "budget_change", "targeting_change", "landing_page", "conversion_tracking", "quality_score", "competitor_response", "other"]>;
|
|
12800
|
+
/** SEM optimization alert type — signals generated by the optimization engine. */
|
|
12801
|
+
export declare const fluxSemAlertTypeEnum: import("drizzle-orm/pg-core").PgEnum<["rank_change", "competitor_move", "budget_pacing", "keyword_opportunity", "negative_keyword", "ai_recommendation"]>;
|
|
12802
|
+
/** SEM alert severity level. */
|
|
12803
|
+
export declare const fluxSemAlertSeverityEnum: import("drizzle-orm/pg-core").PgEnum<["info", "warning", "critical"]>;
|
|
12804
|
+
/** SEM ticket complexity for workload sizing on the team board. */
|
|
12805
|
+
export declare const fluxSemComplexityEnum: import("drizzle-orm/pg-core").PgEnum<["light", "standard", "heavy"]>;
|
|
12798
12806
|
export declare const fluxFulfillmentTeamEnum: import("drizzle-orm/pg-core").PgEnum<["creative_team", "campaign_manager", "media_buyer"]>;
|
|
12799
12807
|
/**
|
|
12800
12808
|
* Fulfillment tickets — projected from HubSpot Fulfillment Pipeline (1230947033).
|
|
@@ -13937,6 +13945,57 @@ export declare const fluxFulfillmentTickets: import("drizzle-orm/pg-core").PgTab
|
|
|
13937
13945
|
identity: undefined;
|
|
13938
13946
|
generated: undefined;
|
|
13939
13947
|
}, {}, {}>;
|
|
13948
|
+
semAssigneeId: import("drizzle-orm/pg-core").PgColumn<{
|
|
13949
|
+
name: "sem_assignee_id";
|
|
13950
|
+
tableName: "flux_fulfillment_tickets";
|
|
13951
|
+
dataType: "string";
|
|
13952
|
+
columnType: "PgText";
|
|
13953
|
+
data: string;
|
|
13954
|
+
driverParam: string;
|
|
13955
|
+
notNull: false;
|
|
13956
|
+
hasDefault: false;
|
|
13957
|
+
isPrimaryKey: false;
|
|
13958
|
+
isAutoincrement: false;
|
|
13959
|
+
hasRuntimeDefault: false;
|
|
13960
|
+
enumValues: [string, ...string[]];
|
|
13961
|
+
baseColumn: never;
|
|
13962
|
+
identity: undefined;
|
|
13963
|
+
generated: undefined;
|
|
13964
|
+
}, {}, {}>;
|
|
13965
|
+
semEstimatedHours: import("drizzle-orm/pg-core").PgColumn<{
|
|
13966
|
+
name: "sem_estimated_hours";
|
|
13967
|
+
tableName: "flux_fulfillment_tickets";
|
|
13968
|
+
dataType: "string";
|
|
13969
|
+
columnType: "PgNumeric";
|
|
13970
|
+
data: string;
|
|
13971
|
+
driverParam: string;
|
|
13972
|
+
notNull: false;
|
|
13973
|
+
hasDefault: false;
|
|
13974
|
+
isPrimaryKey: false;
|
|
13975
|
+
isAutoincrement: false;
|
|
13976
|
+
hasRuntimeDefault: false;
|
|
13977
|
+
enumValues: undefined;
|
|
13978
|
+
baseColumn: never;
|
|
13979
|
+
identity: undefined;
|
|
13980
|
+
generated: undefined;
|
|
13981
|
+
}, {}, {}>;
|
|
13982
|
+
semComplexity: import("drizzle-orm/pg-core").PgColumn<{
|
|
13983
|
+
name: "sem_complexity";
|
|
13984
|
+
tableName: "flux_fulfillment_tickets";
|
|
13985
|
+
dataType: "string";
|
|
13986
|
+
columnType: "PgEnumColumn";
|
|
13987
|
+
data: "light" | "standard" | "heavy";
|
|
13988
|
+
driverParam: string;
|
|
13989
|
+
notNull: false;
|
|
13990
|
+
hasDefault: false;
|
|
13991
|
+
isPrimaryKey: false;
|
|
13992
|
+
isAutoincrement: false;
|
|
13993
|
+
hasRuntimeDefault: false;
|
|
13994
|
+
enumValues: ["light", "standard", "heavy"];
|
|
13995
|
+
baseColumn: never;
|
|
13996
|
+
identity: undefined;
|
|
13997
|
+
generated: undefined;
|
|
13998
|
+
}, {}, {}>;
|
|
13940
13999
|
createdAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
13941
14000
|
name: "created_at";
|
|
13942
14001
|
tableName: "flux_fulfillment_tickets";
|
|
@@ -29757,5 +29816,1224 @@ export declare const fluxClientProductMapRelations: import("drizzle-orm").Relati
|
|
|
29757
29816
|
}>;
|
|
29758
29817
|
export type FluxClientProductMap = typeof fluxClientProductMap.$inferSelect;
|
|
29759
29818
|
export type NewFluxClientProductMap = typeof fluxClientProductMap.$inferInsert;
|
|
29819
|
+
/**
|
|
29820
|
+
* flux_sem_campaigns — SEM campaign data projected from Compass events.
|
|
29821
|
+
*
|
|
29822
|
+
* Stores enrichment summaries, performance snapshots, and operational metadata
|
|
29823
|
+
* for the SEM dashboard and team board. Populated via Compass → Flux event bridge
|
|
29824
|
+
* (`sem.enrichment_completed`, `sem.performance_updated`, `sem.optimization_logged`).
|
|
29825
|
+
*/
|
|
29826
|
+
export declare const fluxSemCampaigns: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
29827
|
+
name: "flux_sem_campaigns";
|
|
29828
|
+
schema: undefined;
|
|
29829
|
+
columns: {
|
|
29830
|
+
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
29831
|
+
name: "id";
|
|
29832
|
+
tableName: "flux_sem_campaigns";
|
|
29833
|
+
dataType: "string";
|
|
29834
|
+
columnType: "PgText";
|
|
29835
|
+
data: string;
|
|
29836
|
+
driverParam: string;
|
|
29837
|
+
notNull: true;
|
|
29838
|
+
hasDefault: true;
|
|
29839
|
+
isPrimaryKey: true;
|
|
29840
|
+
isAutoincrement: false;
|
|
29841
|
+
hasRuntimeDefault: false;
|
|
29842
|
+
enumValues: [string, ...string[]];
|
|
29843
|
+
baseColumn: never;
|
|
29844
|
+
identity: undefined;
|
|
29845
|
+
generated: undefined;
|
|
29846
|
+
}, {}, {}>;
|
|
29847
|
+
compassSemCampaignId: import("drizzle-orm/pg-core").PgColumn<{
|
|
29848
|
+
name: "compass_sem_campaign_id";
|
|
29849
|
+
tableName: "flux_sem_campaigns";
|
|
29850
|
+
dataType: "string";
|
|
29851
|
+
columnType: "PgText";
|
|
29852
|
+
data: string;
|
|
29853
|
+
driverParam: string;
|
|
29854
|
+
notNull: true;
|
|
29855
|
+
hasDefault: false;
|
|
29856
|
+
isPrimaryKey: false;
|
|
29857
|
+
isAutoincrement: false;
|
|
29858
|
+
hasRuntimeDefault: false;
|
|
29859
|
+
enumValues: [string, ...string[]];
|
|
29860
|
+
baseColumn: never;
|
|
29861
|
+
identity: undefined;
|
|
29862
|
+
generated: undefined;
|
|
29863
|
+
}, {}, {}>;
|
|
29864
|
+
fulfillmentTicketId: import("drizzle-orm/pg-core").PgColumn<{
|
|
29865
|
+
name: "fulfillment_ticket_id";
|
|
29866
|
+
tableName: "flux_sem_campaigns";
|
|
29867
|
+
dataType: "string";
|
|
29868
|
+
columnType: "PgText";
|
|
29869
|
+
data: string;
|
|
29870
|
+
driverParam: string;
|
|
29871
|
+
notNull: false;
|
|
29872
|
+
hasDefault: false;
|
|
29873
|
+
isPrimaryKey: false;
|
|
29874
|
+
isAutoincrement: false;
|
|
29875
|
+
hasRuntimeDefault: false;
|
|
29876
|
+
enumValues: [string, ...string[]];
|
|
29877
|
+
baseColumn: never;
|
|
29878
|
+
identity: undefined;
|
|
29879
|
+
generated: undefined;
|
|
29880
|
+
}, {}, {}>;
|
|
29881
|
+
projectId: import("drizzle-orm/pg-core").PgColumn<{
|
|
29882
|
+
name: "project_id";
|
|
29883
|
+
tableName: "flux_sem_campaigns";
|
|
29884
|
+
dataType: "string";
|
|
29885
|
+
columnType: "PgText";
|
|
29886
|
+
data: string;
|
|
29887
|
+
driverParam: string;
|
|
29888
|
+
notNull: false;
|
|
29889
|
+
hasDefault: false;
|
|
29890
|
+
isPrimaryKey: false;
|
|
29891
|
+
isAutoincrement: false;
|
|
29892
|
+
hasRuntimeDefault: false;
|
|
29893
|
+
enumValues: [string, ...string[]];
|
|
29894
|
+
baseColumn: never;
|
|
29895
|
+
identity: undefined;
|
|
29896
|
+
generated: undefined;
|
|
29897
|
+
}, {}, {}>;
|
|
29898
|
+
clientDomain: import("drizzle-orm/pg-core").PgColumn<{
|
|
29899
|
+
name: "client_domain";
|
|
29900
|
+
tableName: "flux_sem_campaigns";
|
|
29901
|
+
dataType: "string";
|
|
29902
|
+
columnType: "PgText";
|
|
29903
|
+
data: string;
|
|
29904
|
+
driverParam: string;
|
|
29905
|
+
notNull: false;
|
|
29906
|
+
hasDefault: false;
|
|
29907
|
+
isPrimaryKey: false;
|
|
29908
|
+
isAutoincrement: false;
|
|
29909
|
+
hasRuntimeDefault: false;
|
|
29910
|
+
enumValues: [string, ...string[]];
|
|
29911
|
+
baseColumn: never;
|
|
29912
|
+
identity: undefined;
|
|
29913
|
+
generated: undefined;
|
|
29914
|
+
}, {}, {}>;
|
|
29915
|
+
clientName: import("drizzle-orm/pg-core").PgColumn<{
|
|
29916
|
+
name: "client_name";
|
|
29917
|
+
tableName: "flux_sem_campaigns";
|
|
29918
|
+
dataType: "string";
|
|
29919
|
+
columnType: "PgText";
|
|
29920
|
+
data: string;
|
|
29921
|
+
driverParam: string;
|
|
29922
|
+
notNull: false;
|
|
29923
|
+
hasDefault: false;
|
|
29924
|
+
isPrimaryKey: false;
|
|
29925
|
+
isAutoincrement: false;
|
|
29926
|
+
hasRuntimeDefault: false;
|
|
29927
|
+
enumValues: [string, ...string[]];
|
|
29928
|
+
baseColumn: never;
|
|
29929
|
+
identity: undefined;
|
|
29930
|
+
generated: undefined;
|
|
29931
|
+
}, {}, {}>;
|
|
29932
|
+
orderId: import("drizzle-orm/pg-core").PgColumn<{
|
|
29933
|
+
name: "order_id";
|
|
29934
|
+
tableName: "flux_sem_campaigns";
|
|
29935
|
+
dataType: "string";
|
|
29936
|
+
columnType: "PgText";
|
|
29937
|
+
data: string;
|
|
29938
|
+
driverParam: string;
|
|
29939
|
+
notNull: false;
|
|
29940
|
+
hasDefault: false;
|
|
29941
|
+
isPrimaryKey: false;
|
|
29942
|
+
isAutoincrement: false;
|
|
29943
|
+
hasRuntimeDefault: false;
|
|
29944
|
+
enumValues: [string, ...string[]];
|
|
29945
|
+
baseColumn: never;
|
|
29946
|
+
identity: undefined;
|
|
29947
|
+
generated: undefined;
|
|
29948
|
+
}, {}, {}>;
|
|
29949
|
+
lineItemId: import("drizzle-orm/pg-core").PgColumn<{
|
|
29950
|
+
name: "line_item_id";
|
|
29951
|
+
tableName: "flux_sem_campaigns";
|
|
29952
|
+
dataType: "string";
|
|
29953
|
+
columnType: "PgText";
|
|
29954
|
+
data: string;
|
|
29955
|
+
driverParam: string;
|
|
29956
|
+
notNull: false;
|
|
29957
|
+
hasDefault: false;
|
|
29958
|
+
isPrimaryKey: false;
|
|
29959
|
+
isAutoincrement: false;
|
|
29960
|
+
hasRuntimeDefault: false;
|
|
29961
|
+
enumValues: [string, ...string[]];
|
|
29962
|
+
baseColumn: never;
|
|
29963
|
+
identity: undefined;
|
|
29964
|
+
generated: undefined;
|
|
29965
|
+
}, {}, {}>;
|
|
29966
|
+
status: import("drizzle-orm/pg-core").PgColumn<{
|
|
29967
|
+
name: "status";
|
|
29968
|
+
tableName: "flux_sem_campaigns";
|
|
29969
|
+
dataType: "string";
|
|
29970
|
+
columnType: "PgText";
|
|
29971
|
+
data: string;
|
|
29972
|
+
driverParam: string;
|
|
29973
|
+
notNull: true;
|
|
29974
|
+
hasDefault: true;
|
|
29975
|
+
isPrimaryKey: false;
|
|
29976
|
+
isAutoincrement: false;
|
|
29977
|
+
hasRuntimeDefault: false;
|
|
29978
|
+
enumValues: [string, ...string[]];
|
|
29979
|
+
baseColumn: never;
|
|
29980
|
+
identity: undefined;
|
|
29981
|
+
generated: undefined;
|
|
29982
|
+
}, {}, {}>;
|
|
29983
|
+
enrichmentStatus: import("drizzle-orm/pg-core").PgColumn<{
|
|
29984
|
+
name: "enrichment_status";
|
|
29985
|
+
tableName: "flux_sem_campaigns";
|
|
29986
|
+
dataType: "string";
|
|
29987
|
+
columnType: "PgText";
|
|
29988
|
+
data: string;
|
|
29989
|
+
driverParam: string;
|
|
29990
|
+
notNull: true;
|
|
29991
|
+
hasDefault: true;
|
|
29992
|
+
isPrimaryKey: false;
|
|
29993
|
+
isAutoincrement: false;
|
|
29994
|
+
hasRuntimeDefault: false;
|
|
29995
|
+
enumValues: [string, ...string[]];
|
|
29996
|
+
baseColumn: never;
|
|
29997
|
+
identity: undefined;
|
|
29998
|
+
generated: undefined;
|
|
29999
|
+
}, {}, {}>;
|
|
30000
|
+
keywordCount: import("drizzle-orm/pg-core").PgColumn<{
|
|
30001
|
+
name: "keyword_count";
|
|
30002
|
+
tableName: "flux_sem_campaigns";
|
|
30003
|
+
dataType: "number";
|
|
30004
|
+
columnType: "PgInteger";
|
|
30005
|
+
data: number;
|
|
30006
|
+
driverParam: string | number;
|
|
30007
|
+
notNull: false;
|
|
30008
|
+
hasDefault: true;
|
|
30009
|
+
isPrimaryKey: false;
|
|
30010
|
+
isAutoincrement: false;
|
|
30011
|
+
hasRuntimeDefault: false;
|
|
30012
|
+
enumValues: undefined;
|
|
30013
|
+
baseColumn: never;
|
|
30014
|
+
identity: undefined;
|
|
30015
|
+
generated: undefined;
|
|
30016
|
+
}, {}, {}>;
|
|
30017
|
+
competitorCount: import("drizzle-orm/pg-core").PgColumn<{
|
|
30018
|
+
name: "competitor_count";
|
|
30019
|
+
tableName: "flux_sem_campaigns";
|
|
30020
|
+
dataType: "number";
|
|
30021
|
+
columnType: "PgInteger";
|
|
30022
|
+
data: number;
|
|
30023
|
+
driverParam: string | number;
|
|
30024
|
+
notNull: false;
|
|
30025
|
+
hasDefault: true;
|
|
30026
|
+
isPrimaryKey: false;
|
|
30027
|
+
isAutoincrement: false;
|
|
30028
|
+
hasRuntimeDefault: false;
|
|
30029
|
+
enumValues: undefined;
|
|
30030
|
+
baseColumn: never;
|
|
30031
|
+
identity: undefined;
|
|
30032
|
+
generated: undefined;
|
|
30033
|
+
}, {}, {}>;
|
|
30034
|
+
topKeywords: import("drizzle-orm/pg-core").PgColumn<{
|
|
30035
|
+
name: "top_keywords";
|
|
30036
|
+
tableName: "flux_sem_campaigns";
|
|
30037
|
+
dataType: "json";
|
|
30038
|
+
columnType: "PgJsonb";
|
|
30039
|
+
data: unknown;
|
|
30040
|
+
driverParam: unknown;
|
|
30041
|
+
notNull: false;
|
|
30042
|
+
hasDefault: false;
|
|
30043
|
+
isPrimaryKey: false;
|
|
30044
|
+
isAutoincrement: false;
|
|
30045
|
+
hasRuntimeDefault: false;
|
|
30046
|
+
enumValues: undefined;
|
|
30047
|
+
baseColumn: never;
|
|
30048
|
+
identity: undefined;
|
|
30049
|
+
generated: undefined;
|
|
30050
|
+
}, {}, {}>;
|
|
30051
|
+
competitorSummary: import("drizzle-orm/pg-core").PgColumn<{
|
|
30052
|
+
name: "competitor_summary";
|
|
30053
|
+
tableName: "flux_sem_campaigns";
|
|
30054
|
+
dataType: "json";
|
|
30055
|
+
columnType: "PgJsonb";
|
|
30056
|
+
data: unknown;
|
|
30057
|
+
driverParam: unknown;
|
|
30058
|
+
notNull: false;
|
|
30059
|
+
hasDefault: false;
|
|
30060
|
+
isPrimaryKey: false;
|
|
30061
|
+
isAutoincrement: false;
|
|
30062
|
+
hasRuntimeDefault: false;
|
|
30063
|
+
enumValues: undefined;
|
|
30064
|
+
baseColumn: never;
|
|
30065
|
+
identity: undefined;
|
|
30066
|
+
generated: undefined;
|
|
30067
|
+
}, {}, {}>;
|
|
30068
|
+
landingPageScore: import("drizzle-orm/pg-core").PgColumn<{
|
|
30069
|
+
name: "landing_page_score";
|
|
30070
|
+
tableName: "flux_sem_campaigns";
|
|
30071
|
+
dataType: "number";
|
|
30072
|
+
columnType: "PgInteger";
|
|
30073
|
+
data: number;
|
|
30074
|
+
driverParam: string | number;
|
|
30075
|
+
notNull: false;
|
|
30076
|
+
hasDefault: false;
|
|
30077
|
+
isPrimaryKey: false;
|
|
30078
|
+
isAutoincrement: false;
|
|
30079
|
+
hasRuntimeDefault: false;
|
|
30080
|
+
enumValues: undefined;
|
|
30081
|
+
baseColumn: never;
|
|
30082
|
+
identity: undefined;
|
|
30083
|
+
generated: undefined;
|
|
30084
|
+
}, {}, {}>;
|
|
30085
|
+
accountStructureReady: import("drizzle-orm/pg-core").PgColumn<{
|
|
30086
|
+
name: "account_structure_ready";
|
|
30087
|
+
tableName: "flux_sem_campaigns";
|
|
30088
|
+
dataType: "boolean";
|
|
30089
|
+
columnType: "PgBoolean";
|
|
30090
|
+
data: boolean;
|
|
30091
|
+
driverParam: boolean;
|
|
30092
|
+
notNull: false;
|
|
30093
|
+
hasDefault: true;
|
|
30094
|
+
isPrimaryKey: false;
|
|
30095
|
+
isAutoincrement: false;
|
|
30096
|
+
hasRuntimeDefault: false;
|
|
30097
|
+
enumValues: undefined;
|
|
30098
|
+
baseColumn: never;
|
|
30099
|
+
identity: undefined;
|
|
30100
|
+
generated: undefined;
|
|
30101
|
+
}, {}, {}>;
|
|
30102
|
+
monthlyBudget: import("drizzle-orm/pg-core").PgColumn<{
|
|
30103
|
+
name: "monthly_budget";
|
|
30104
|
+
tableName: "flux_sem_campaigns";
|
|
30105
|
+
dataType: "string";
|
|
30106
|
+
columnType: "PgNumeric";
|
|
30107
|
+
data: string;
|
|
30108
|
+
driverParam: string;
|
|
30109
|
+
notNull: false;
|
|
30110
|
+
hasDefault: false;
|
|
30111
|
+
isPrimaryKey: false;
|
|
30112
|
+
isAutoincrement: false;
|
|
30113
|
+
hasRuntimeDefault: false;
|
|
30114
|
+
enumValues: undefined;
|
|
30115
|
+
baseColumn: never;
|
|
30116
|
+
identity: undefined;
|
|
30117
|
+
generated: undefined;
|
|
30118
|
+
}, {}, {}>;
|
|
30119
|
+
totalBudget: import("drizzle-orm/pg-core").PgColumn<{
|
|
30120
|
+
name: "total_budget";
|
|
30121
|
+
tableName: "flux_sem_campaigns";
|
|
30122
|
+
dataType: "string";
|
|
30123
|
+
columnType: "PgNumeric";
|
|
30124
|
+
data: string;
|
|
30125
|
+
driverParam: string;
|
|
30126
|
+
notNull: false;
|
|
30127
|
+
hasDefault: false;
|
|
30128
|
+
isPrimaryKey: false;
|
|
30129
|
+
isAutoincrement: false;
|
|
30130
|
+
hasRuntimeDefault: false;
|
|
30131
|
+
enumValues: undefined;
|
|
30132
|
+
baseColumn: never;
|
|
30133
|
+
identity: undefined;
|
|
30134
|
+
generated: undefined;
|
|
30135
|
+
}, {}, {}>;
|
|
30136
|
+
startDate: import("drizzle-orm/pg-core").PgColumn<{
|
|
30137
|
+
name: "start_date";
|
|
30138
|
+
tableName: "flux_sem_campaigns";
|
|
30139
|
+
dataType: "string";
|
|
30140
|
+
columnType: "PgText";
|
|
30141
|
+
data: string;
|
|
30142
|
+
driverParam: string;
|
|
30143
|
+
notNull: false;
|
|
30144
|
+
hasDefault: false;
|
|
30145
|
+
isPrimaryKey: false;
|
|
30146
|
+
isAutoincrement: false;
|
|
30147
|
+
hasRuntimeDefault: false;
|
|
30148
|
+
enumValues: [string, ...string[]];
|
|
30149
|
+
baseColumn: never;
|
|
30150
|
+
identity: undefined;
|
|
30151
|
+
generated: undefined;
|
|
30152
|
+
}, {}, {}>;
|
|
30153
|
+
endDate: import("drizzle-orm/pg-core").PgColumn<{
|
|
30154
|
+
name: "end_date";
|
|
30155
|
+
tableName: "flux_sem_campaigns";
|
|
30156
|
+
dataType: "string";
|
|
30157
|
+
columnType: "PgText";
|
|
30158
|
+
data: string;
|
|
30159
|
+
driverParam: string;
|
|
30160
|
+
notNull: false;
|
|
30161
|
+
hasDefault: false;
|
|
30162
|
+
isPrimaryKey: false;
|
|
30163
|
+
isAutoincrement: false;
|
|
30164
|
+
hasRuntimeDefault: false;
|
|
30165
|
+
enumValues: [string, ...string[]];
|
|
30166
|
+
baseColumn: never;
|
|
30167
|
+
identity: undefined;
|
|
30168
|
+
generated: undefined;
|
|
30169
|
+
}, {}, {}>;
|
|
30170
|
+
impressions: import("drizzle-orm/pg-core").PgColumn<{
|
|
30171
|
+
name: "impressions";
|
|
30172
|
+
tableName: "flux_sem_campaigns";
|
|
30173
|
+
dataType: "number";
|
|
30174
|
+
columnType: "PgInteger";
|
|
30175
|
+
data: number;
|
|
30176
|
+
driverParam: string | number;
|
|
30177
|
+
notNull: false;
|
|
30178
|
+
hasDefault: true;
|
|
30179
|
+
isPrimaryKey: false;
|
|
30180
|
+
isAutoincrement: false;
|
|
30181
|
+
hasRuntimeDefault: false;
|
|
30182
|
+
enumValues: undefined;
|
|
30183
|
+
baseColumn: never;
|
|
30184
|
+
identity: undefined;
|
|
30185
|
+
generated: undefined;
|
|
30186
|
+
}, {}, {}>;
|
|
30187
|
+
clicks: import("drizzle-orm/pg-core").PgColumn<{
|
|
30188
|
+
name: "clicks";
|
|
30189
|
+
tableName: "flux_sem_campaigns";
|
|
30190
|
+
dataType: "number";
|
|
30191
|
+
columnType: "PgInteger";
|
|
30192
|
+
data: number;
|
|
30193
|
+
driverParam: string | number;
|
|
30194
|
+
notNull: false;
|
|
30195
|
+
hasDefault: true;
|
|
30196
|
+
isPrimaryKey: false;
|
|
30197
|
+
isAutoincrement: false;
|
|
30198
|
+
hasRuntimeDefault: false;
|
|
30199
|
+
enumValues: undefined;
|
|
30200
|
+
baseColumn: never;
|
|
30201
|
+
identity: undefined;
|
|
30202
|
+
generated: undefined;
|
|
30203
|
+
}, {}, {}>;
|
|
30204
|
+
conversions: import("drizzle-orm/pg-core").PgColumn<{
|
|
30205
|
+
name: "conversions";
|
|
30206
|
+
tableName: "flux_sem_campaigns";
|
|
30207
|
+
dataType: "number";
|
|
30208
|
+
columnType: "PgInteger";
|
|
30209
|
+
data: number;
|
|
30210
|
+
driverParam: string | number;
|
|
30211
|
+
notNull: false;
|
|
30212
|
+
hasDefault: true;
|
|
30213
|
+
isPrimaryKey: false;
|
|
30214
|
+
isAutoincrement: false;
|
|
30215
|
+
hasRuntimeDefault: false;
|
|
30216
|
+
enumValues: undefined;
|
|
30217
|
+
baseColumn: never;
|
|
30218
|
+
identity: undefined;
|
|
30219
|
+
generated: undefined;
|
|
30220
|
+
}, {}, {}>;
|
|
30221
|
+
spend: import("drizzle-orm/pg-core").PgColumn<{
|
|
30222
|
+
name: "spend";
|
|
30223
|
+
tableName: "flux_sem_campaigns";
|
|
30224
|
+
dataType: "string";
|
|
30225
|
+
columnType: "PgNumeric";
|
|
30226
|
+
data: string;
|
|
30227
|
+
driverParam: string;
|
|
30228
|
+
notNull: false;
|
|
30229
|
+
hasDefault: true;
|
|
30230
|
+
isPrimaryKey: false;
|
|
30231
|
+
isAutoincrement: false;
|
|
30232
|
+
hasRuntimeDefault: false;
|
|
30233
|
+
enumValues: undefined;
|
|
30234
|
+
baseColumn: never;
|
|
30235
|
+
identity: undefined;
|
|
30236
|
+
generated: undefined;
|
|
30237
|
+
}, {}, {}>;
|
|
30238
|
+
ctr: import("drizzle-orm/pg-core").PgColumn<{
|
|
30239
|
+
name: "ctr";
|
|
30240
|
+
tableName: "flux_sem_campaigns";
|
|
30241
|
+
dataType: "string";
|
|
30242
|
+
columnType: "PgNumeric";
|
|
30243
|
+
data: string;
|
|
30244
|
+
driverParam: string;
|
|
30245
|
+
notNull: false;
|
|
30246
|
+
hasDefault: false;
|
|
30247
|
+
isPrimaryKey: false;
|
|
30248
|
+
isAutoincrement: false;
|
|
30249
|
+
hasRuntimeDefault: false;
|
|
30250
|
+
enumValues: undefined;
|
|
30251
|
+
baseColumn: never;
|
|
30252
|
+
identity: undefined;
|
|
30253
|
+
generated: undefined;
|
|
30254
|
+
}, {}, {}>;
|
|
30255
|
+
cpc: import("drizzle-orm/pg-core").PgColumn<{
|
|
30256
|
+
name: "cpc";
|
|
30257
|
+
tableName: "flux_sem_campaigns";
|
|
30258
|
+
dataType: "string";
|
|
30259
|
+
columnType: "PgNumeric";
|
|
30260
|
+
data: string;
|
|
30261
|
+
driverParam: string;
|
|
30262
|
+
notNull: false;
|
|
30263
|
+
hasDefault: false;
|
|
30264
|
+
isPrimaryKey: false;
|
|
30265
|
+
isAutoincrement: false;
|
|
30266
|
+
hasRuntimeDefault: false;
|
|
30267
|
+
enumValues: undefined;
|
|
30268
|
+
baseColumn: never;
|
|
30269
|
+
identity: undefined;
|
|
30270
|
+
generated: undefined;
|
|
30271
|
+
}, {}, {}>;
|
|
30272
|
+
conversionRate: import("drizzle-orm/pg-core").PgColumn<{
|
|
30273
|
+
name: "conversion_rate";
|
|
30274
|
+
tableName: "flux_sem_campaigns";
|
|
30275
|
+
dataType: "string";
|
|
30276
|
+
columnType: "PgNumeric";
|
|
30277
|
+
data: string;
|
|
30278
|
+
driverParam: string;
|
|
30279
|
+
notNull: false;
|
|
30280
|
+
hasDefault: false;
|
|
30281
|
+
isPrimaryKey: false;
|
|
30282
|
+
isAutoincrement: false;
|
|
30283
|
+
hasRuntimeDefault: false;
|
|
30284
|
+
enumValues: undefined;
|
|
30285
|
+
baseColumn: never;
|
|
30286
|
+
identity: undefined;
|
|
30287
|
+
generated: undefined;
|
|
30288
|
+
}, {}, {}>;
|
|
30289
|
+
performanceLastUpdated: import("drizzle-orm/pg-core").PgColumn<{
|
|
30290
|
+
name: "performance_last_updated";
|
|
30291
|
+
tableName: "flux_sem_campaigns";
|
|
30292
|
+
dataType: "date";
|
|
30293
|
+
columnType: "PgTimestamp";
|
|
30294
|
+
data: Date;
|
|
30295
|
+
driverParam: string;
|
|
30296
|
+
notNull: false;
|
|
30297
|
+
hasDefault: false;
|
|
30298
|
+
isPrimaryKey: false;
|
|
30299
|
+
isAutoincrement: false;
|
|
30300
|
+
hasRuntimeDefault: false;
|
|
30301
|
+
enumValues: undefined;
|
|
30302
|
+
baseColumn: never;
|
|
30303
|
+
identity: undefined;
|
|
30304
|
+
generated: undefined;
|
|
30305
|
+
}, {}, {}>;
|
|
30306
|
+
optimizationLogCount: import("drizzle-orm/pg-core").PgColumn<{
|
|
30307
|
+
name: "optimization_log_count";
|
|
30308
|
+
tableName: "flux_sem_campaigns";
|
|
30309
|
+
dataType: "number";
|
|
30310
|
+
columnType: "PgInteger";
|
|
30311
|
+
data: number;
|
|
30312
|
+
driverParam: string | number;
|
|
30313
|
+
notNull: false;
|
|
30314
|
+
hasDefault: true;
|
|
30315
|
+
isPrimaryKey: false;
|
|
30316
|
+
isAutoincrement: false;
|
|
30317
|
+
hasRuntimeDefault: false;
|
|
30318
|
+
enumValues: undefined;
|
|
30319
|
+
baseColumn: never;
|
|
30320
|
+
identity: undefined;
|
|
30321
|
+
generated: undefined;
|
|
30322
|
+
}, {}, {}>;
|
|
30323
|
+
lastOptimizationDate: import("drizzle-orm/pg-core").PgColumn<{
|
|
30324
|
+
name: "last_optimization_date";
|
|
30325
|
+
tableName: "flux_sem_campaigns";
|
|
30326
|
+
dataType: "date";
|
|
30327
|
+
columnType: "PgTimestamp";
|
|
30328
|
+
data: Date;
|
|
30329
|
+
driverParam: string;
|
|
30330
|
+
notNull: false;
|
|
30331
|
+
hasDefault: false;
|
|
30332
|
+
isPrimaryKey: false;
|
|
30333
|
+
isAutoincrement: false;
|
|
30334
|
+
hasRuntimeDefault: false;
|
|
30335
|
+
enumValues: undefined;
|
|
30336
|
+
baseColumn: never;
|
|
30337
|
+
identity: undefined;
|
|
30338
|
+
generated: undefined;
|
|
30339
|
+
}, {}, {}>;
|
|
30340
|
+
unacknowledgedAlertCount: import("drizzle-orm/pg-core").PgColumn<{
|
|
30341
|
+
name: "unacknowledged_alert_count";
|
|
30342
|
+
tableName: "flux_sem_campaigns";
|
|
30343
|
+
dataType: "number";
|
|
30344
|
+
columnType: "PgInteger";
|
|
30345
|
+
data: number;
|
|
30346
|
+
driverParam: string | number;
|
|
30347
|
+
notNull: false;
|
|
30348
|
+
hasDefault: true;
|
|
30349
|
+
isPrimaryKey: false;
|
|
30350
|
+
isAutoincrement: false;
|
|
30351
|
+
hasRuntimeDefault: false;
|
|
30352
|
+
enumValues: undefined;
|
|
30353
|
+
baseColumn: never;
|
|
30354
|
+
identity: undefined;
|
|
30355
|
+
generated: undefined;
|
|
30356
|
+
}, {}, {}>;
|
|
30357
|
+
createdAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
30358
|
+
name: "created_at";
|
|
30359
|
+
tableName: "flux_sem_campaigns";
|
|
30360
|
+
dataType: "date";
|
|
30361
|
+
columnType: "PgTimestamp";
|
|
30362
|
+
data: Date;
|
|
30363
|
+
driverParam: string;
|
|
30364
|
+
notNull: true;
|
|
30365
|
+
hasDefault: true;
|
|
30366
|
+
isPrimaryKey: false;
|
|
30367
|
+
isAutoincrement: false;
|
|
30368
|
+
hasRuntimeDefault: false;
|
|
30369
|
+
enumValues: undefined;
|
|
30370
|
+
baseColumn: never;
|
|
30371
|
+
identity: undefined;
|
|
30372
|
+
generated: undefined;
|
|
30373
|
+
}, {}, {}>;
|
|
30374
|
+
updatedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
30375
|
+
name: "updated_at";
|
|
30376
|
+
tableName: "flux_sem_campaigns";
|
|
30377
|
+
dataType: "date";
|
|
30378
|
+
columnType: "PgTimestamp";
|
|
30379
|
+
data: Date;
|
|
30380
|
+
driverParam: string;
|
|
30381
|
+
notNull: true;
|
|
30382
|
+
hasDefault: true;
|
|
30383
|
+
isPrimaryKey: false;
|
|
30384
|
+
isAutoincrement: false;
|
|
30385
|
+
hasRuntimeDefault: false;
|
|
30386
|
+
enumValues: undefined;
|
|
30387
|
+
baseColumn: never;
|
|
30388
|
+
identity: undefined;
|
|
30389
|
+
generated: undefined;
|
|
30390
|
+
}, {}, {}>;
|
|
30391
|
+
};
|
|
30392
|
+
dialect: "pg";
|
|
30393
|
+
}>;
|
|
30394
|
+
export type FluxSemCampaign = typeof fluxSemCampaigns.$inferSelect;
|
|
30395
|
+
export type NewFluxSemCampaign = typeof fluxSemCampaigns.$inferInsert;
|
|
30396
|
+
/**
|
|
30397
|
+
* flux_sem_keyword_tracking — Weekly keyword ranking snapshots.
|
|
30398
|
+
*
|
|
30399
|
+
* Populated by the sem-track-keywords Trigger.dev task.
|
|
30400
|
+
* Tracks organic and ad position changes to detect drops and opportunities.
|
|
30401
|
+
*/
|
|
30402
|
+
export declare const fluxSemKeywordTracking: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
30403
|
+
name: "flux_sem_keyword_tracking";
|
|
30404
|
+
schema: undefined;
|
|
30405
|
+
columns: {
|
|
30406
|
+
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
30407
|
+
name: "id";
|
|
30408
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30409
|
+
dataType: "string";
|
|
30410
|
+
columnType: "PgText";
|
|
30411
|
+
data: string;
|
|
30412
|
+
driverParam: string;
|
|
30413
|
+
notNull: true;
|
|
30414
|
+
hasDefault: true;
|
|
30415
|
+
isPrimaryKey: true;
|
|
30416
|
+
isAutoincrement: false;
|
|
30417
|
+
hasRuntimeDefault: false;
|
|
30418
|
+
enumValues: [string, ...string[]];
|
|
30419
|
+
baseColumn: never;
|
|
30420
|
+
identity: undefined;
|
|
30421
|
+
generated: undefined;
|
|
30422
|
+
}, {}, {}>;
|
|
30423
|
+
semCampaignId: import("drizzle-orm/pg-core").PgColumn<{
|
|
30424
|
+
name: "sem_campaign_id";
|
|
30425
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30426
|
+
dataType: "string";
|
|
30427
|
+
columnType: "PgText";
|
|
30428
|
+
data: string;
|
|
30429
|
+
driverParam: string;
|
|
30430
|
+
notNull: true;
|
|
30431
|
+
hasDefault: false;
|
|
30432
|
+
isPrimaryKey: false;
|
|
30433
|
+
isAutoincrement: false;
|
|
30434
|
+
hasRuntimeDefault: false;
|
|
30435
|
+
enumValues: [string, ...string[]];
|
|
30436
|
+
baseColumn: never;
|
|
30437
|
+
identity: undefined;
|
|
30438
|
+
generated: undefined;
|
|
30439
|
+
}, {}, {}>;
|
|
30440
|
+
keyword: import("drizzle-orm/pg-core").PgColumn<{
|
|
30441
|
+
name: "keyword";
|
|
30442
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30443
|
+
dataType: "string";
|
|
30444
|
+
columnType: "PgText";
|
|
30445
|
+
data: string;
|
|
30446
|
+
driverParam: string;
|
|
30447
|
+
notNull: true;
|
|
30448
|
+
hasDefault: false;
|
|
30449
|
+
isPrimaryKey: false;
|
|
30450
|
+
isAutoincrement: false;
|
|
30451
|
+
hasRuntimeDefault: false;
|
|
30452
|
+
enumValues: [string, ...string[]];
|
|
30453
|
+
baseColumn: never;
|
|
30454
|
+
identity: undefined;
|
|
30455
|
+
generated: undefined;
|
|
30456
|
+
}, {}, {}>;
|
|
30457
|
+
searchVolume: import("drizzle-orm/pg-core").PgColumn<{
|
|
30458
|
+
name: "search_volume";
|
|
30459
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30460
|
+
dataType: "number";
|
|
30461
|
+
columnType: "PgInteger";
|
|
30462
|
+
data: number;
|
|
30463
|
+
driverParam: string | number;
|
|
30464
|
+
notNull: false;
|
|
30465
|
+
hasDefault: false;
|
|
30466
|
+
isPrimaryKey: false;
|
|
30467
|
+
isAutoincrement: false;
|
|
30468
|
+
hasRuntimeDefault: false;
|
|
30469
|
+
enumValues: undefined;
|
|
30470
|
+
baseColumn: never;
|
|
30471
|
+
identity: undefined;
|
|
30472
|
+
generated: undefined;
|
|
30473
|
+
}, {}, {}>;
|
|
30474
|
+
currentRank: import("drizzle-orm/pg-core").PgColumn<{
|
|
30475
|
+
name: "current_rank";
|
|
30476
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30477
|
+
dataType: "number";
|
|
30478
|
+
columnType: "PgInteger";
|
|
30479
|
+
data: number;
|
|
30480
|
+
driverParam: string | number;
|
|
30481
|
+
notNull: false;
|
|
30482
|
+
hasDefault: false;
|
|
30483
|
+
isPrimaryKey: false;
|
|
30484
|
+
isAutoincrement: false;
|
|
30485
|
+
hasRuntimeDefault: false;
|
|
30486
|
+
enumValues: undefined;
|
|
30487
|
+
baseColumn: never;
|
|
30488
|
+
identity: undefined;
|
|
30489
|
+
generated: undefined;
|
|
30490
|
+
}, {}, {}>;
|
|
30491
|
+
currentAdPosition: import("drizzle-orm/pg-core").PgColumn<{
|
|
30492
|
+
name: "current_ad_position";
|
|
30493
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30494
|
+
dataType: "number";
|
|
30495
|
+
columnType: "PgInteger";
|
|
30496
|
+
data: number;
|
|
30497
|
+
driverParam: string | number;
|
|
30498
|
+
notNull: false;
|
|
30499
|
+
hasDefault: false;
|
|
30500
|
+
isPrimaryKey: false;
|
|
30501
|
+
isAutoincrement: false;
|
|
30502
|
+
hasRuntimeDefault: false;
|
|
30503
|
+
enumValues: undefined;
|
|
30504
|
+
baseColumn: never;
|
|
30505
|
+
identity: undefined;
|
|
30506
|
+
generated: undefined;
|
|
30507
|
+
}, {}, {}>;
|
|
30508
|
+
competitorCount: import("drizzle-orm/pg-core").PgColumn<{
|
|
30509
|
+
name: "competitor_count";
|
|
30510
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30511
|
+
dataType: "number";
|
|
30512
|
+
columnType: "PgInteger";
|
|
30513
|
+
data: number;
|
|
30514
|
+
driverParam: string | number;
|
|
30515
|
+
notNull: false;
|
|
30516
|
+
hasDefault: false;
|
|
30517
|
+
isPrimaryKey: false;
|
|
30518
|
+
isAutoincrement: false;
|
|
30519
|
+
hasRuntimeDefault: false;
|
|
30520
|
+
enumValues: undefined;
|
|
30521
|
+
baseColumn: never;
|
|
30522
|
+
identity: undefined;
|
|
30523
|
+
generated: undefined;
|
|
30524
|
+
}, {}, {}>;
|
|
30525
|
+
topCompetitor: import("drizzle-orm/pg-core").PgColumn<{
|
|
30526
|
+
name: "top_competitor";
|
|
30527
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30528
|
+
dataType: "string";
|
|
30529
|
+
columnType: "PgText";
|
|
30530
|
+
data: string;
|
|
30531
|
+
driverParam: string;
|
|
30532
|
+
notNull: false;
|
|
30533
|
+
hasDefault: false;
|
|
30534
|
+
isPrimaryKey: false;
|
|
30535
|
+
isAutoincrement: false;
|
|
30536
|
+
hasRuntimeDefault: false;
|
|
30537
|
+
enumValues: [string, ...string[]];
|
|
30538
|
+
baseColumn: never;
|
|
30539
|
+
identity: undefined;
|
|
30540
|
+
generated: undefined;
|
|
30541
|
+
}, {}, {}>;
|
|
30542
|
+
previousRank: import("drizzle-orm/pg-core").PgColumn<{
|
|
30543
|
+
name: "previous_rank";
|
|
30544
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30545
|
+
dataType: "number";
|
|
30546
|
+
columnType: "PgInteger";
|
|
30547
|
+
data: number;
|
|
30548
|
+
driverParam: string | number;
|
|
30549
|
+
notNull: false;
|
|
30550
|
+
hasDefault: false;
|
|
30551
|
+
isPrimaryKey: false;
|
|
30552
|
+
isAutoincrement: false;
|
|
30553
|
+
hasRuntimeDefault: false;
|
|
30554
|
+
enumValues: undefined;
|
|
30555
|
+
baseColumn: never;
|
|
30556
|
+
identity: undefined;
|
|
30557
|
+
generated: undefined;
|
|
30558
|
+
}, {}, {}>;
|
|
30559
|
+
rankChange: import("drizzle-orm/pg-core").PgColumn<{
|
|
30560
|
+
name: "rank_change";
|
|
30561
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30562
|
+
dataType: "number";
|
|
30563
|
+
columnType: "PgInteger";
|
|
30564
|
+
data: number;
|
|
30565
|
+
driverParam: string | number;
|
|
30566
|
+
notNull: false;
|
|
30567
|
+
hasDefault: false;
|
|
30568
|
+
isPrimaryKey: false;
|
|
30569
|
+
isAutoincrement: false;
|
|
30570
|
+
hasRuntimeDefault: false;
|
|
30571
|
+
enumValues: undefined;
|
|
30572
|
+
baseColumn: never;
|
|
30573
|
+
identity: undefined;
|
|
30574
|
+
generated: undefined;
|
|
30575
|
+
}, {}, {}>;
|
|
30576
|
+
checkedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
30577
|
+
name: "checked_at";
|
|
30578
|
+
tableName: "flux_sem_keyword_tracking";
|
|
30579
|
+
dataType: "date";
|
|
30580
|
+
columnType: "PgTimestamp";
|
|
30581
|
+
data: Date;
|
|
30582
|
+
driverParam: string;
|
|
30583
|
+
notNull: true;
|
|
30584
|
+
hasDefault: true;
|
|
30585
|
+
isPrimaryKey: false;
|
|
30586
|
+
isAutoincrement: false;
|
|
30587
|
+
hasRuntimeDefault: false;
|
|
30588
|
+
enumValues: undefined;
|
|
30589
|
+
baseColumn: never;
|
|
30590
|
+
identity: undefined;
|
|
30591
|
+
generated: undefined;
|
|
30592
|
+
}, {}, {}>;
|
|
30593
|
+
};
|
|
30594
|
+
dialect: "pg";
|
|
30595
|
+
}>;
|
|
30596
|
+
export type FluxSemKeywordTracking = typeof fluxSemKeywordTracking.$inferSelect;
|
|
30597
|
+
export type NewFluxSemKeywordTracking = typeof fluxSemKeywordTracking.$inferInsert;
|
|
30598
|
+
/**
|
|
30599
|
+
* flux_sem_optimization_alerts — Automated optimization signals.
|
|
30600
|
+
*
|
|
30601
|
+
* Generated by the SEM optimization engine when thresholds are crossed:
|
|
30602
|
+
* rank drops, competitor moves, budget pacing issues, AI recommendations.
|
|
30603
|
+
*/
|
|
30604
|
+
export declare const fluxSemOptimizationAlerts: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
30605
|
+
name: "flux_sem_optimization_alerts";
|
|
30606
|
+
schema: undefined;
|
|
30607
|
+
columns: {
|
|
30608
|
+
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
30609
|
+
name: "id";
|
|
30610
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30611
|
+
dataType: "string";
|
|
30612
|
+
columnType: "PgText";
|
|
30613
|
+
data: string;
|
|
30614
|
+
driverParam: string;
|
|
30615
|
+
notNull: true;
|
|
30616
|
+
hasDefault: true;
|
|
30617
|
+
isPrimaryKey: true;
|
|
30618
|
+
isAutoincrement: false;
|
|
30619
|
+
hasRuntimeDefault: false;
|
|
30620
|
+
enumValues: [string, ...string[]];
|
|
30621
|
+
baseColumn: never;
|
|
30622
|
+
identity: undefined;
|
|
30623
|
+
generated: undefined;
|
|
30624
|
+
}, {}, {}>;
|
|
30625
|
+
semCampaignId: import("drizzle-orm/pg-core").PgColumn<{
|
|
30626
|
+
name: "sem_campaign_id";
|
|
30627
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30628
|
+
dataType: "string";
|
|
30629
|
+
columnType: "PgText";
|
|
30630
|
+
data: string;
|
|
30631
|
+
driverParam: string;
|
|
30632
|
+
notNull: true;
|
|
30633
|
+
hasDefault: false;
|
|
30634
|
+
isPrimaryKey: false;
|
|
30635
|
+
isAutoincrement: false;
|
|
30636
|
+
hasRuntimeDefault: false;
|
|
30637
|
+
enumValues: [string, ...string[]];
|
|
30638
|
+
baseColumn: never;
|
|
30639
|
+
identity: undefined;
|
|
30640
|
+
generated: undefined;
|
|
30641
|
+
}, {}, {}>;
|
|
30642
|
+
alertType: import("drizzle-orm/pg-core").PgColumn<{
|
|
30643
|
+
name: "alert_type";
|
|
30644
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30645
|
+
dataType: "string";
|
|
30646
|
+
columnType: "PgEnumColumn";
|
|
30647
|
+
data: "rank_change" | "competitor_move" | "budget_pacing" | "keyword_opportunity" | "negative_keyword" | "ai_recommendation";
|
|
30648
|
+
driverParam: string;
|
|
30649
|
+
notNull: true;
|
|
30650
|
+
hasDefault: false;
|
|
30651
|
+
isPrimaryKey: false;
|
|
30652
|
+
isAutoincrement: false;
|
|
30653
|
+
hasRuntimeDefault: false;
|
|
30654
|
+
enumValues: ["rank_change", "competitor_move", "budget_pacing", "keyword_opportunity", "negative_keyword", "ai_recommendation"];
|
|
30655
|
+
baseColumn: never;
|
|
30656
|
+
identity: undefined;
|
|
30657
|
+
generated: undefined;
|
|
30658
|
+
}, {}, {}>;
|
|
30659
|
+
severity: import("drizzle-orm/pg-core").PgColumn<{
|
|
30660
|
+
name: "severity";
|
|
30661
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30662
|
+
dataType: "string";
|
|
30663
|
+
columnType: "PgEnumColumn";
|
|
30664
|
+
data: "info" | "warning" | "critical";
|
|
30665
|
+
driverParam: string;
|
|
30666
|
+
notNull: true;
|
|
30667
|
+
hasDefault: false;
|
|
30668
|
+
isPrimaryKey: false;
|
|
30669
|
+
isAutoincrement: false;
|
|
30670
|
+
hasRuntimeDefault: false;
|
|
30671
|
+
enumValues: ["info", "warning", "critical"];
|
|
30672
|
+
baseColumn: never;
|
|
30673
|
+
identity: undefined;
|
|
30674
|
+
generated: undefined;
|
|
30675
|
+
}, {}, {}>;
|
|
30676
|
+
title: import("drizzle-orm/pg-core").PgColumn<{
|
|
30677
|
+
name: "title";
|
|
30678
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30679
|
+
dataType: "string";
|
|
30680
|
+
columnType: "PgText";
|
|
30681
|
+
data: string;
|
|
30682
|
+
driverParam: string;
|
|
30683
|
+
notNull: true;
|
|
30684
|
+
hasDefault: false;
|
|
30685
|
+
isPrimaryKey: false;
|
|
30686
|
+
isAutoincrement: false;
|
|
30687
|
+
hasRuntimeDefault: false;
|
|
30688
|
+
enumValues: [string, ...string[]];
|
|
30689
|
+
baseColumn: never;
|
|
30690
|
+
identity: undefined;
|
|
30691
|
+
generated: undefined;
|
|
30692
|
+
}, {}, {}>;
|
|
30693
|
+
description: import("drizzle-orm/pg-core").PgColumn<{
|
|
30694
|
+
name: "description";
|
|
30695
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30696
|
+
dataType: "string";
|
|
30697
|
+
columnType: "PgText";
|
|
30698
|
+
data: string;
|
|
30699
|
+
driverParam: string;
|
|
30700
|
+
notNull: true;
|
|
30701
|
+
hasDefault: false;
|
|
30702
|
+
isPrimaryKey: false;
|
|
30703
|
+
isAutoincrement: false;
|
|
30704
|
+
hasRuntimeDefault: false;
|
|
30705
|
+
enumValues: [string, ...string[]];
|
|
30706
|
+
baseColumn: never;
|
|
30707
|
+
identity: undefined;
|
|
30708
|
+
generated: undefined;
|
|
30709
|
+
}, {}, {}>;
|
|
30710
|
+
recommendation: import("drizzle-orm/pg-core").PgColumn<{
|
|
30711
|
+
name: "recommendation";
|
|
30712
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30713
|
+
dataType: "string";
|
|
30714
|
+
columnType: "PgText";
|
|
30715
|
+
data: string;
|
|
30716
|
+
driverParam: string;
|
|
30717
|
+
notNull: false;
|
|
30718
|
+
hasDefault: false;
|
|
30719
|
+
isPrimaryKey: false;
|
|
30720
|
+
isAutoincrement: false;
|
|
30721
|
+
hasRuntimeDefault: false;
|
|
30722
|
+
enumValues: [string, ...string[]];
|
|
30723
|
+
baseColumn: never;
|
|
30724
|
+
identity: undefined;
|
|
30725
|
+
generated: undefined;
|
|
30726
|
+
}, {}, {}>;
|
|
30727
|
+
data: import("drizzle-orm/pg-core").PgColumn<{
|
|
30728
|
+
name: "data";
|
|
30729
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30730
|
+
dataType: "json";
|
|
30731
|
+
columnType: "PgJsonb";
|
|
30732
|
+
data: unknown;
|
|
30733
|
+
driverParam: unknown;
|
|
30734
|
+
notNull: false;
|
|
30735
|
+
hasDefault: false;
|
|
30736
|
+
isPrimaryKey: false;
|
|
30737
|
+
isAutoincrement: false;
|
|
30738
|
+
hasRuntimeDefault: false;
|
|
30739
|
+
enumValues: undefined;
|
|
30740
|
+
baseColumn: never;
|
|
30741
|
+
identity: undefined;
|
|
30742
|
+
generated: undefined;
|
|
30743
|
+
}, {}, {}>;
|
|
30744
|
+
acknowledged: import("drizzle-orm/pg-core").PgColumn<{
|
|
30745
|
+
name: "acknowledged";
|
|
30746
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30747
|
+
dataType: "boolean";
|
|
30748
|
+
columnType: "PgBoolean";
|
|
30749
|
+
data: boolean;
|
|
30750
|
+
driverParam: boolean;
|
|
30751
|
+
notNull: true;
|
|
30752
|
+
hasDefault: true;
|
|
30753
|
+
isPrimaryKey: false;
|
|
30754
|
+
isAutoincrement: false;
|
|
30755
|
+
hasRuntimeDefault: false;
|
|
30756
|
+
enumValues: undefined;
|
|
30757
|
+
baseColumn: never;
|
|
30758
|
+
identity: undefined;
|
|
30759
|
+
generated: undefined;
|
|
30760
|
+
}, {}, {}>;
|
|
30761
|
+
acknowledgedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
30762
|
+
name: "acknowledged_at";
|
|
30763
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30764
|
+
dataType: "date";
|
|
30765
|
+
columnType: "PgTimestamp";
|
|
30766
|
+
data: Date;
|
|
30767
|
+
driverParam: string;
|
|
30768
|
+
notNull: false;
|
|
30769
|
+
hasDefault: false;
|
|
30770
|
+
isPrimaryKey: false;
|
|
30771
|
+
isAutoincrement: false;
|
|
30772
|
+
hasRuntimeDefault: false;
|
|
30773
|
+
enumValues: undefined;
|
|
30774
|
+
baseColumn: never;
|
|
30775
|
+
identity: undefined;
|
|
30776
|
+
generated: undefined;
|
|
30777
|
+
}, {}, {}>;
|
|
30778
|
+
acknowledgedBy: import("drizzle-orm/pg-core").PgColumn<{
|
|
30779
|
+
name: "acknowledged_by";
|
|
30780
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30781
|
+
dataType: "string";
|
|
30782
|
+
columnType: "PgText";
|
|
30783
|
+
data: string;
|
|
30784
|
+
driverParam: string;
|
|
30785
|
+
notNull: false;
|
|
30786
|
+
hasDefault: false;
|
|
30787
|
+
isPrimaryKey: false;
|
|
30788
|
+
isAutoincrement: false;
|
|
30789
|
+
hasRuntimeDefault: false;
|
|
30790
|
+
enumValues: [string, ...string[]];
|
|
30791
|
+
baseColumn: never;
|
|
30792
|
+
identity: undefined;
|
|
30793
|
+
generated: undefined;
|
|
30794
|
+
}, {}, {}>;
|
|
30795
|
+
createdAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
30796
|
+
name: "created_at";
|
|
30797
|
+
tableName: "flux_sem_optimization_alerts";
|
|
30798
|
+
dataType: "date";
|
|
30799
|
+
columnType: "PgTimestamp";
|
|
30800
|
+
data: Date;
|
|
30801
|
+
driverParam: string;
|
|
30802
|
+
notNull: true;
|
|
30803
|
+
hasDefault: true;
|
|
30804
|
+
isPrimaryKey: false;
|
|
30805
|
+
isAutoincrement: false;
|
|
30806
|
+
hasRuntimeDefault: false;
|
|
30807
|
+
enumValues: undefined;
|
|
30808
|
+
baseColumn: never;
|
|
30809
|
+
identity: undefined;
|
|
30810
|
+
generated: undefined;
|
|
30811
|
+
}, {}, {}>;
|
|
30812
|
+
};
|
|
30813
|
+
dialect: "pg";
|
|
30814
|
+
}>;
|
|
30815
|
+
export type FluxSemOptimizationAlert = typeof fluxSemOptimizationAlerts.$inferSelect;
|
|
30816
|
+
export type NewFluxSemOptimizationAlert = typeof fluxSemOptimizationAlerts.$inferInsert;
|
|
30817
|
+
/**
|
|
30818
|
+
* flux_sem_optimization_log — Proof-of-work optimization entries.
|
|
30819
|
+
*
|
|
30820
|
+
* Timestamped record of every optimization action taken on a campaign.
|
|
30821
|
+
* Clients pay for this service — these logs are the proof of work and feed
|
|
30822
|
+
* into client reporting. Every bid change, keyword pause, ad copy tweak
|
|
30823
|
+
* gets logged here with timestamps, category, and impact notes.
|
|
30824
|
+
*/
|
|
30825
|
+
export declare const fluxSemOptimizationLog: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
30826
|
+
name: "flux_sem_optimization_log";
|
|
30827
|
+
schema: undefined;
|
|
30828
|
+
columns: {
|
|
30829
|
+
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
30830
|
+
name: "id";
|
|
30831
|
+
tableName: "flux_sem_optimization_log";
|
|
30832
|
+
dataType: "string";
|
|
30833
|
+
columnType: "PgText";
|
|
30834
|
+
data: string;
|
|
30835
|
+
driverParam: string;
|
|
30836
|
+
notNull: true;
|
|
30837
|
+
hasDefault: true;
|
|
30838
|
+
isPrimaryKey: true;
|
|
30839
|
+
isAutoincrement: false;
|
|
30840
|
+
hasRuntimeDefault: false;
|
|
30841
|
+
enumValues: [string, ...string[]];
|
|
30842
|
+
baseColumn: never;
|
|
30843
|
+
identity: undefined;
|
|
30844
|
+
generated: undefined;
|
|
30845
|
+
}, {}, {}>;
|
|
30846
|
+
semCampaignId: import("drizzle-orm/pg-core").PgColumn<{
|
|
30847
|
+
name: "sem_campaign_id";
|
|
30848
|
+
tableName: "flux_sem_optimization_log";
|
|
30849
|
+
dataType: "string";
|
|
30850
|
+
columnType: "PgText";
|
|
30851
|
+
data: string;
|
|
30852
|
+
driverParam: string;
|
|
30853
|
+
notNull: true;
|
|
30854
|
+
hasDefault: false;
|
|
30855
|
+
isPrimaryKey: false;
|
|
30856
|
+
isAutoincrement: false;
|
|
30857
|
+
hasRuntimeDefault: false;
|
|
30858
|
+
enumValues: [string, ...string[]];
|
|
30859
|
+
baseColumn: never;
|
|
30860
|
+
identity: undefined;
|
|
30861
|
+
generated: undefined;
|
|
30862
|
+
}, {}, {}>;
|
|
30863
|
+
lineItemId: import("drizzle-orm/pg-core").PgColumn<{
|
|
30864
|
+
name: "line_item_id";
|
|
30865
|
+
tableName: "flux_sem_optimization_log";
|
|
30866
|
+
dataType: "string";
|
|
30867
|
+
columnType: "PgText";
|
|
30868
|
+
data: string;
|
|
30869
|
+
driverParam: string;
|
|
30870
|
+
notNull: false;
|
|
30871
|
+
hasDefault: false;
|
|
30872
|
+
isPrimaryKey: false;
|
|
30873
|
+
isAutoincrement: false;
|
|
30874
|
+
hasRuntimeDefault: false;
|
|
30875
|
+
enumValues: [string, ...string[]];
|
|
30876
|
+
baseColumn: never;
|
|
30877
|
+
identity: undefined;
|
|
30878
|
+
generated: undefined;
|
|
30879
|
+
}, {}, {}>;
|
|
30880
|
+
category: import("drizzle-orm/pg-core").PgColumn<{
|
|
30881
|
+
name: "category";
|
|
30882
|
+
tableName: "flux_sem_optimization_log";
|
|
30883
|
+
dataType: "string";
|
|
30884
|
+
columnType: "PgEnumColumn";
|
|
30885
|
+
data: "other" | "bid_change" | "keyword_added" | "keyword_paused" | "keyword_negative" | "ad_copy_change" | "budget_change" | "targeting_change" | "landing_page" | "conversion_tracking" | "quality_score" | "competitor_response";
|
|
30886
|
+
driverParam: string;
|
|
30887
|
+
notNull: true;
|
|
30888
|
+
hasDefault: false;
|
|
30889
|
+
isPrimaryKey: false;
|
|
30890
|
+
isAutoincrement: false;
|
|
30891
|
+
hasRuntimeDefault: false;
|
|
30892
|
+
enumValues: ["bid_change", "keyword_added", "keyword_paused", "keyword_negative", "ad_copy_change", "budget_change", "targeting_change", "landing_page", "conversion_tracking", "quality_score", "competitor_response", "other"];
|
|
30893
|
+
baseColumn: never;
|
|
30894
|
+
identity: undefined;
|
|
30895
|
+
generated: undefined;
|
|
30896
|
+
}, {}, {}>;
|
|
30897
|
+
title: import("drizzle-orm/pg-core").PgColumn<{
|
|
30898
|
+
name: "title";
|
|
30899
|
+
tableName: "flux_sem_optimization_log";
|
|
30900
|
+
dataType: "string";
|
|
30901
|
+
columnType: "PgText";
|
|
30902
|
+
data: string;
|
|
30903
|
+
driverParam: string;
|
|
30904
|
+
notNull: true;
|
|
30905
|
+
hasDefault: false;
|
|
30906
|
+
isPrimaryKey: false;
|
|
30907
|
+
isAutoincrement: false;
|
|
30908
|
+
hasRuntimeDefault: false;
|
|
30909
|
+
enumValues: [string, ...string[]];
|
|
30910
|
+
baseColumn: never;
|
|
30911
|
+
identity: undefined;
|
|
30912
|
+
generated: undefined;
|
|
30913
|
+
}, {}, {}>;
|
|
30914
|
+
description: import("drizzle-orm/pg-core").PgColumn<{
|
|
30915
|
+
name: "description";
|
|
30916
|
+
tableName: "flux_sem_optimization_log";
|
|
30917
|
+
dataType: "string";
|
|
30918
|
+
columnType: "PgText";
|
|
30919
|
+
data: string;
|
|
30920
|
+
driverParam: string;
|
|
30921
|
+
notNull: true;
|
|
30922
|
+
hasDefault: false;
|
|
30923
|
+
isPrimaryKey: false;
|
|
30924
|
+
isAutoincrement: false;
|
|
30925
|
+
hasRuntimeDefault: false;
|
|
30926
|
+
enumValues: [string, ...string[]];
|
|
30927
|
+
baseColumn: never;
|
|
30928
|
+
identity: undefined;
|
|
30929
|
+
generated: undefined;
|
|
30930
|
+
}, {}, {}>;
|
|
30931
|
+
impact: import("drizzle-orm/pg-core").PgColumn<{
|
|
30932
|
+
name: "impact";
|
|
30933
|
+
tableName: "flux_sem_optimization_log";
|
|
30934
|
+
dataType: "string";
|
|
30935
|
+
columnType: "PgText";
|
|
30936
|
+
data: string;
|
|
30937
|
+
driverParam: string;
|
|
30938
|
+
notNull: false;
|
|
30939
|
+
hasDefault: false;
|
|
30940
|
+
isPrimaryKey: false;
|
|
30941
|
+
isAutoincrement: false;
|
|
30942
|
+
hasRuntimeDefault: false;
|
|
30943
|
+
enumValues: [string, ...string[]];
|
|
30944
|
+
baseColumn: never;
|
|
30945
|
+
identity: undefined;
|
|
30946
|
+
generated: undefined;
|
|
30947
|
+
}, {}, {}>;
|
|
30948
|
+
source: import("drizzle-orm/pg-core").PgColumn<{
|
|
30949
|
+
name: "source";
|
|
30950
|
+
tableName: "flux_sem_optimization_log";
|
|
30951
|
+
dataType: "string";
|
|
30952
|
+
columnType: "PgText";
|
|
30953
|
+
data: string;
|
|
30954
|
+
driverParam: string;
|
|
30955
|
+
notNull: true;
|
|
30956
|
+
hasDefault: true;
|
|
30957
|
+
isPrimaryKey: false;
|
|
30958
|
+
isAutoincrement: false;
|
|
30959
|
+
hasRuntimeDefault: false;
|
|
30960
|
+
enumValues: [string, ...string[]];
|
|
30961
|
+
baseColumn: never;
|
|
30962
|
+
identity: undefined;
|
|
30963
|
+
generated: undefined;
|
|
30964
|
+
}, {}, {}>;
|
|
30965
|
+
performedBy: import("drizzle-orm/pg-core").PgColumn<{
|
|
30966
|
+
name: "performed_by";
|
|
30967
|
+
tableName: "flux_sem_optimization_log";
|
|
30968
|
+
dataType: "string";
|
|
30969
|
+
columnType: "PgText";
|
|
30970
|
+
data: string;
|
|
30971
|
+
driverParam: string;
|
|
30972
|
+
notNull: true;
|
|
30973
|
+
hasDefault: false;
|
|
30974
|
+
isPrimaryKey: false;
|
|
30975
|
+
isAutoincrement: false;
|
|
30976
|
+
hasRuntimeDefault: false;
|
|
30977
|
+
enumValues: [string, ...string[]];
|
|
30978
|
+
baseColumn: never;
|
|
30979
|
+
identity: undefined;
|
|
30980
|
+
generated: undefined;
|
|
30981
|
+
}, {}, {}>;
|
|
30982
|
+
performedAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
30983
|
+
name: "performed_at";
|
|
30984
|
+
tableName: "flux_sem_optimization_log";
|
|
30985
|
+
dataType: "date";
|
|
30986
|
+
columnType: "PgTimestamp";
|
|
30987
|
+
data: Date;
|
|
30988
|
+
driverParam: string;
|
|
30989
|
+
notNull: true;
|
|
30990
|
+
hasDefault: false;
|
|
30991
|
+
isPrimaryKey: false;
|
|
30992
|
+
isAutoincrement: false;
|
|
30993
|
+
hasRuntimeDefault: false;
|
|
30994
|
+
enumValues: undefined;
|
|
30995
|
+
baseColumn: never;
|
|
30996
|
+
identity: undefined;
|
|
30997
|
+
generated: undefined;
|
|
30998
|
+
}, {}, {}>;
|
|
30999
|
+
metadata: import("drizzle-orm/pg-core").PgColumn<{
|
|
31000
|
+
name: "metadata";
|
|
31001
|
+
tableName: "flux_sem_optimization_log";
|
|
31002
|
+
dataType: "json";
|
|
31003
|
+
columnType: "PgJsonb";
|
|
31004
|
+
data: unknown;
|
|
31005
|
+
driverParam: unknown;
|
|
31006
|
+
notNull: false;
|
|
31007
|
+
hasDefault: false;
|
|
31008
|
+
isPrimaryKey: false;
|
|
31009
|
+
isAutoincrement: false;
|
|
31010
|
+
hasRuntimeDefault: false;
|
|
31011
|
+
enumValues: undefined;
|
|
31012
|
+
baseColumn: never;
|
|
31013
|
+
identity: undefined;
|
|
31014
|
+
generated: undefined;
|
|
31015
|
+
}, {}, {}>;
|
|
31016
|
+
createdAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
31017
|
+
name: "created_at";
|
|
31018
|
+
tableName: "flux_sem_optimization_log";
|
|
31019
|
+
dataType: "date";
|
|
31020
|
+
columnType: "PgTimestamp";
|
|
31021
|
+
data: Date;
|
|
31022
|
+
driverParam: string;
|
|
31023
|
+
notNull: true;
|
|
31024
|
+
hasDefault: true;
|
|
31025
|
+
isPrimaryKey: false;
|
|
31026
|
+
isAutoincrement: false;
|
|
31027
|
+
hasRuntimeDefault: false;
|
|
31028
|
+
enumValues: undefined;
|
|
31029
|
+
baseColumn: never;
|
|
31030
|
+
identity: undefined;
|
|
31031
|
+
generated: undefined;
|
|
31032
|
+
}, {}, {}>;
|
|
31033
|
+
};
|
|
31034
|
+
dialect: "pg";
|
|
31035
|
+
}>;
|
|
31036
|
+
export type FluxSemOptimizationLog = typeof fluxSemOptimizationLog.$inferSelect;
|
|
31037
|
+
export type NewFluxSemOptimizationLog = typeof fluxSemOptimizationLog.$inferInsert;
|
|
29760
31038
|
export {};
|
|
29761
31039
|
//# sourceMappingURL=schema.d.ts.map
|