{"id":154243397,"number":"4.7.3","published_at":"2025-11-21T17:33:38.640Z","licenses":"MIT","integrity":"sha512-8aSpKhRmbfeF0mzyP/Za5IhXZF2vj3CggVpIxP4CZZ1TOQd0ocvgkeNSeLGyz6+AmqW+2oRk7x2yP4ZYTD57iA==","status":null,"download_url":"https://registry.npmjs.org/@episensor/app-framework/-/app-framework-4.7.3.tgz","registry_url":"https://www.npmjs.com/package/@episensor/app-framework/v/4.7.3","documentation_url":null,"install_command":"npm install @episensor/app-framework@4.7.3","immutable":null,"metadata":{"deprecated":null,"_npmUser":{"name":"episensor","email":"brendan.carroll@episensor.com"},"dist":{"integrity":"sha512-8aSpKhRmbfeF0mzyP/Za5IhXZF2vj3CggVpIxP4CZZ1TOQd0ocvgkeNSeLGyz6+AmqW+2oRk7x2yP4ZYTD57iA==","shasum":"4831f2c7935addfe5d29bd5e34c3612763e69144","tarball":"https://registry.npmjs.org/@episensor/app-framework/-/app-framework-4.7.3.tgz","fileCount":269,"unpackedSize":11243254,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC/cdQvx9SMdJit7axJUCJsAx+mN4sVITgNw/JxFXC3LAiB1xkLxWqYwlGhrefQcgIzasRqzI4kCg0YmljALuj4DeA=="}]},"gitHead":"c9f988e9bbf9e45308cade3e804ff436f807c2e4","main":"dist/index.js","scripts":{"build":"tsc","build:watch":"tsc --watch","clean":"rm -rf dist","prebuild":"npm run clean","postbuild":"node ./scripts/postbuild-ensure-cli-executables.cjs","test":"npm run test:unit \u0026\u0026 npm run test:integration","test:unit":"jest tests/unit/ --forceExit","test:integration":"jest tests/integration/ --passWithNoTests","test:watch":"jest --watch","test:coverage":"jest --coverage","test:coverage:unit":"jest tests/unit/ --coverage","test:coverage:integration":"jest tests/integration/ --coverage","test:security":"npm audit --audit-level moderate","security:deps":"npm audit fix --audit-level moderate --dry-run","benchmark":"node benchmarks/index.js","docs:api":"typedoc --out docs/api src/index.ts","docs:build":"echo 'Documentation site build not yet configured'","lint":"eslint src/ --ext .ts","lint:fix":"eslint src/ --ext .ts --fix","format":"prettier --write 'src/**/*.ts' '*.md'","format:check":"prettier --check 'src/**/*.ts' '*.md'","typecheck":"tsc --noEmit","prepare":"npm run build"},"_npmVersion":"11.0.0","_nodeVersion":"23.6.0","_hasShrinkwrap":false,"directories":{},"engines":{"node":"\u003e=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./services":{"types":"./dist/services/index.d.ts","import":"./dist/services/index.js"},"./middleware":{"types":"./dist/middleware/index.d.ts","import":"./dist/middleware/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js"},"./desktop":{"types":"./dist/desktop/index.d.ts","import":"./dist/desktop/index.js"},"./ui":{"types":"./ui/dist/index.d.ts","import":"./ui/dist/index.mjs","require":"./ui/dist/index.js"},"./ui/utils":{"types":"./dist/ui/utils/index.d.ts","import":"./dist/ui/utils/index.js"},"./styles/globals.css":"./ui/src/styles/globals.css"},"browserify":null},"created_at":"2025-11-21T17:35:09.896Z","updated_at":"2025-11-21T17:35:12.111Z","purl":"pkg:npm/%40episensor/app-framework@4.7.3","related_tag":null,"latest":false,"version_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@episensor%2Fapp-framework/versions/4.7.3","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@episensor%2Fapp-framework/versions/4.7.3/codemeta","dependencies":[{"id":1801967523,"ecosystem":"npm","package_name":"@types/express-session","requirements":"^1.18.2","kind":"runtime","optional":false},{"id":1801967524,"ecosystem":"npm","package_name":"@types/multer","requirements":"^2.0.0","kind":"runtime","optional":false},{"id":1801967525,"ecosystem":"npm","package_name":"archiver","requirements":"^7.0.1","kind":"runtime","optional":false},{"id":1801967526,"ecosystem":"npm","package_name":"boxen","requirements":"^8.0.1","kind":"runtime","optional":false},{"id":1801967527,"ecosystem":"npm","package_name":"chalk","requirements":"^5.5.0","kind":"runtime","optional":false},{"id":1801967528,"ecosystem":"npm","package_name":"commander","requirements":"^12.1.0","kind":"runtime","optional":false},{"id":1801967529,"ecosystem":"npm","package_name":"cors","requirements":"^2.8.5","kind":"runtime","optional":false},{"id":1801967530,"ecosystem":"npm","package_name":"dotenv","requirements":"^17.2.1","kind":"runtime","optional":false},{"id":1801967531,"ecosystem":"npm","package_name":"esbuild","requirements":"^0.25.9","kind":"runtime","optional":false},{"id":1801967532,"ecosystem":"npm","package_name":"express","requirements":"^4.21.2","kind":"runtime","optional":false},{"id":1801967533,"ecosystem":"npm","package_name":"express-session","requirements":"^1.18.2","kind":"runtime","optional":false},{"id":1801967534,"ecosystem":"npm","package_name":"lowdb","requirements":"^7.0.1","kind":"runtime","optional":false},{"id":1801967535,"ecosystem":"npm","package_name":"multer","requirements":"^2.0.2","kind":"runtime","optional":false},{"id":1801967536,"ecosystem":"npm","package_name":"openai","requirements":"^5.13.1","kind":"runtime","optional":false},{"id":1801967537,"ecosystem":"npm","package_name":"papaparse","requirements":"^5.5.3","kind":"runtime","optional":false},{"id":1801967538,"ecosystem":"npm","package_name":"sharp","requirements":"^0.34.3","kind":"runtime","optional":false},{"id":1801967539,"ecosystem":"npm","package_name":"socket.io","requirements":"^4.8.1","kind":"runtime","optional":false},{"id":1801967540,"ecosystem":"npm","package_name":"swagger-jsdoc","requirements":"^6.2.8","kind":"runtime","optional":false},{"id":1801967541,"ecosystem":"npm","package_name":"swagger-ui-express","requirements":"^5.0.1","kind":"runtime","optional":false},{"id":1801967542,"ecosystem":"npm","package_name":"unzipper","requirements":"^0.12.3","kind":"runtime","optional":false},{"id":1801967543,"ecosystem":"npm","package_name":"winston","requirements":"^3.17.0","kind":"runtime","optional":false},{"id":1801967544,"ecosystem":"npm","package_name":"winston-daily-rotate-file","requirements":"^5.0.0","kind":"runtime","optional":false},{"id":1801967545,"ecosystem":"npm","package_name":"zod","requirements":"^3.23.8","kind":"runtime","optional":false},{"id":1801967546,"ecosystem":"npm","package_name":"@types/archiver","requirements":"^6.0.3","kind":"Development","optional":false},{"id":1801967547,"ecosystem":"npm","package_name":"@types/boxen","requirements":"^2.1.0","kind":"Development","optional":false},{"id":1801967548,"ecosystem":"npm","package_name":"@types/cors","requirements":"^2.8.17","kind":"Development","optional":false},{"id":1801967549,"ecosystem":"npm","package_name":"@types/express","requirements":"^4.17.23","kind":"Development","optional":false},{"id":1801967550,"ecosystem":"npm","package_name":"@types/fs-extra","requirements":"^11.0.4","kind":"Development","optional":false},{"id":1801967551,"ecosystem":"npm","package_name":"@types/jest","requirements":"^30.0.0","kind":"Development","optional":false},{"id":1801967552,"ecosystem":"npm","package_name":"@types/node","requirements":"^20.10.0","kind":"Development","optional":false},{"id":1801967553,"ecosystem":"npm","package_name":"@types/swagger-jsdoc","requirements":"^6.0.4","kind":"Development","optional":false},{"id":1801967554,"ecosystem":"npm","package_name":"@types/swagger-ui-express","requirements":"^4.1.8","kind":"Development","optional":false},{"id":1801967555,"ecosystem":"npm","package_name":"@types/ws","requirements":"^8.18.1","kind":"Development","optional":false},{"id":1801967556,"ecosystem":"npm","package_name":"@typescript-eslint/eslint-plugin","requirements":"^8.18.2","kind":"Development","optional":false},{"id":1801967557,"ecosystem":"npm","package_name":"@typescript-eslint/parser","requirements":"^8.18.2","kind":"Development","optional":false},{"id":1801967558,"ecosystem":"npm","package_name":"eslint","requirements":"^9.32.0","kind":"Development","optional":false},{"id":1801967559,"ecosystem":"npm","package_name":"globals","requirements":"^16.3.0","kind":"Development","optional":false},{"id":1801967560,"ecosystem":"npm","package_name":"jest","requirements":"^30.0.5","kind":"Development","optional":false},{"id":1801967561,"ecosystem":"npm","package_name":"npm-run-all","requirements":"^4.1.5","kind":"Development","optional":false},{"id":1801967562,"ecosystem":"npm","package_name":"prettier","requirements":"^3.5.1","kind":"Development","optional":false},{"id":1801967563,"ecosystem":"npm","package_name":"socket.io-client","requirements":"^4.8.1","kind":"Development","optional":false},{"id":1801967564,"ecosystem":"npm","package_name":"ts-jest","requirements":"^29.4.1","kind":"Development","optional":false},{"id":1801967565,"ecosystem":"npm","package_name":"ts-node","requirements":"^10.9.2","kind":"Development","optional":false},{"id":1801967566,"ecosystem":"npm","package_name":"tsx","requirements":"^4.20.4","kind":"Development","optional":false},{"id":1801967567,"ecosystem":"npm","package_name":"typedoc","requirements":"^0.28.12","kind":"Development","optional":false},{"id":1801967568,"ecosystem":"npm","package_name":"typescript","requirements":"^5.7.2","kind":"Development","optional":false}],"package_url":"https://packages.ecosyste.ms/api/v1/registries/npmjs.org/packages/@episensor%2Fapp-framework"}