Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 5x 8x 5x 5x 5x 5x 5x 5x 5x 5x 5x | // MTC002 — AI-powered translation of the Mastercard MATCH response.
// Single source of truth for the translate endpoint, retry budget, and all
// user-facing copy (imported by both the components and their tests so the
// assertions can't drift from what renders).
export const matchTranslationUrl = (merchantID: number): string =>
`/merchants/${merchantID}/mastercard-match/translation`;
// AC011 — a failed generation may be retried, but retries are bounded to
// control OpenAI cost. Initial attempt + one retry.
export const MATCH_TRANSLATION_MAX_ATTEMPTS = 2;
// Copy — sourced from Nastya's mockups (not the older AC prose).
export const TRANSLATE_WITH_AI_LABEL = "Translate with AI";
export const AI_PANEL_TITLE = "AI JSON Translation";
export const AI_LOADING_TITLE = "AI translation is running";
export const AI_LOADING_SUBTITLE = "This may take a few minutes";
export const AI_ERROR_TITLE = "AI translation failed";
export const AI_ERROR_SUBTITLE =
"We couldn't complete the AI translation. Please try again.";
export const AI_RETRY_LABEL = "Retry AI Translation";
// AC014 — the summary is AI-generated; the Raw JSON stays authoritative.
export const AI_DISCLAIMER =
"AI-generated summary. Always verify against the raw JSON, which remains the authoritative record.";
|