- '읽기 페이지 설정'의 평면도/입면도 페이지 번호가 프롬프트 힌트로만 쓰이고 PDF 전체가 Gemini 로 전송되던 문제 해결 — pdf-lib 로 지정 페이지만 잘라 전송 - 분할본이 12MB 이하면 inlineData(base64) 즉시 전송 → Files API 업로드·폴링 제거, 초과 시에만 Files API 로 fallback - 분할 시 buildPrompt 를 페이지번호 힌트 대신 평면도/입면도 순서 매핑으로 전환 - 유효 페이지 0개 → 422 INVALID_PAGE_RANGE, 분할 실패 → 422 PDF_SPLIT_FAILED - 설계 문서 추가(docs/superpowers/specs/2026-06-21-pdf-page-split-design.md) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
75 lines
2.5 KiB
JSON
75 lines
2.5 KiB
JSON
{
|
|
"name": "q.cast.prototype-nontype",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "env-cmd -f .env.localhost next dev",
|
|
"dev:log": "env-cmd -f .env.localhost next dev 2>&1 | tee dev.log",
|
|
"dev:local-api": "NEXT_PUBLIC_API_SERVER_PATH=http://localhost:8080 env-cmd --no-override -f .env.localhost next dev",
|
|
"dev:log:local-api": "NEXT_PUBLIC_API_SERVER_PATH=http://localhost:8080 env-cmd --no-override -f .env.localhost next dev 2>&1 | tee dev.log",
|
|
"local:dev": "env-cmd -f .env.local.dev next dev",
|
|
"build": "env-cmd -f .env.production next build",
|
|
"build:dev": "env-cmd -f .env.development next build",
|
|
"build:local.dev": "env-cmd -f .env.local.dev next build",
|
|
"start:cluster1": "env-cmd -f .env.production next start -p 5000",
|
|
"start:cluster2": "env-cmd -f .env.production next start -p 5001",
|
|
"start:dev": "env-cmd -f .env.development next start -p 5010",
|
|
"start:btob": "env-cmd -f .env.development next start -p 6060",
|
|
"lint": "next lint",
|
|
"serve": "node server.js"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.772.0",
|
|
"@google/generative-ai": "^0.24.1",
|
|
"ag-grid-react": "^32.0.2",
|
|
"axios": "^1.7.8",
|
|
"big.js": "^6.2.2",
|
|
"chart.js": "^4.4.6",
|
|
"dayjs": "^1.11.13",
|
|
"env-cmd": "^10.1.0",
|
|
"fabric": "^5.5.2",
|
|
"framer-motion": "^11.2.13",
|
|
"fs": "^0.0.1-security",
|
|
"iron-session": "^8.0.2",
|
|
"jimp": "^1.6.0",
|
|
"js-cookie": "^3.0.5",
|
|
"mathjs": "^13.0.2",
|
|
"mssql": "^11.0.1",
|
|
"next": "14.2.28",
|
|
"next-international": "^1.2.4",
|
|
"pdf-lib": "^1.17.1",
|
|
"react": "^18",
|
|
"react-chartjs-2": "^5.2.0",
|
|
"react-colorful": "^5.6.1",
|
|
"react-datepicker": "^7.3.0",
|
|
"react-dom": "^18",
|
|
"react-draggable": "^4.4.6",
|
|
"react-hook-form": "^7.53.0",
|
|
"react-icons": "^5.3.0",
|
|
"react-loading-skeleton": "^3.5.0",
|
|
"react-responsive-modal": "^6.4.2",
|
|
"react-select": "^5.8.1",
|
|
"recoil": "^0.7.7",
|
|
"sharp": "^0.33.5",
|
|
"sqlite": "^5.1.1",
|
|
"sqlite3": "^5.1.7",
|
|
"sweetalert2": "^11.14.1",
|
|
"sweetalert2-react-content": "^5.0.7",
|
|
"swr": "^2.3.0",
|
|
"usehooks-ts": "^3.1.0",
|
|
"uuid": "^10.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@turf/turf": "^7.0.0",
|
|
"@types/node": "^24.3.0",
|
|
"@types/react": "^19.1.11",
|
|
"convertapi": "^1.14.0",
|
|
"postcss": "^8",
|
|
"prettier": "^3.3.3",
|
|
"react-color-palette": "^7.2.2",
|
|
"sass": "^1.77.8",
|
|
"tailwindcss": "^3.4.1",
|
|
"typescript": "^5.9.2"
|
|
}
|
|
}
|