{ "name": "ai.interactive.fiction", "version": "1.0.0", "description": "A modern take on classic text adventures that combines traditional world modeling with Large Language Models (LLMs) to create natural language interactive fiction experiences.", "main": "index.js", "scripts": { "check:node": "node scripts/check-node-version.js", "prestart": "npm run check:node", "start": "node dist/server-ink.js", "predev": "npm run check:node", "dev": "nodemon --watch src --watch data/ink-src --watch config/engines/ink.json --ext ts,json,ink --exec \"ts-node src/server-ink.ts\"", "dev:debug": "node -e \"process.env.INK_DEBUG='1'; require('child_process').spawn('npm', ['run', 'dev'], { stdio: 'inherit', shell: true, env: process.env })\"", "dev:inspect": "nodemon --watch src --watch data/ink-src --watch config/engines/ink.json --ext ts,json,ink --exec \"node --inspect=0.0.0.0:9231 -r ts-node/register src/server-ink.ts\"", "prestart:debug": "npm run check:node", "start:debug": "node -e \"process.env.INK_DEBUG='1'; require('./dist/server-ink.js')\"", "prestart:inspect": "npm run check:node", "start:inspect": "node --inspect=0.0.0.0:9231 dist/server-ink.js", "build": "tsc" }, "engines": { "node": ">=18.17" }, "keywords": [], "author": "", "license": "ISC", "type": "commonjs", "devDependencies": { "@types/express": "^5.0.1", "@types/jest": "^29.5.14", "@types/js-yaml": "^4.0.9", "@types/node": "^22.13.14", "@typescript-eslint/eslint-plugin": "^8.29.0", "@typescript-eslint/parser": "^8.29.0", "eslint": "^9.23.0", "jest": "^29.7.0", "nodemon": "^3.1.9", "ts-jest": "^29.3.1", "ts-node": "^10.9.2", "typescript": "^5.8.2" }, "dependencies": { "axios": "^1.8.4", "cors": "^2.8.5", "dotenv": "^16.4.7", "express": "^5.1.0", "hyphenopoly": "^6.0.0", "ifvms": "^1.1.6", "inkjs": "^2.4.0", "js-yaml": "^4.1.0", "kokoro-js": "^1.2.0", "marked": "^15.0.12", "openai": "^4.91.0", "socket.io": "^4.8.1" } }