feat(rectification): pass ayanamsa per request
This commit is contained in:
@@ -4,6 +4,7 @@ import type {
|
||||
AgenticRectificationCandidateResult,
|
||||
AgenticRectificationContext,
|
||||
} from "@/mastra/rectification-tools";
|
||||
import { resolveAyanamsa, type AyanamsaName } from "../ayanamsa.ts";
|
||||
import { normalizePersistedBirthDate } from "../birth-time-intake-model.ts";
|
||||
import { declaredClockRange } from "../declared-birth-window.ts";
|
||||
|
||||
@@ -26,6 +27,7 @@ export type AgenticRectificationProfile = Readonly<{
|
||||
lat: number;
|
||||
lon: number;
|
||||
tz: number;
|
||||
ayanamsa: AyanamsaName;
|
||||
declaredAccuracy: AgenticRectificationContext["declaredAccuracy"];
|
||||
timeSource: AgenticRectificationContext["timeSource"];
|
||||
baselineReportedTime: string | null;
|
||||
@@ -166,7 +168,7 @@ export async function loadAgenticRectificationProfile(
|
||||
): Promise<AgenticRectificationProfile> {
|
||||
const { data, error } = await accounting
|
||||
.from("profiles")
|
||||
.select("birth_date,reported_birth_time,active_birth_time,birth_time_source,birth_time_period,declared_window_start,declared_window_end,uncertainty_before_minutes,uncertainty_after_minutes,latitude,longitude,timezone_offset")
|
||||
.select("birth_date,reported_birth_time,active_birth_time,birth_time_source,birth_time_period,declared_window_start,declared_window_end,uncertainty_before_minutes,uncertainty_after_minutes,latitude,longitude,timezone_offset,ayanamsa")
|
||||
.eq("id", userId)
|
||||
.single();
|
||||
if (error || !data) throw new AgenticRectificationProfileError("profile_unavailable");
|
||||
@@ -199,6 +201,7 @@ export async function loadAgenticRectificationProfile(
|
||||
lat,
|
||||
lon,
|
||||
tz,
|
||||
ayanamsa: resolveAyanamsa(data),
|
||||
declaredAccuracy: declaredAccuracyFrom(uncertaintyBefore, uncertaintyAfter, rawSource),
|
||||
timeSource: timeSourceFrom(rawSource),
|
||||
baselineReportedTime: reportedTime,
|
||||
@@ -284,6 +287,7 @@ export function createAgenticRectificationContext(
|
||||
lat: profile.lat,
|
||||
lon: profile.lon,
|
||||
tz: profile.tz,
|
||||
ayanamsa: profile.ayanamsa,
|
||||
},
|
||||
candidateRange: profile.candidateRange,
|
||||
declaredAccuracy: profile.declaredAccuracy,
|
||||
|
||||
@@ -477,6 +477,7 @@ function engineRequestBody(input: {
|
||||
lon,
|
||||
tz,
|
||||
ayanamsa: resolveAyanamsa(snapshot),
|
||||
node_mode: "mean",
|
||||
events: input.events,
|
||||
birth_time_source: snapshot.birth_time_source,
|
||||
timezone_id: snapshot.timezone_id,
|
||||
|
||||
Reference in New Issue
Block a user