@foundrynorth/flux-schema 1.21.0 → 1.22.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 +284 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +74 -2
- package/dist/schema.js.map +1 -1
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -5632,6 +5632,13 @@ export declare const fluxServiceUsageEvents: import("drizzle-orm/pg-core").PgTab
|
|
|
5632
5632
|
* eviction; `hits` is bumped on each cache hit so we can rank
|
|
5633
5633
|
* highest-savings keys.
|
|
5634
5634
|
*
|
|
5635
|
+
* NOTE: `query_fingerprint` is sanitized by consumers BEFORE persistence
|
|
5636
|
+
* (raw query text is stripped — see fn-flux/src/lib/search-cache.ts and
|
|
5637
|
+
* fn-v2 apps/trigger/src/lib/flux/search-cache.ts FINGERPRINT_PERSIST_ALLOWLIST).
|
|
5638
|
+
* The column itself stays nullable jsonb; the schema doesn't enforce the
|
|
5639
|
+
* allowlist, but the security review on PR #357 / #148 documented that
|
|
5640
|
+
* raw queries must NOT land here.
|
|
5641
|
+
*
|
|
5635
5642
|
* Cache is bypassed when the caller passes an `AbortSignal` (assistant
|
|
5636
5643
|
* tool calls always want fresh data).
|
|
5637
5644
|
*/
|
|
@@ -12157,6 +12164,57 @@ export declare const fluxSentinelKeywords: import("drizzle-orm/pg-core").PgTable
|
|
|
12157
12164
|
identity: undefined;
|
|
12158
12165
|
generated: undefined;
|
|
12159
12166
|
}, {}, {}>;
|
|
12167
|
+
scanCadenceMinutes: import("drizzle-orm/pg-core").PgColumn<{
|
|
12168
|
+
name: "scan_cadence_minutes";
|
|
12169
|
+
tableName: "flux_sentinel_keywords";
|
|
12170
|
+
dataType: "number";
|
|
12171
|
+
columnType: "PgInteger";
|
|
12172
|
+
data: number;
|
|
12173
|
+
driverParam: string | number;
|
|
12174
|
+
notNull: true;
|
|
12175
|
+
hasDefault: true;
|
|
12176
|
+
isPrimaryKey: false;
|
|
12177
|
+
isAutoincrement: false;
|
|
12178
|
+
hasRuntimeDefault: false;
|
|
12179
|
+
enumValues: undefined;
|
|
12180
|
+
baseColumn: never;
|
|
12181
|
+
identity: undefined;
|
|
12182
|
+
generated: undefined;
|
|
12183
|
+
}, {}, {}>;
|
|
12184
|
+
lastScanAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
12185
|
+
name: "last_scan_at";
|
|
12186
|
+
tableName: "flux_sentinel_keywords";
|
|
12187
|
+
dataType: "date";
|
|
12188
|
+
columnType: "PgTimestamp";
|
|
12189
|
+
data: Date;
|
|
12190
|
+
driverParam: string;
|
|
12191
|
+
notNull: false;
|
|
12192
|
+
hasDefault: false;
|
|
12193
|
+
isPrimaryKey: false;
|
|
12194
|
+
isAutoincrement: false;
|
|
12195
|
+
hasRuntimeDefault: false;
|
|
12196
|
+
enumValues: undefined;
|
|
12197
|
+
baseColumn: never;
|
|
12198
|
+
identity: undefined;
|
|
12199
|
+
generated: undefined;
|
|
12200
|
+
}, {}, {}>;
|
|
12201
|
+
websetMonitorId: import("drizzle-orm/pg-core").PgColumn<{
|
|
12202
|
+
name: "webset_monitor_id";
|
|
12203
|
+
tableName: "flux_sentinel_keywords";
|
|
12204
|
+
dataType: "string";
|
|
12205
|
+
columnType: "PgText";
|
|
12206
|
+
data: string;
|
|
12207
|
+
driverParam: string;
|
|
12208
|
+
notNull: false;
|
|
12209
|
+
hasDefault: false;
|
|
12210
|
+
isPrimaryKey: false;
|
|
12211
|
+
isAutoincrement: false;
|
|
12212
|
+
hasRuntimeDefault: false;
|
|
12213
|
+
enumValues: [string, ...string[]];
|
|
12214
|
+
baseColumn: never;
|
|
12215
|
+
identity: undefined;
|
|
12216
|
+
generated: undefined;
|
|
12217
|
+
}, {}, {}>;
|
|
12160
12218
|
createdAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
12161
12219
|
name: "created_at";
|
|
12162
12220
|
tableName: "flux_sentinel_keywords";
|
|
@@ -12194,6 +12252,230 @@ export declare const fluxSentinelKeywords: import("drizzle-orm/pg-core").PgTable
|
|
|
12194
12252
|
};
|
|
12195
12253
|
dialect: "pg";
|
|
12196
12254
|
}>;
|
|
12255
|
+
/**
|
|
12256
|
+
* flux_websets_pilot_runs — daily comparison rows for the 30-day Phase 5
|
|
12257
|
+
* Websets vs polled-search pilot. Each row captures one (keyword, day) pair
|
|
12258
|
+
* with both pipelines' hit counts so we can decide whether to migrate to
|
|
12259
|
+
* Websets monitors after the pilot window.
|
|
12260
|
+
*
|
|
12261
|
+
* Decision criteria after 30 days:
|
|
12262
|
+
* - Migrate if `webset_hits / polled_hits >= 0.90` AND
|
|
12263
|
+
* `cost_per_fresh_mention_websets < cost_per_fresh_mention_polled`.
|
|
12264
|
+
* - Else stay on polling.
|
|
12265
|
+
*/
|
|
12266
|
+
export declare const fluxWebsetsPilotRuns: import("drizzle-orm/pg-core").PgTableWithColumns<{
|
|
12267
|
+
name: "flux_websets_pilot_runs";
|
|
12268
|
+
schema: undefined;
|
|
12269
|
+
columns: {
|
|
12270
|
+
id: import("drizzle-orm/pg-core").PgColumn<{
|
|
12271
|
+
name: "id";
|
|
12272
|
+
tableName: "flux_websets_pilot_runs";
|
|
12273
|
+
dataType: "string";
|
|
12274
|
+
columnType: "PgText";
|
|
12275
|
+
data: string;
|
|
12276
|
+
driverParam: string;
|
|
12277
|
+
notNull: true;
|
|
12278
|
+
hasDefault: true;
|
|
12279
|
+
isPrimaryKey: true;
|
|
12280
|
+
isAutoincrement: false;
|
|
12281
|
+
hasRuntimeDefault: false;
|
|
12282
|
+
enumValues: [string, ...string[]];
|
|
12283
|
+
baseColumn: never;
|
|
12284
|
+
identity: undefined;
|
|
12285
|
+
generated: undefined;
|
|
12286
|
+
}, {}, {}>;
|
|
12287
|
+
keywordId: import("drizzle-orm/pg-core").PgColumn<{
|
|
12288
|
+
name: "keyword_id";
|
|
12289
|
+
tableName: "flux_websets_pilot_runs";
|
|
12290
|
+
dataType: "string";
|
|
12291
|
+
columnType: "PgText";
|
|
12292
|
+
data: string;
|
|
12293
|
+
driverParam: string;
|
|
12294
|
+
notNull: true;
|
|
12295
|
+
hasDefault: false;
|
|
12296
|
+
isPrimaryKey: false;
|
|
12297
|
+
isAutoincrement: false;
|
|
12298
|
+
hasRuntimeDefault: false;
|
|
12299
|
+
enumValues: [string, ...string[]];
|
|
12300
|
+
baseColumn: never;
|
|
12301
|
+
identity: undefined;
|
|
12302
|
+
generated: undefined;
|
|
12303
|
+
}, {}, {}>;
|
|
12304
|
+
pilotDate: import("drizzle-orm/pg-core").PgColumn<{
|
|
12305
|
+
name: "pilot_date";
|
|
12306
|
+
tableName: "flux_websets_pilot_runs";
|
|
12307
|
+
dataType: "string";
|
|
12308
|
+
columnType: "PgDateString";
|
|
12309
|
+
data: string;
|
|
12310
|
+
driverParam: string;
|
|
12311
|
+
notNull: true;
|
|
12312
|
+
hasDefault: false;
|
|
12313
|
+
isPrimaryKey: false;
|
|
12314
|
+
isAutoincrement: false;
|
|
12315
|
+
hasRuntimeDefault: false;
|
|
12316
|
+
enumValues: undefined;
|
|
12317
|
+
baseColumn: never;
|
|
12318
|
+
identity: undefined;
|
|
12319
|
+
generated: undefined;
|
|
12320
|
+
}, {}, {}>;
|
|
12321
|
+
polledHits: import("drizzle-orm/pg-core").PgColumn<{
|
|
12322
|
+
name: "polled_hits";
|
|
12323
|
+
tableName: "flux_websets_pilot_runs";
|
|
12324
|
+
dataType: "number";
|
|
12325
|
+
columnType: "PgInteger";
|
|
12326
|
+
data: number;
|
|
12327
|
+
driverParam: string | number;
|
|
12328
|
+
notNull: true;
|
|
12329
|
+
hasDefault: true;
|
|
12330
|
+
isPrimaryKey: false;
|
|
12331
|
+
isAutoincrement: false;
|
|
12332
|
+
hasRuntimeDefault: false;
|
|
12333
|
+
enumValues: undefined;
|
|
12334
|
+
baseColumn: never;
|
|
12335
|
+
identity: undefined;
|
|
12336
|
+
generated: undefined;
|
|
12337
|
+
}, {}, {}>;
|
|
12338
|
+
websetHits: import("drizzle-orm/pg-core").PgColumn<{
|
|
12339
|
+
name: "webset_hits";
|
|
12340
|
+
tableName: "flux_websets_pilot_runs";
|
|
12341
|
+
dataType: "number";
|
|
12342
|
+
columnType: "PgInteger";
|
|
12343
|
+
data: number;
|
|
12344
|
+
driverParam: string | number;
|
|
12345
|
+
notNull: true;
|
|
12346
|
+
hasDefault: true;
|
|
12347
|
+
isPrimaryKey: false;
|
|
12348
|
+
isAutoincrement: false;
|
|
12349
|
+
hasRuntimeDefault: false;
|
|
12350
|
+
enumValues: undefined;
|
|
12351
|
+
baseColumn: never;
|
|
12352
|
+
identity: undefined;
|
|
12353
|
+
generated: undefined;
|
|
12354
|
+
}, {}, {}>;
|
|
12355
|
+
polledOnlyCount: import("drizzle-orm/pg-core").PgColumn<{
|
|
12356
|
+
name: "polled_only_count";
|
|
12357
|
+
tableName: "flux_websets_pilot_runs";
|
|
12358
|
+
dataType: "number";
|
|
12359
|
+
columnType: "PgInteger";
|
|
12360
|
+
data: number;
|
|
12361
|
+
driverParam: string | number;
|
|
12362
|
+
notNull: true;
|
|
12363
|
+
hasDefault: true;
|
|
12364
|
+
isPrimaryKey: false;
|
|
12365
|
+
isAutoincrement: false;
|
|
12366
|
+
hasRuntimeDefault: false;
|
|
12367
|
+
enumValues: undefined;
|
|
12368
|
+
baseColumn: never;
|
|
12369
|
+
identity: undefined;
|
|
12370
|
+
generated: undefined;
|
|
12371
|
+
}, {}, {}>;
|
|
12372
|
+
websetOnlyCount: import("drizzle-orm/pg-core").PgColumn<{
|
|
12373
|
+
name: "webset_only_count";
|
|
12374
|
+
tableName: "flux_websets_pilot_runs";
|
|
12375
|
+
dataType: "number";
|
|
12376
|
+
columnType: "PgInteger";
|
|
12377
|
+
data: number;
|
|
12378
|
+
driverParam: string | number;
|
|
12379
|
+
notNull: true;
|
|
12380
|
+
hasDefault: true;
|
|
12381
|
+
isPrimaryKey: false;
|
|
12382
|
+
isAutoincrement: false;
|
|
12383
|
+
hasRuntimeDefault: false;
|
|
12384
|
+
enumValues: undefined;
|
|
12385
|
+
baseColumn: never;
|
|
12386
|
+
identity: undefined;
|
|
12387
|
+
generated: undefined;
|
|
12388
|
+
}, {}, {}>;
|
|
12389
|
+
overlapCount: import("drizzle-orm/pg-core").PgColumn<{
|
|
12390
|
+
name: "overlap_count";
|
|
12391
|
+
tableName: "flux_websets_pilot_runs";
|
|
12392
|
+
dataType: "number";
|
|
12393
|
+
columnType: "PgInteger";
|
|
12394
|
+
data: number;
|
|
12395
|
+
driverParam: string | number;
|
|
12396
|
+
notNull: true;
|
|
12397
|
+
hasDefault: true;
|
|
12398
|
+
isPrimaryKey: false;
|
|
12399
|
+
isAutoincrement: false;
|
|
12400
|
+
hasRuntimeDefault: false;
|
|
12401
|
+
enumValues: undefined;
|
|
12402
|
+
baseColumn: never;
|
|
12403
|
+
identity: undefined;
|
|
12404
|
+
generated: undefined;
|
|
12405
|
+
}, {}, {}>;
|
|
12406
|
+
polledCostUsdMicro: import("drizzle-orm/pg-core").PgColumn<{
|
|
12407
|
+
name: "polled_cost_usd_micro";
|
|
12408
|
+
tableName: "flux_websets_pilot_runs";
|
|
12409
|
+
dataType: "number";
|
|
12410
|
+
columnType: "PgInteger";
|
|
12411
|
+
data: number;
|
|
12412
|
+
driverParam: string | number;
|
|
12413
|
+
notNull: true;
|
|
12414
|
+
hasDefault: true;
|
|
12415
|
+
isPrimaryKey: false;
|
|
12416
|
+
isAutoincrement: false;
|
|
12417
|
+
hasRuntimeDefault: false;
|
|
12418
|
+
enumValues: undefined;
|
|
12419
|
+
baseColumn: never;
|
|
12420
|
+
identity: undefined;
|
|
12421
|
+
generated: undefined;
|
|
12422
|
+
}, {}, {}>;
|
|
12423
|
+
websetCreditsConsumed: import("drizzle-orm/pg-core").PgColumn<{
|
|
12424
|
+
name: "webset_credits_consumed";
|
|
12425
|
+
tableName: "flux_websets_pilot_runs";
|
|
12426
|
+
dataType: "number";
|
|
12427
|
+
columnType: "PgInteger";
|
|
12428
|
+
data: number;
|
|
12429
|
+
driverParam: string | number;
|
|
12430
|
+
notNull: true;
|
|
12431
|
+
hasDefault: true;
|
|
12432
|
+
isPrimaryKey: false;
|
|
12433
|
+
isAutoincrement: false;
|
|
12434
|
+
hasRuntimeDefault: false;
|
|
12435
|
+
enumValues: undefined;
|
|
12436
|
+
baseColumn: never;
|
|
12437
|
+
identity: undefined;
|
|
12438
|
+
generated: undefined;
|
|
12439
|
+
}, {}, {}>;
|
|
12440
|
+
metadata: import("drizzle-orm/pg-core").PgColumn<{
|
|
12441
|
+
name: "metadata";
|
|
12442
|
+
tableName: "flux_websets_pilot_runs";
|
|
12443
|
+
dataType: "json";
|
|
12444
|
+
columnType: "PgJsonb";
|
|
12445
|
+
data: Record<string, unknown> | null;
|
|
12446
|
+
driverParam: unknown;
|
|
12447
|
+
notNull: false;
|
|
12448
|
+
hasDefault: false;
|
|
12449
|
+
isPrimaryKey: false;
|
|
12450
|
+
isAutoincrement: false;
|
|
12451
|
+
hasRuntimeDefault: false;
|
|
12452
|
+
enumValues: undefined;
|
|
12453
|
+
baseColumn: never;
|
|
12454
|
+
identity: undefined;
|
|
12455
|
+
generated: undefined;
|
|
12456
|
+
}, {}, {
|
|
12457
|
+
$type: Record<string, unknown> | null;
|
|
12458
|
+
}>;
|
|
12459
|
+
createdAt: import("drizzle-orm/pg-core").PgColumn<{
|
|
12460
|
+
name: "created_at";
|
|
12461
|
+
tableName: "flux_websets_pilot_runs";
|
|
12462
|
+
dataType: "date";
|
|
12463
|
+
columnType: "PgTimestamp";
|
|
12464
|
+
data: Date;
|
|
12465
|
+
driverParam: string;
|
|
12466
|
+
notNull: true;
|
|
12467
|
+
hasDefault: true;
|
|
12468
|
+
isPrimaryKey: false;
|
|
12469
|
+
isAutoincrement: false;
|
|
12470
|
+
hasRuntimeDefault: false;
|
|
12471
|
+
enumValues: undefined;
|
|
12472
|
+
baseColumn: never;
|
|
12473
|
+
identity: undefined;
|
|
12474
|
+
generated: undefined;
|
|
12475
|
+
}, {}, {}>;
|
|
12476
|
+
};
|
|
12477
|
+
dialect: "pg";
|
|
12478
|
+
}>;
|
|
12197
12479
|
/**
|
|
12198
12480
|
* Discovered media mentions. Deduplication by URL.
|
|
12199
12481
|
* Stores Exa search results with LLM-derived severity classification.
|
|
@@ -18672,6 +18954,8 @@ export type FluxZipTargetExport = typeof fluxZipTargetExports.$inferSelect;
|
|
|
18672
18954
|
export type NewFluxZipTargetExport = typeof fluxZipTargetExports.$inferInsert;
|
|
18673
18955
|
export type FluxSentinelKeyword = typeof fluxSentinelKeywords.$inferSelect;
|
|
18674
18956
|
export type NewFluxSentinelKeyword = typeof fluxSentinelKeywords.$inferInsert;
|
|
18957
|
+
export type FluxWebsetsPilotRun = typeof fluxWebsetsPilotRuns.$inferSelect;
|
|
18958
|
+
export type NewFluxWebsetsPilotRun = typeof fluxWebsetsPilotRuns.$inferInsert;
|
|
18675
18959
|
export type FluxFeedback = typeof fluxFeedback.$inferSelect;
|
|
18676
18960
|
export type NewFluxFeedback = typeof fluxFeedback.$inferInsert;
|
|
18677
18961
|
export type FluxMediaMention = typeof fluxMediaMentions.$inferSelect;
|