{ "name": "mike-backend", "version": "1.0.0", "license": "AGPL-3.0-only", "private": true, "scripts": { "check:no-src-js": "node scripts/assert-no-src-js.mjs", "dev": "npm run check:no-src-js && tsx watch src/index.ts", "build": "npm run check:no-src-js && tsc", "start": "node dist/index.js", "test:harness": "NODE_ENV=test MIKE_INTEGRATION_TEST=1 node --import tsx --test tests/harness/*.test.ts tests/integration/phase01Harness.test.ts", "test:integrity": "NODE_ENV=test MIKE_INTEGRATION_TEST=1 node scripts/runIntegrationTests.mjs", "test:phase05": "NODE_ENV=test MIKE_INTEGRATION_TEST=1 node --import tsx --test tests/integration/phase05ProfileIsolation.test.ts tests/routing/phase05DbQueryRemoval.test.ts tests/routing/phase05FrontendSupabaseAdapter.test.ts", "test:routing": "NODE_ENV=test MIKE_INTEGRATION_TEST=1 node --import tsx --test tests/routing/*.test.ts", "python-service": "pip install -r python-service/requirements.txt && python -m uvicorn python-service.main:app --host 127.0.0.1 --port 8000", "test:tool-accumulator": "tsx test_openai_tool_accumulator.ts", "test": "NODE_ENV=test node --import tsx --test", "test:unit": "NODE_ENV=test node --import tsx --test tests/unit/*.test.ts && NODE_ENV=test vitest run src/lib/docxAnchorEligibility.test.ts src/lib/chatTools.commentBatch.test.ts src/lib/chatTools.terminalGate.test.ts src/lib/chatTools.workflowSummary.test.ts src/lib/langsmith.test.ts", "test:inference": "NODE_ENV=test node --import tsx --test src/lib/inference/*.test.ts src/lib/inference/adapters/*.test.ts", "export:inference-config": "node scripts/export-inference-frontend-config.mjs", "test:prompts": "NODE_ENV=test node --import tsx --test tests/unit/promptSnapshots.test.ts tests/unit/builtinWorkflowParity.test.ts tests/unit/builtinWorkflowDrift.test.ts", "test:python-inference": "if [ -x python-service/.venv/bin/python ]; then PY=python-service/.venv/bin/python; else PY=python3; fi; $PY -m unittest discover -s python-service/tests -p 'test_inference*.py' -v && $PY -m unittest discover -s python-service/tests -p 'test_prompt*.py' -v && $PY -m unittest discover -s python-service/tests -p 'test_model*.py' -v && $PY -m unittest discover -s python-service/tests -p 'test_playbook*.py' -v && $PY -m unittest discover -s python-service/tests -p 'test_container*.py' -v", "migrate": "node scripts/runMigrations.mjs", "migrate:baseline": "node scripts/baselineMigrations.mjs", "test:migrations": "NODE_ENV=test node --test tests/unit/migrationLib.test.mjs tests/integration/runMigrations.test.mjs" }, "dependencies": { "@anthropic-ai/sdk": "^0.90.0", "@aws-sdk/client-s3": "^3.787.0", "@aws-sdk/s3-request-presigner": "^3.787.0", "@google/genai": "^1.50.1", "@types/pg": "^8.20.0", "cors": "^2.8.5", "docx": "^9.5.0", "dotenv": "^17.4.1", "express": "^4.21.2", "fast-diff": "^1.3.0", "fast-xml-parser": "^5.7.1", "jszip": "^3.10.1", "langsmith": "^0.7.1", "libreoffice-convert": "^1.6.0", "mammoth": "^1.9.0", "multer": "^1.4.5-lts.2", "openai": "^6.39.1", "pdfjs-dist": "^4.10.38", "pg": "^8.20.0", "resend": "^4.5.1" }, "devDependencies": { "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/multer": "^1.4.12", "@types/node": "^22.14.1", "@types/supertest": "^7.0.0", "prettier": "^3.8.1", "supertest": "^7.1.4", "tsx": "^4.19.3", "typescript": "^5.8.3", "vitest": "^3.2.6" } }