Major release with significant performance improvements and new processing strategy. ## Core Changes - Implemented simple_full_document processing strategy (default) - Full document → LLM approach: 1-2 passes, ~5-6 minutes processing time - Achieved 100% completeness with 2 API calls (down from 5+) - Removed redundant Document AI passes for faster processing ## Financial Data Extraction - Enhanced deterministic financial table parser - Improved FY3/FY2/FY1/LTM identification from varying CIM formats - Automatic merging of parser results with LLM extraction ## Code Quality & Infrastructure - Cleaned up debug logging (removed emoji markers from production code) - Fixed Firebase Secrets configuration (using modern defineSecret approach) - Updated OpenAI API key - Resolved deployment conflicts (secrets vs environment variables) - Added .env files to Firebase ignore list ## Deployment - Firebase Functions v2 deployment successful - All 7 required secrets verified and configured - Function URL: https://api-y56ccs6wva-uc.a.run.app ## Performance Improvements - Processing time: ~5-6 minutes (down from 23+ minutes) - API calls: 1-2 (down from 5+) - Completeness: 100% achievable - LLM Model: claude-3-7-sonnet-latest ## Breaking Changes - Default processing strategy changed to 'simple_full_document' - RAG processor available as alternative strategy 'document_ai_agentic_rag' ## Files Changed - 36 files changed, 5642 insertions(+), 4451 deletions(-) - Removed deprecated documentation files - Cleaned up unused services and models This release represents a major refactoring focused on speed, accuracy, and maintainability.
87 lines
3.7 KiB
JSON
87 lines
3.7 KiB
JSON
{
|
|
"name": "cim-processor-backend",
|
|
"version": "2.0.0",
|
|
"description": "Backend API for CIM Document Processor",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"dev": "ts-node-dev --respawn --transpile-only --max-old-space-size=8192 --expose-gc src/index.ts",
|
|
"build": "tsc && node src/scripts/prepare-dist.js && cp .puppeteerrc.cjs dist/",
|
|
"start": "node --max-old-space-size=8192 --expose-gc dist/index.js",
|
|
"test:gcs": "ts-node src/scripts/test-gcs-integration.ts",
|
|
"test:staging": "ts-node src/scripts/test-staging-environment.ts",
|
|
"setup:gcs": "ts-node src/scripts/setup-gcs-permissions.ts",
|
|
"lint": "eslint src --ext .ts",
|
|
"lint:fix": "eslint src --ext .ts --fix",
|
|
"db:migrate": "ts-node src/scripts/setup-database.ts",
|
|
"db:seed": "ts-node src/models/seed.ts",
|
|
"db:setup": "npm run db:migrate && node scripts/setup_supabase.js",
|
|
"deploy:firebase": "npm run build && firebase deploy --only functions",
|
|
"deploy:cloud-run": "npm run build && gcloud run deploy cim-processor-backend --source . --region us-central1 --platform managed --allow-unauthenticated",
|
|
"deploy:docker": "npm run build && docker build -t cim-processor-backend . && docker run -p 8080:8080 cim-processor-backend",
|
|
"docker:build": "docker build -t cim-processor-backend .",
|
|
"docker:push": "docker tag cim-processor-backend gcr.io/cim-summarizer/cim-processor-backend:latest && docker push gcr.io/cim-summarizer/cim-processor-backend:latest",
|
|
"emulator": "firebase emulators:start --only functions",
|
|
"emulator:ui": "firebase emulators:start --only functions --ui",
|
|
"sync:config": "./scripts/sync-firebase-config.sh",
|
|
"diagnose": "ts-node src/scripts/comprehensive-diagnostic.ts",
|
|
"test:linkage": "ts-node src/scripts/test-linkage.ts",
|
|
"test:postgres": "ts-node src/scripts/test-postgres-connection.ts",
|
|
"test:job": "ts-node src/scripts/test-job-creation.ts",
|
|
"setup:jobs-table": "ts-node src/scripts/setup-processing-jobs-table.ts",
|
|
"monitor": "ts-node src/scripts/monitor-system.ts",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:pipeline": "ts-node src/scripts/test-complete-pipeline.ts",
|
|
"check:pipeline": "ts-node src/scripts/check-pipeline-readiness.ts",
|
|
"sync:secrets": "ts-node src/scripts/sync-firebase-secrets-to-env.ts"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/sdk": "^0.57.0",
|
|
"@google-cloud/documentai": "^9.3.0",
|
|
"@google-cloud/storage": "^7.16.0",
|
|
"@supabase/supabase-js": "^2.53.0",
|
|
"@types/pdfkit": "^0.17.2",
|
|
"axios": "^1.11.0",
|
|
"bcryptjs": "^2.4.3",
|
|
"cors": "^2.8.5",
|
|
"dotenv": "^16.3.1",
|
|
"express": "^4.18.2",
|
|
"express-rate-limit": "^7.1.5",
|
|
"firebase-admin": "^13.4.0",
|
|
"firebase-functions": "^6.4.0",
|
|
"helmet": "^7.1.0",
|
|
"joi": "^17.11.0",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"morgan": "^1.10.0",
|
|
"openai": "^5.10.2",
|
|
"pdf-lib": "^1.17.1",
|
|
"pdf-parse": "^1.1.1",
|
|
"pdfkit": "^0.17.1",
|
|
"pg": "^8.11.3",
|
|
"puppeteer": "^21.11.0",
|
|
"uuid": "^11.1.0",
|
|
"winston": "^3.11.0",
|
|
"zod": "^3.25.76",
|
|
"zod-to-json-schema": "^3.24.6"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bcryptjs": "^2.4.6",
|
|
"@types/cors": "^2.8.17",
|
|
"@types/express": "^4.17.21",
|
|
"@types/jsonwebtoken": "^9.0.5",
|
|
"@types/morgan": "^1.9.9",
|
|
"@types/node": "^20.9.0",
|
|
"@types/pdf-parse": "^1.1.4",
|
|
"@types/pg": "^8.10.7",
|
|
"@types/uuid": "^10.0.0",
|
|
"@typescript-eslint/eslint-plugin": "^6.10.0",
|
|
"@typescript-eslint/parser": "^6.10.0",
|
|
"@vitest/coverage-v8": "^2.1.0",
|
|
"eslint": "^8.53.0",
|
|
"ts-node-dev": "^2.0.0",
|
|
"typescript": "^5.2.2",
|
|
"vitest": "^2.1.0"
|
|
}
|
|
}
|