fix(api): keep session and birth-row types through next build
Independent Staging Quality Gate / validate (push) Successful in 9m45s
Independent Staging Quality Gate / publish (push) Successful in 10m53s

Transcript limits were collapsing the create schema, and joined profile selects typed as GenericStringError, so Docker next build failed after tests passed.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-08-19 21:15:33 +08:00
parent d434aa48ab
commit d7887b03e5
7 changed files with 79 additions and 51 deletions
@@ -13,7 +13,7 @@ import {
import { dailyProfilePayload } from "@/lib/global-birth-payloads";
import { loadLanguageModelCatalog } from "@/lib/model-catalog";
import { consumeUserRequestRateLimit } from "@/lib/request-rate-limit";
import { globalBirthProfileFromAccountRow } from "@/lib/server-owned-birth-profile";
import { ACCOUNT_BIRTH_SELECT, globalBirthProfileFromAccountRow } from "@/lib/server-owned-birth-profile";
import { createServerSupabaseClient } from "@/lib/supabase/server";
import { getDailyStarlanguageAgent } from "@/mastra";
@@ -22,22 +22,6 @@ export const maxDuration = 20;
type Profile = ReturnType<typeof globalBirthProfileFromAccountRow>;
type BirthPayload = NonNullable<Awaited<ReturnType<typeof dailyProfilePayload>>>;
const accountBirthColumns = [
"name",
"birth_date",
"reported_birth_time",
"active_birth_time",
"birth_time",
"birth_time_status",
"country_code",
"province_code",
"city_code",
"district_code",
"latitude",
"longitude",
"timezone_offset",
"timezone_id",
].join(",");
type CardSource = "engine_evidence" | "agent";
type CacheEntry = { readonly day: string; readonly card: DailyStarlanguageCard; readonly source: CardSource };
type Generated =
@@ -192,7 +176,7 @@ export async function POST(request: Request) {
const { data: row, error } = await supabase
.from("profiles")
.select(accountBirthColumns)
.select(ACCOUNT_BIRTH_SELECT)
.eq("id", user.id)
.maybeSingle();
if (error || !row) return unavailable("birth_profile_incomplete");
+2 -17
View File
@@ -3,6 +3,7 @@ import { z } from "zod";
import { isProductEnabled } from "@/lib/product-access";
import { consumeUserRequestRateLimit } from "@/lib/request-rate-limit";
import {
ACCOUNT_BIRTH_SELECT,
globalBirthProfileFromAccountRow,
globalBirthProfileFromStoredChart,
} from "@/lib/server-owned-birth-profile";
@@ -10,22 +11,6 @@ import { createServerSupabaseClient } from "@/lib/supabase/server";
import { synastryBirthPayload } from "@/lib/global-birth-payloads";
const apiBase = process.env.JYOTISH_API_BASE ?? "http://127.0.0.1:5200";
const accountBirthColumns = [
"name",
"birth_date",
"reported_birth_time",
"active_birth_time",
"birth_time",
"birth_time_status",
"country_code",
"province_code",
"city_code",
"district_code",
"latitude",
"longitude",
"timezone_offset",
"timezone_id",
].join(",");
const synastryRequestSchema = z.object({
partnerChartProfileId: z.string().uuid(),
relationshipType: z.enum(["romance", "business", "family", "general"]).optional(),
@@ -168,7 +153,7 @@ export async function POST(request: Request) {
const { data: selfRow, error: selfError } = await supabase
.from("profiles")
.select(accountBirthColumns)
.select(ACCOUNT_BIRTH_SELECT)
.eq("id", user.id)
.maybeSingle();
if (selfError || !selfRow) {