// 독립 선언 픽스처. 목업 반환값과 expect 리터럴이 같은 "정답 유도"를 금지한다. // 모델/로그인 I/O 더블은 여기 토큰만 반환하고, 테스트는 이 상수를 import 해서 비교한다. export const FX = { STT_OK: 'fx.stt.opaque.token.A7K2', STT_OK_B: 'fx.stt.opaque.token.B9Q1', STT_EMPTY: '', STT_WS: ' \n\t ', STT_MALFORMED_SHAPE: { notText: true }, LLM_OK: 'fx.llm.opaque.token.C3M8', LLM_OK_B: 'fx.llm.opaque.token.D4N7', LLM_EMPTY: '', LLM_TITLE: 'fx.llm.title.token.E1P0', LLM_SUMMARY_MD: [ '## 요약', 'fx.summary.opaque.body', '', '## 핵심 결정사항', '- fx.decision.1', '', '## 할 일 목록', '- [ ] fx.action.1', ].join('\n'), AUTH_TOKEN: 'fx.auth.jwt.opaque.T0K3N', AUTH_EMAIL: 'fx.user@example.test', AUTH_FAIL_MSG: 'fx.auth.rejected.R9', LICENSE_PRO: 'D3RO-PRO-TEST-KEY1', LICENSE_PLUS: 'D3RO-PLUS-TEST-KEY1', LICENSE_BAD: 'NOT-A-KEY', } as const export const USER_TEXT = { SHORT: 'hi', KO: '오늘 회의는 오후 세 시에 시작합니다', EN: 'please schedule the quarterly review', UNICODE: '한글 English 日本語 🎉 café', LONG: '가'.repeat(4000), EMPTY: '', WS: ' ', DUP: '중복단어', } as const