import { describe, expect, it } from "vitest"; import { buildAssistantAddressLaneAttemptQueryOptions, resolveAssistantAddressLaneAttemptFollowupContext } from "../src/services/assistantAddressLaneAttemptQueryOptionsBuilder"; describe("assistant address lane attempt query options builder", () => { it("extracts followup context object from carry meta", () => { const followupContext = resolveAssistantAddressLaneAttemptFollowupContext({ followupContext: { previous_intent: "docs_by_counterparty" } } as any); expect(followupContext).toEqual({ previous_intent: "docs_by_counterparty" }); }); it("builds query options with scoped followup context when present", () => { const options = buildAssistantAddressLaneAttemptQueryOptions({ analysisDateHint: "2020-07-31", scopedFollowupContext: { previous_intent: "docs_by_counterparty", active_organization: "Org A" }, activeOrganization: "Org A", knownOrganizations: ["Org A", "Org B"], llmSemanticHints: null }); expect(options).toEqual({ followupContext: { previous_intent: "docs_by_counterparty", active_organization: "Org A" }, analysisDateHint: "2020-07-31", activeOrganization: "Org A", knownOrganizations: ["Org A", "Org B"] }); }); it("builds query options with only analysis date when scoped context is missing", () => { const options = buildAssistantAddressLaneAttemptQueryOptions({ analysisDateHint: null, scopedFollowupContext: null, activeOrganization: null, knownOrganizations: [], llmSemanticHints: null }); expect(options).toEqual({ analysisDateHint: null }); }); });