- orval: youtube/instagram/facebook 의 split 타입을 inline 으로 복귀, facebookPageEngagement·postFrequency 추가
- report: mainCTA → mainCta 로 백엔드 명세 정합 (transformer 가 항상 빈 문자열로 떨어지던 버그)
- report: additionalDomains 의 purpose 비면 ' — ' 표시 안 함
- /test fixture 에서 나나성형외과 제거 (10 → 9)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- AnalysisLoadingPage 가 /report/loading?run_id=xxx 쿼리도 path param 과 동일하게
resume 트리거로 인식. createClinic·startAnalysis 재호출 없이 폴링만 재개.
- startAnalysis 성공 후 replaceState 를 path 가 아닌 ?run_id= 쿼리로 갱신해
새로고침·공유·뒤로가기 모두 동일한 resume 흐름을 탄다.
- ky 의 60s 글로벌 timeout 을 끔. createClinic 처럼 백엔드가 외부 크롤·LLM 을
동기로 호출하는 엔드포인트는 60s 안에 끝난다는 보장이 없어 클라이언트에서
timeout 으로 끊으면 안 됨 (폴링은 어차피 짧음).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- orval SDK 재생성:
· generated/plans → generated/plan, generated/reports → generated/report
· planOutput → planApiResponse (clinicName/clinicNameEn/screenshots 등 메타 포함)
· reportOutput → marketingReportResponse (clinicSnapshot 등 풍부한 스키마 복원)
· clinicSnapshot, screenshotEvidence, transformationProposal, websiteAudit 등 모델 신설
· clinicListResponse, fileUploadResponse 등 운영/업로드 모델 신설
- useMarketingPlan / useReport: SDK 응답을 사실상 그대로 패스스루 (메타 매핑 단순화)
- transformReport: 신 SDK 모델 시그니처 반영
- plan 페이지 통합: GuestPlanPage + UserPlanPage → 단일 PlanPage 로 합치고 routes 갱신
- dev 페이지 (ClinicsPage / routes) 갱신
- MyAssetUpload 컴포넌트 + constants 업데이트
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
api.ts 가 orval mutator 로 esbuild 에 의해 cjs 번들될 때 `import.meta` 가
빈 객체로 처리되어 SDK 재생성 로그에 경고가 계속 떴음. vite `define` 으로
빌드 타임에 글로벌 상수로 치환하는 방식으로 우회.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>