feat(13-01): implement aiCoordsToPagePdfSpace and AI field utilities
- Install openai 6.32.0 (npm package, listed in dependencies) - Create src/lib/ai/extract-text.ts — pdfjs-dist legacy build server-side text extraction - extractPdfText(filePath) returning PageText[] with page, text, width, height - GlobalWorkerOptions.workerSrc = '' for Node.js fake-worker mode - Text per page capped at 2000 chars for GPT-4o-mini context limit - Create src/lib/ai/field-placement.ts — GPT-4o-mini structured output + coord conversion - aiCoordsToPagePdfSpace() converts AI top-left pct coords to PDF bottom-left points - classifyFieldsWithAI() uses manual json_schema (NOT zodResponseFormat — broken with Zod v4) - Standard field sizes: checkbox=24x24pt, others=144x36pt - textFillData keyed by field UUID (not label) per Phase 12.1 design - All 3 unit tests pass (GREEN phase confirmed)
This commit is contained in:
22
teressa-copeland-homes/package-lock.json
generated
22
teressa-copeland-homes/package-lock.json
generated
@@ -21,6 +21,7 @@
|
||||
"next": "16.2.0",
|
||||
"next-auth": "5.0.0-beta.30",
|
||||
"nodemailer": "^7.0.13",
|
||||
"openai": "^6.32.0",
|
||||
"postgres": "^3.4.8",
|
||||
"react": "19.2.4",
|
||||
"react-dom": "19.2.4",
|
||||
@@ -11345,6 +11346,27 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/openai": {
|
||||
"version": "6.32.0",
|
||||
"resolved": "https://registry.npmjs.org/openai/-/openai-6.32.0.tgz",
|
||||
"integrity": "sha512-j3k+BjydAf8yQlcOI7WUQMQTbbF5GEIMAE2iZYCOzwwB3S2pCheaWYp+XZRNAch4jWVc52PMDGRRjutao3lLCg==",
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
"openai": "bin/cli"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"ws": "^8.18.0",
|
||||
"zod": "^3.25 || ^4.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"ws": {
|
||||
"optional": true
|
||||
},
|
||||
"zod": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/optionator": {
|
||||
"version": "0.9.4",
|
||||
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
|
||||
|
||||
Reference in New Issue
Block a user