Implement live tape scroll-gated history

This commit is contained in:
dirtydishes 2026-05-06 22:28:20 -04:00
parent 53eeb9e72f
commit 6ba3c5343b
5 changed files with 533 additions and 53 deletions

View file

@ -60,21 +60,26 @@ export const LiveSubscriptionSchema = z.discriminatedUnion("channel", [
channel: z.literal("options"),
filters: OptionFlowFiltersSchema.optional(),
underlying_ids: z.array(z.string().min(1)).optional(),
option_contract_id: z.string().min(1).optional()
option_contract_id: z.string().min(1).optional(),
snapshot_limit: z.number().int().positive().optional()
}),
z.object({
channel: z.literal("flow"),
filters: OptionFlowFiltersSchema.optional()
filters: OptionFlowFiltersSchema.optional(),
snapshot_limit: z.number().int().positive().optional()
}),
z.object({
channel: z.literal("smart-money")
channel: z.literal("smart-money"),
snapshot_limit: z.number().int().positive().optional()
}),
z.object({
channel: z.enum(["nbbo", "equity-quotes", "equity-joins", "classifier-hits", "alerts", "inferred-dark"])
channel: z.enum(["nbbo", "equity-quotes", "equity-joins", "classifier-hits", "alerts", "inferred-dark"]),
snapshot_limit: z.number().int().positive().optional()
}),
z.object({
channel: z.literal("equities"),
underlying_ids: z.array(z.string().min(1)).optional()
underlying_ids: z.array(z.string().min(1)).optional(),
snapshot_limit: z.number().int().positive().optional()
}),
z.object({
channel: z.literal("equity-candles"),