{"_id":"elowen","_rev":"38-53c8544eb3f1ef4f41b3d73a575eeb81","name":"elowen","dist-tags":{"latest":"0.28.56"},"versions":{"0.12.0":{"name":"elowen","version":"0.12.0","keywords":["ai","agent","orchestrator","autopilot","coding-agent","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.12.0","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/index.js","elowen":"dist/cli/index.js"},"dist":{"shasum":"c7b804ec2e4bcaad3a81682da13f564873582fff","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.12.0.tgz","fileCount":3107,"integrity":"sha512-hJpF/QRfCDz4FGl2+zrMtTLzF1BfnSPGwkLPHOUgUZhz/kGK8Ln7HiuNxu9H3khHZcNk1NU9frKn5n/5MCKe5A==","signatures":[{"sig":"MEYCIQCzt1Zn63h/Ij2bePWQqB1KAU6sHbQv7vySmnWhxW8vmgIhAIudiJTgfrnv1CLSDosE2Yxk3zaaYyWrcZQp1IsiB2Cw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85149987},"type":"module","engines":{"node":">=22"},"gitHead":"58a3d05957aed84ff1a19ad2e2bda58fbb7b0d1d","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm run build:web"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"ELOWEN — an autonomous coding-agent orchestrator with an autopilot overseer, daemon API and web UI. Install globally and run `elowen`.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"^0.80.3","@earendil-works/pi-tui":"^0.80.3","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"^0.80.3"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.12.0_1783526812738_0.323287195573422","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.20.0":{"name":"elowen","version":"0.20.0","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.20.0","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"eece9a061d26d3bedb2c07ec3d8c45f9bf6c72bc","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.20.0.tgz","fileCount":3125,"integrity":"sha512-cC/UWTzQxeG7cXGXu1FcxYv8gB3L1BViiTaIhpGfBeFki38pfg5sDcq3TclIToKXukhCOkqbyNtrWWGwLqDIpA==","signatures":[{"sig":"MEUCIQCYQR7eMtDjVvYc/OoceW4m8qyEqqsroqaUpbziMgh1mQIgVy/Pr/eyvvndEp+UULj3u9mPbNpYmT0e+eyAcEYPGPM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85392361},"type":"module","engines":{"node":">=22"},"gitHead":"eec6138856137ae4e26622bd54f474400ad7f8ce","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm run build:web"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"^0.80.3","@earendil-works/pi-tui":"^0.80.3","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"^0.80.3"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.20.0_1783593298938_0.8503610935109587","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.20.1":{"name":"elowen","version":"0.20.1","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.20.1","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"a18759a8f9164591eace1b8f1ecc555e365cf40f","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.20.1.tgz","fileCount":3125,"integrity":"sha512-/OG0e5ce6GVhqrL6mLqNh16gMS3GG7Hm1n6L2056kB0RoTEQpRe6IPjjQuLkIGTbh1K9dMzTrY03DN4w3qlrbg==","signatures":[{"sig":"MEUCIQDvEo4jQ5OGORLdZY/q1YEkUxVC+T4O2nghk6hstwJhJwIgOk8+TySrpup8Ckjgg4AkjDp4Pc8o5tE45j4VmmT5e3k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85394437},"type":"module","engines":{"node":">=22"},"gitHead":"61790a86cee24da22cac49e901acf81e4d515c6f","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","typecheck":"tsc -p tsconfig.json --noEmit","test:watch":"vitest","prepublishOnly":"npm run build && npm run build:web"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"^0.80.3","@earendil-works/pi-tui":"^0.80.3","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"^0.80.3"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.20.1_1783597196146_0.9745963511100124","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.2":{"name":"elowen","version":"0.27.2","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.2","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"f9962c1b7b728661ff1f1bc919d712c87a360e14","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.2.tgz","fileCount":3163,"integrity":"sha512-PbZND/joc5pDmMcYOVEpqlFS1wdoJUEo6nzraS+LuAcpHyD6AYe5nTWVNGHHIIFO6gwGn5yTkq0PVsGDWhpy+g==","signatures":[{"sig":"MEQCIHFOQdVsPVNKxtebhB35g+7e6dXy7gn0s09Fa8iEo6EjAiBpUFObZ3PGg0JzxjMZ0dT2Fwv6Gtbk+Can53800l0+9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83677742},"type":"module","engines":{"node":">=22"},"gitHead":"7b952b19bd8ded40b68d7944dc22b676ade96ecf","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","prepublishOnly":"npm run build && npm run build:web","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"^0.80.6","@earendil-works/pi-tui":"^0.80.6","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"^0.80.6"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.2_1783859036483_0.6477281730318059","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.3":{"name":"elowen","version":"0.27.3","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.3","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"4f0edbad62f9ddd3ebe9e31000f15b5c8a8b57fd","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.3.tgz","fileCount":3168,"integrity":"sha512-8yNbr216bXOnTQ1psBfSecct3gUloa2hi9R5rfh0FgmSO0z3dkPFogMMEKE9Sf/TOrpO0YYrKmflModV4uvOmQ==","signatures":[{"sig":"MEQCIB+ZFQDgbZJFEh1NhYq3smwz35sC5xqQ9RobhbJ5ZPntAiBE/dtCkI/WVaEuSW0qdIdUYlbGWrkOs9Vl/4NVnxRTtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84000294},"type":"module","engines":{"node":">=22"},"gitHead":"495449ea5dfc4b66d8a89c180ca0e74432baa407","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"^0.80.6","@earendil-works/pi-tui":"^0.80.6","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"^0.80.6"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.3_1784112698783_0.18610240019087576","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.4":{"name":"elowen","version":"0.27.4","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.4","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"2af4481ba0e518417806ae8d8d270438bf4e2b9f","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.4.tgz","fileCount":3206,"integrity":"sha512-e/QYNeonDAi+m1GHOT+ZeEsWZNDxkOM8rGnDcfdAE+VZQqSnwYj0b2kMZ5/WGsrQiHZcMd4mIuRrMvxrjrAqKQ==","signatures":[{"sig":"MEQCIBofkTwuJSXJPAu3RLtngnXOufngl90zOKadmgIwW/RZAiA75+Wg6Ajpn66H2W/pHDjdrNps9lnbiJZytoFLRNU/5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84423563},"type":"module","engines":{"node":">=22"},"gitHead":"f0dd84ce535b744d041b1e57fa28c866bca0db26","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"^0.80.6","@earendil-works/pi-tui":"^0.80.6","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"^0.80.6"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.4_1784276569596_0.6718635209226911","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.5":{"name":"elowen","version":"0.27.5","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.5","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"da78c3cad72a8551ea8902f5b3f53ae59b216577","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.5.tgz","fileCount":3206,"integrity":"sha512-HpbZQhEbn8RmM/+8euYCz7d0MduxqugX6c4vfgwm9s6EtAgZqOnyYRmue5LObGZqSmqEi/jMMZQ4Z77IsEyA8w==","signatures":[{"sig":"MEQCIBeJ+EZcFk5uDJHTBtm2XWyXiYnWquOYxNmM3CcOuJ9tAiAl+2yH+8kb6PC+srQapCd623DY7FCYU/XJPN8yBQxj/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84426301},"type":"module","engines":{"node":">=22"},"gitHead":"0556163ceebae3fe2e61077e76b5b76464d36174","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"^0.80.6","@earendil-works/pi-tui":"^0.80.6","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"^0.80.6"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.5_1784278757014_0.17857739499435987","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.6":{"name":"elowen","version":"0.27.6","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.6","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"60a9859d800c8298f7b609e3187f1b5f9c5f9678","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.6.tgz","fileCount":3206,"integrity":"sha512-mPgZp0MAtLazfApYODaoeVoL5ocexAT/Z+jiqwL4jz7Ux+veQZAuBTpOZ/hLvZb1vj9ChmebZRtzW4QWbFfUAA==","signatures":[{"sig":"MEQCIEn92Lmya3WdhMt0YXFj8F7AnH/mNpiGiZj8PCUzUzY+AiBfjYOsu+t2gQX6XgLVLFyJfL2eIK/yS0mO1Jn6l7QqHw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84428043},"type":"module","engines":{"node":">=22"},"gitHead":"28225ef53f30a3712da5c84c27f0ca6596e0d69b","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"^0.80.6","@earendil-works/pi-tui":"^0.80.6","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"^0.80.6"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.6_1784279416351_0.4230031826989411","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.7":{"name":"elowen","version":"0.27.7","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.7","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"5b0c61f548aa0ddae2a9ac167d1d4b73f46d8a61","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.7.tgz","fileCount":3238,"integrity":"sha512-6yt+Ms2DQv15tGmouy5AsT7ke4v0QtR5Z+M6LIcYmgcB6JQlTrqS8DdxmnIr7UaUEYfJyjVtnFseQ7f71mXzqA==","signatures":[{"sig":"MEUCIDZOiDOCU4rFEAIJjCC6J92T0+YQLhmzu0CAkDnpggf7AiEAyPJOaTlVOQLh6gqj/D4ic5AV23vApfcM6wNNsJHviAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84817114},"type":"module","engines":{"node":">=22"},"gitHead":"a2fd11613fcf49c61b220c33d400aaa800038e3b","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"^0.80.6","@earendil-works/pi-tui":"^0.80.6","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"^0.80.6"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.7_1784397292963_0.9293401870973499","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.71":{"name":"elowen","version":"0.27.71","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.71","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"96272feb6e8fd49bcd064d2e6bbd1d2bbe5389ad","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.71.tgz","fileCount":3265,"integrity":"sha512-B3xEaKCF+x0VYRAeuZNZ4JziP789pZEnXgcjeyEZTdhe0nSTwuspY+ciU/0DYTytgK5WchFupl8BYLrEAWU8SQ==","signatures":[{"sig":"MEUCIBvrjIpoEwq8q6Tl7AOnRJKS/IO8ScZhBphLF4yu3HF8AiEA3Q5xBzeXhTueD+uPDCIVDWYZ7Q5klJOj7k7hS4FNR6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87892120},"type":"module","engines":{"node":">=22"},"gitHead":"8c787a4307cc39984a21f26734c240541717b456","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"0.80.10","@earendil-works/pi-tui":"0.80.10","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"0.80.10"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.71_1784485523960_0.12609968814640227","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.72":{"name":"elowen","version":"0.27.72","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.72","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"06e0cf408fda532601547ea6e5e39147ace6bf5d","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.72.tgz","fileCount":3278,"integrity":"sha512-5mzGlTia8uq09cq/E+pmWTsi90eNkiBXrOjY/V95q+BxxWvf9K5aBrg6BhTyQuMMcEQI6vDzTW1us9PhhTYL5Q==","signatures":[{"sig":"MEQCIE7GCQLDiSWXmT7GVuH75sEvxLfhkV2j2p6QvRJDeH1YAiAKV6n4Tb4n+/flWr6ghAOPw2h3myqZTtq5pi+1ymMizg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87841268},"type":"module","engines":{"node":">=22"},"gitHead":"610e8eff3cf14aeb7563d32f71ac2f171e4cae92","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"0.80.10","@earendil-works/pi-tui":"0.80.10","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"0.80.10"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.72_1784557496232_0.6815529572701444","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.73":{"name":"elowen","version":"0.27.73","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.73","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"91222127652a96f7600229a193dd4f18117083f7","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.73.tgz","fileCount":3282,"integrity":"sha512-ti4NK4vUOXzuo7VWCalC6w+GgVqEVuD66k3DH3G1xg0BNQTSd4RUynhgjQ4WySxYoudwNa++rFasMV7Hcg3O4w==","signatures":[{"sig":"MEUCIQCLR1XO62NOyGl9A0tuKdc+zjs/8SyGYC2lZC0eCK6XugIgPp1oC+qD/lUTwdQiKIMQqXRInTiUzHnfwOiAzKxAYEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87894533},"type":"module","engines":{"node":">=22"},"gitHead":"122170df7e5dd2aabe6784c211a51d3880f81407","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","test:e2e:cron":"npm run build --silent && node scripts/tests/cron-e2e/run.mjs","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:discord":"npm run build --silent && node scripts/tests/discord-e2e/discord-roundtrip.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:telegram":"npm run build --silent && node scripts/tests/telegram-e2e/telegram-roundtrip.mjs","test:e2e:whatsapp":"npm run build --silent && node scripts/tests/whatsapp-e2e/whatsapp-roundtrip.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"0.80.10","@earendil-works/pi-tui":"0.80.10","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"0.80.10"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.73_1784574272677_0.5024580302165236","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.75":{"name":"elowen","version":"0.27.75","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.75","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"971e97114419abd656bf16259e8236b6c7eae674","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.75.tgz","fileCount":3297,"integrity":"sha512-ukPZf/sFrJ7e3YjVpcS8to00oRESEEb9H9JILIoXKIzyI8o1insWSEa49DH/iKr/ZldhYo//EJJMavHijGKZ3w==","signatures":[{"sig":"MEQCIHTVEWwPcVFBrkrLU1NZC5nZ9lQHxR2p3U4wvFxlXvxXAiA2PG+Cd+uCcVDUXh2gtb/Mq184XpP8gcBI5UPZCVy0Rg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88067692},"type":"module","engines":{"node":">=22"},"gitHead":"999d6c179e332979a3c433092b277f9acdac1736","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean && npm run languages-check --silent","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","test:e2e:cron":"npm run build --silent && node scripts/tests/cron-e2e/run.mjs","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:discord":"npm run build --silent && node scripts/tests/discord-e2e/discord-roundtrip.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:telegram":"npm run build --silent && node scripts/tests/telegram-e2e/telegram-roundtrip.mjs","test:e2e:whatsapp":"npm run build --silent && node scripts/tests/whatsapp-e2e/whatsapp-roundtrip.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"0.80.10","@earendil-works/pi-tui":"0.80.10","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"0.80.10"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.75_1784748725741_0.7979706592656928","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.76":{"name":"elowen","version":"0.27.76","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.76","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"0d17a44541f3a489190de022075f764ae1cba9bb","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.76.tgz","fileCount":3365,"integrity":"sha512-WmqPKJntVYQDi/dB//lt7dZyCVHbJl+fVHspbOmBistHKQ6uwrJK8Lnopv5rzNOWltRY+QCyUewmD2Qh2QMjJg==","signatures":[{"sig":"MEUCIQCBMBs1ZFyLWjZrz6v/LYE4Dva90khwHgZWCXakZspeDAIgEYUjFbDDoE960+ciAskvd+dYgVl3UWpVNFmZKDPBXN0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88505539},"type":"module","engines":{"node":">=22"},"gitHead":"873c93f2ae21405ae617de5811f4253511870fed","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean && npm run languages-check --silent","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","test:e2e:cron":"npm run build --silent && node scripts/tests/cron-e2e/run.mjs","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:discord":"npm run build --silent && node scripts/tests/discord-e2e/discord-roundtrip.mjs","test:e2e:msteams":"npm run build --silent && node scripts/tests/msteams-e2e/msteams-roundtrip.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:telegram":"npm run build --silent && node scripts/tests/telegram-e2e/telegram-roundtrip.mjs","test:e2e:whatsapp":"npm run build --silent && node scripts/tests/whatsapp-e2e/whatsapp-roundtrip.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"0.80.10","@earendil-works/pi-tui":"0.80.10","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"0.80.10"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.76_1784821781627_0.6757590012003527","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.77":{"name":"elowen","version":"0.27.77","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.77","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"944dcf0a609b8a7e84245c63337e4930e37fa93e","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.77.tgz","fileCount":3365,"integrity":"sha512-bGZTOWBiaj7s313R2g0Tw8JBW4V159riV/goX7O6fgy+5y6fendpoLm9pGzQjzLb/YIAUjsVBuuYjsb4b31W6A==","signatures":[{"sig":"MEUCIQCCLKJk2zE7l8bEXp2Js7tfBbh9YscZYDzSPOPd1pD7RgIgDR0BHr7TdQbovKboCAYmYzYGk0XfZAG0W+gXaFk+bqk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88508217},"type":"module","engines":{"node":">=22"},"gitHead":"94dbb76a917b60b1f9294d2a43216951dcedfb51","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean && npm run languages-check --silent","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","test:e2e:cron":"npm run build --silent && node scripts/tests/cron-e2e/run.mjs","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:discord":"npm run build --silent && node scripts/tests/discord-e2e/discord-roundtrip.mjs","test:e2e:msteams":"npm run build --silent && node scripts/tests/msteams-e2e/msteams-roundtrip.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:telegram":"npm run build --silent && node scripts/tests/telegram-e2e/telegram-roundtrip.mjs","test:e2e:whatsapp":"npm run build --silent && node scripts/tests/whatsapp-e2e/whatsapp-roundtrip.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","@hono/node-ws":"^1.3.0","better-sqlite3":"^11.0.0","@hono/node-server":"^1.13.0","@earendil-works/pi-ai":"0.80.10","@earendil-works/pi-tui":"0.80.10","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"0.80.10"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^9.39.4","vitest":"^2.1.0","globals":"^17.7.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.77_1784824914270_0.11418952041608987","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.78":{"name":"elowen","version":"0.27.78","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.78","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"0bb9c87823c3ff4b1be485960582270dff8f5436","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.78.tgz","fileCount":3480,"integrity":"sha512-uM/vmGUNP0ec2+RCVEnHG1AwNayLK63ONWLGzV5DXt0dbfFzhQbnK12iLaEvhPGc63YgZGSRocAR/ghbcaMuOQ==","signatures":[{"sig":"MEYCIQD67rkU+aEgYnSZ1+6kb1KA2HDnEdeQpU+hSaYJP2jwHwIhAPXZWcVdhxHNlKzHZR/fU3eo/lOH8CQMpD/mqhS6AnVc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71477340},"type":"module","engines":{"node":">=22"},"gitHead":"bfc1990c782acb1f06dc0bc014ef2035726eb50b","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"node scripts/dist-integrity.mjs clean && npm run languages-check --silent","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","test:e2e:cron":"npm run build --silent && node scripts/tests/cron-e2e/run.mjs","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:discord":"npm run build --silent && node scripts/tests/discord-e2e/discord-roundtrip.mjs","test:e2e:msteams":"npm run build --silent && node scripts/tests/msteams-e2e/msteams-roundtrip.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:telegram":"npm run build --silent && node scripts/tests/telegram-e2e/telegram-roundtrip.mjs","test:e2e:whatsapp":"npm run build --silent && node scripts/tests/whatsapp-e2e/whatsapp-roundtrip.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.1","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","better-sqlite3":"^11.0.0","@hono/node-server":"^2.0.10","@earendil-works/pi-ai":"0.82.0","@earendil-works/pi-tui":"0.82.0","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"0.82.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.7.0","@types/ws":"^8.18.1","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.78_1785163155853_0.7370271000138113","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.79":{"name":"elowen","version":"0.27.79","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.79","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"b37112266c109442ced81dc643e9c2dac4ff6825","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.79.tgz","fileCount":3493,"integrity":"sha512-XfXEqlQI7GS5uiHnnObuP02L0W6aBvRR+PNoXT3iGHaeqiuP5mMYzJqPqhRGjLANFljJrtiaATr3tPhZd2ZGSg==","signatures":[{"sig":"MEUCIQCQFogPuzC79Up834VaeFIMeRI39wMX5T2b27BpAHiTWgIgTaFO5JYccQQQMyxd6/w6p84CekzobTm4fnQ+MbpZaRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72191758},"type":"module","engines":{"node":">=22"},"gitHead":"1850f5fe793e4a608477f35b037d8af43679f30f","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","test:e2e:cron":"npm run build --silent && node scripts/tests/cron-e2e/run.mjs","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:discord":"npm run build --silent && node scripts/tests/discord-e2e/discord-roundtrip.mjs","test:e2e:msteams":"npm run build --silent && node scripts/tests/msteams-e2e/msteams-roundtrip.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:telegram":"npm run build --silent && node scripts/tests/telegram-e2e/telegram-roundtrip.mjs","test:e2e:whatsapp":"npm run build --silent && node scripts/tests/whatsapp-e2e/whatsapp-roundtrip.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.1","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","better-sqlite3":"^11.0.0","@hono/node-server":"^2.0.10","@earendil-works/pi-ai":"0.82.0","@earendil-works/pi-tui":"0.82.0","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"0.82.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.7.0","@types/ws":"^8.18.1","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.79_1785478380422_0.1881167166424158","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.80":{"name":"elowen","version":"0.27.80","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.80","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"5ad6db064673e417061b85acbbca13837d8ebddd","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.80.tgz","fileCount":3507,"integrity":"sha512-QrZaN89IWS+/a2g+v9lRl1gDcT9XQx8URjD1y5Sz3R5pilE3myHWlXauRLJd73mNuk++ZbyxofiKHPt0FmP6iQ==","signatures":[{"sig":"MEUCIEvr+WBd7Kx79UC2mL9AhtbN/h14NzwMCEMzo36F7S+sAiEA/cYlmTWReTyQctpztXxrtE70ejaOyCB3AkZYbFk01Mc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72502533},"type":"module","engines":{"node":">=22"},"gitHead":"f8d65c262d9e14a3cd1a31ce50d7c643980d69bd","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","test:e2e:cron":"npm run build --silent && node scripts/tests/cron-e2e/run.mjs","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:discord":"npm run build --silent && node scripts/tests/discord-e2e/discord-roundtrip.mjs","test:e2e:msteams":"npm run build --silent && node scripts/tests/msteams-e2e/msteams-roundtrip.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:telegram":"npm run build --silent && node scripts/tests/telegram-e2e/telegram-roundtrip.mjs","test:e2e:whatsapp":"npm run build --silent && node scripts/tests/whatsapp-e2e/whatsapp-roundtrip.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.1","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","better-sqlite3":"^11.0.0","@hono/node-server":"^2.0.10","@earendil-works/pi-ai":"0.82.0","@earendil-works/pi-tui":"0.82.0","@modelcontextprotocol/sdk":"^1.29.0","@earendil-works/pi-coding-agent":"0.82.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.7.0","@types/ws":"^8.18.1","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.9","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.80_1785818272173_0.42055407037890347","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.81":{"name":"elowen","version":"0.27.81","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.81","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"17e0800c06819252d9aa32ff4eb868d3df541d05","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.81.tgz","fileCount":3509,"integrity":"sha512-L6J6NXvWOuCjBR7orqrqpd7a+2rOx9WzJxHNBrRT4FnIn1DpaeAX+Au7I+qzbtlZ0XpJ3xuzx4vT+6GnjRMVMw==","signatures":[{"sig":"MEUCIQCeU52dGTlhIg7lS/9EO8lXimK3mzykj8jRgPX2xNPveAIgbdvyn75PzYpVD6YIn11g09fPCv5fKkpWlWEqg0Ir8iA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109816949},"type":"module","engines":{"node":">=22"},"gitHead":"3fbc460f3695c8fc3f491816f9c31d3cc8ca2025","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","test:e2e:cron":"npm run build --silent && node scripts/tests/cron-e2e/run.mjs","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:discord":"npm run build --silent && node scripts/tests/discord-e2e/discord-roundtrip.mjs","test:e2e:msteams":"npm run build --silent && node scripts/tests/msteams-e2e/msteams-roundtrip.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:telegram":"npm run build --silent && node scripts/tests/telegram-e2e/telegram-roundtrip.mjs","test:e2e:whatsapp":"npm run build --silent && node scripts/tests/whatsapp-e2e/whatsapp-roundtrip.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.1","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","better-sqlite3":"^11.0.0","@hono/node-server":"^2.0.12","@earendil-works/pi-ai":"0.82.0","@earendil-works/pi-tui":"0.82.0","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"0.82.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.81_1786117491109_0.05984682965711641","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.27.82":{"name":"elowen","version":"0.27.82","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.27.82","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"b2d4f4e5f20a21256e79095600234678124cc5fc","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.27.82.tgz","fileCount":3516,"integrity":"sha512-7ExI4xyfOORtUKCzvv914ZblDK2sKhGubM9/1Cxno5uHmS+/f8RcTPhjc48KZNqvxVW2kp4cd+QaS6J2ft0LmQ==","signatures":[{"sig":"MEQCIEwda0dsM+TLxL4toCFO89fJ8bEpywIwUTiT1ukgt/aSAiBQddGNmrgeYfC1yOa1j9y3qIVoSBy0WbtK/hL/Y0cg6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":110048011},"type":"module","engines":{"node":">=22"},"gitHead":"be15d61bf99aad7ad6bcce0eef70ff1ee94f402e","scripts":{"lint":"eslint .","test":"vitest run","build":"tsc -p tsconfig.json && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","deadcode":"knip","depgraph":"depcruise src web --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","test:e2e:cron":"npm run build --silent && node scripts/tests/cron-e2e/run.mjs","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:discord":"npm run build --silent && node scripts/tests/discord-e2e/discord-roundtrip.mjs","test:e2e:msteams":"npm run build --silent && node scripts/tests/msteams-e2e/msteams-roundtrip.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:telegram":"npm run build --silent && node scripts/tests/telegram-e2e/telegram-roundtrip.mjs","test:e2e:whatsapp":"npm run build --silent && node scripts/tests/whatsapp-e2e/whatsapp-roundtrip.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.1","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","better-sqlite3":"^11.0.0","@hono/node-server":"^2.0.12","@earendil-works/pi-ai":"0.82.0","@earendil-works/pi-tui":"0.82.0","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"0.82.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.27.82_1786338674707_0.038962469228469576","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.1":{"name":"elowen","version":"0.28.1","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.1","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"4bb4bebb43ab58c6849283bd3a1a1741aaaae222","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.1.tgz","fileCount":4638,"integrity":"sha512-WDUzAh+Xj6ZaMpQ6gkF6IyyrxZt6/ZuNanNqZcF2xQ1Cdkc6Hl5u79YY7gr6rEd3vC4I4C6GRmgdK1fqTNOkPQ==","signatures":[{"sig":"MEUCIDlhCfOiQSC/beLiqo3Ahd8C+uLOzISD5G0xRFOcTKFbAiEAudGkn80KW7WLkecu+pCtA2x6ucxyjkioOOmBJNh7XRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114890840},"type":"module","engines":{"node":">=22"},"gitHead":"4a43a54633ed2d9ffd3287a8c6512db808e5ea1b","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","test:e2e:cron":"npm run build --silent && node scripts/tests/cron-e2e/run.mjs","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:discord":"npm run build --silent && node scripts/tests/discord-e2e/discord-roundtrip.mjs","test:e2e:msteams":"npm run build --silent && node scripts/tests/msteams-e2e/msteams-roundtrip.mjs","build:plugins-web":"node scripts/build-plugins-web.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:telegram":"npm run build --silent && node scripts/tests/telegram-e2e/telegram-roundtrip.mjs","test:e2e:whatsapp":"npm run build --silent && node scripts/tests/whatsapp-e2e/whatsapp-roundtrip.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.1","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","better-sqlite3":"^11.0.0","@hono/node-server":"^2.0.12","elowen-plugin-shared":"0.1.0","@earendil-works/pi-ai":"0.82.0","@earendil-works/pi-tui":"0.82.0","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"0.82.0"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.1.0","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.1_1786712852384_0.7459673975945071","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.9":{"name":"elowen","version":"0.28.9","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.9","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"e582333112daaa182dcb382650c37f5fcdd7b72a","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.9.tgz","fileCount":3591,"integrity":"sha512-SJbxg+U9sIRm7zXCtUelBK0cS5rLkBegLmvwMJAR1i/GrFfvOlWSFrOHfPIVlNMnROSTIkTCfbM4c3GuTayyrg==","signatures":[{"sig":"MEQCIDVihv5vYlRt/YEpvZtj2DPNZcLBHdA2n+uq22xj91JLAiAua/Wm9wRykt5BdIov1ftJX/5vC8LeFlP5YZkfkIYSzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109717859},"type":"module","engines":{"node":">=22"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"gitHead":"9174876b007eb051fb75ac23d3652e7d8dd2264a","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.1","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","better-sqlite3":"^11.0.0","@hono/node-server":"^2.0.12","elowen-plugin-shared":"0.1.3","@earendil-works/pi-ai":"0.84.2","@earendil-works/pi-tui":"0.84.2","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"0.84.2"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.1.0","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.9_1787394324275_0.533866668077466","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.10":{"name":"elowen","version":"0.28.10","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.10","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"cca733071db35192c84cb8d8b45eea8040a4ef17","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.10.tgz","fileCount":3591,"integrity":"sha512-5YyF5F9JNFzOt+2dS9I1DV4HcdboBBWqHvH5NcQ0Akt/PlejwGdtAVKDdeiDR24f3hc0M0IoBhgFG3Vr4N+RAg==","signatures":[{"sig":"MEYCIQCiM08MleDm7tUCFbwi02g/5WNMFaVxCOrs+o+r5aESNQIhALgdXwlgMj7Ja4CVQHdIXKjUS86ZAGI2zQNYEOFqqZh0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109718628},"type":"module","engines":{"node":">=22"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"gitHead":"dbc8bf36be9b1f6ca3a212fda7a5e45657d82393","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.1","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","better-sqlite3":"^11.0.0","@hono/node-server":"^2.0.12","elowen-plugin-shared":"0.1.3","@earendil-works/pi-ai":"0.84.2","@earendil-works/pi-tui":"0.84.2","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"0.84.2"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.1.0","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.10_1787397169608_0.11511980090661811","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.17":{"name":"elowen","version":"0.28.17","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.17","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"d34621ba089f4eb2c03e4b080b0bde2e40c9fa9e","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.17.tgz","fileCount":3585,"integrity":"sha512-JnvtuXm0d8dJBRG01eMWmyScW+f3nFIJeDz7uQvHxO0Bgon6LiBL+YQ36Bbw3J9teK+JR2UYHwgHKTItd/l+PA==","signatures":[{"sig":"MEQCIHWDTbpGfLhaa7pXFe5qDLTzygKlBrRd1FyZGCPuUrZwAiAYM1mp1f8l6csNsOfbxXOvsOEjUoLgb9+MoBlP15L6zA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111530623},"type":"module","engines":{"node":">=22"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.1","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","better-sqlite3":"^11.0.0","@hono/node-server":"^2.0.12","elowen-plugin-shared":"0.1.7","@earendil-works/pi-ai":"^0.84.3","@earendil-works/pi-tui":"^0.84.3","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"^0.84.3"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.4.0","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.17_1787811910528_0.32681578723173144","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.24":{"name":"elowen","version":"0.28.24","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.24","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"f86fb4ef99141f3d05ea08766c8670790404af5d","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.24.tgz","fileCount":3586,"integrity":"sha512-dSV2JjfQ9xo3ICHJ+UEcBOZTEnkhmui/H/qCnOqJjo7BS0yYdaeBsEwB3TS/fXa7dNl7Ku902qKINi5jh/CzvQ==","signatures":[{"sig":"MEUCIQCQF5MRj73rarJD7AwyTdJWy0kk1qA288W9F06mSsFhZwIgbijdG/ahTzSQnqFmL1OeyygfNg36ixQnfI78rOQLoFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113628440},"type":"module","engines":{"node":">=22"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"gitHead":"8364719c20363f205da49d8bb21c06863464e551","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","better-sqlite3":"^11.0.0","@hono/node-server":"^2.0.12","elowen-plugin-shared":"0.1.9","@earendil-works/pi-ai":"^0.84.3","@earendil-works/pi-tui":"^0.84.3","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"^0.84.3"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.7.0","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.24_1788309161202_0.3664944715760525","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.32":{"name":"elowen","version":"0.28.32","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.32","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"1b65816a226b6d47c8ea6a998b5d01fe10e40dae","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.32.tgz","fileCount":3593,"integrity":"sha512-71U3cbZKwxepCpV0+UCsXbQbcNWSfZNsO0BVsLRj4moG0EpdSulr6ZPxHCiYrAQM1TlcqqcAaG9G5EzzaNue1g==","signatures":[{"sig":"MEYCIQDSuW2WnLZ76Uyiol8nnLjQzfISPBGGpuDOalGXCakpDQIhAMGwAshArk954go2q4bURuR4XaHv1XwXyVlrgqKf+c4X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113885350},"type":"module","_from":"file:/var/www/.config/elowen/plugins-data/sandbox/users/1/workspaces/release-core-gates/.release-artifacts/e7557061/elowen-0.28.32.tgz","engines":{"node":">=22.12.0"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:recovery":"npm run build --silent && node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","test:e2e:recovery:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"_resolved":"/var/www/.config/elowen/plugins-data/sandbox/users/1/workspaces/release-core-gates/.release-artifacts/e7557061/elowen-0.28.32.tgz","overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"_integrity":"sha512-71U3cbZKwxepCpV0+UCsXbQbcNWSfZNsO0BVsLRj4moG0EpdSulr6ZPxHCiYrAQM1TlcqqcAaG9G5EzzaNue1g==","repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.3","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","ipaddr.js":"^2.5.0","proxy-chain":"3.0.0","better-sqlite3":"^11.0.0","puppeteer-core":"25.9.0","@hono/node-server":"^2.0.12","node-html-markdown":"^2.0.0","elowen-plugin-shared":"0.2.1","@earendil-works/pi-ai":"^0.84.3","@earendil-works/pi-tui":"^0.84.3","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"^0.84.3"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.10.0","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.32_1788632570229_0.04222554547591639","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.42":{"name":"elowen","version":"0.28.42","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.42","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"f3e82e02edcbd914cbcf6d6ccf2ac6dddbf17e90","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.42.tgz","fileCount":3774,"integrity":"sha512-jkl9SHPbTQPPuOxfN69o5+gcnpYO5xagNGXsm3IZM20vsLd+EZKWLLfB1Tie7f89NRM8saGzG2tpKfTlK4hYfg==","signatures":[{"sig":"MEUCIDhAmsqJxdVG1Z7+PEAo6fx1zIYeKb8/OJVU14BS8hkwAiEAuvNy7TiUzn3VYWpsTrb+kAYBJz0a0DDbYrgJ4ZaJqaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEyta1NVq2zK6Q8Lu4Gf9zC2rLWZk6cfzyHMCwT8toZeAiAegBh4o3mkPb8Hb8QgYPtd0Nz+wKb2hNT8ojcA8Aoe4A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113629444},"type":"module","engines":{"node":">=22.12.0"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"gitHead":"8b11d33ef460726ec1fdc868df2cb85fad87d850","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","dupes":"jscpd .","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:recovery":"npm run build --silent && node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","brain:fork-prefix-check":"node scripts/fork-prefix-check.mjs","test:e2e:recovery:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:web-environment":"npm --prefix web run e2e -- tests/e2e/specs/projects.environment.e2e.ts --project=authed","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.3","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","undici":"^6.28.1","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","ipaddr.js":"^2.5.0","proxy-chain":"3.0.0","better-sqlite3":"^11.0.0","puppeteer-core":"25.9.0","@hono/node-server":"^2.0.12","node-html-markdown":"^2.0.0","elowen-plugin-shared":"0.3.0","@earendil-works/pi-ai":"^0.85.1","@earendil-works/pi-tui":"^0.85.1","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"^0.85.1"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","jscpd":"^5.2.0","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","fast-check":"^4.9.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.11.0","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.42_1789197185977_0.9657016419424931","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.44":{"name":"elowen","version":"0.28.44","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.44","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"4a10e8e510e32e06d769209b56e7623b19b5e1b4","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.44.tgz","fileCount":3792,"integrity":"sha512-rMb472p1fVNURcpdf9wlHBymK++bArBXNXtuUdahOawmISZN3jFJlzNJ3qyEUZG1/PNpiJnVPJAbyeuuTLoBvQ==","signatures":[{"sig":"MEYCIQCttx+XPtVwsa7qBIxQIWNkY4igPXzPNeYwQxPgpm5MtgIhANU75Nhfd7TmlQnWgf+gm+nTan3FdFdiqPApLZIYsAA9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCIQFQx60q7dfqvQ3FJD0gCvf3FnXXL/C+iEQfaJ2SNigIgajoBcdNZ1lnwX7YId21vO1dRAmM5rAP9VNHICi+0HTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113720342},"type":"module","engines":{"node":">=22.12.0"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"gitHead":"992f9fb93f79af2f457420034660d372b10fa28e","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","dupes":"jscpd .","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","rootfs:build":"node scripts/build-rootfs-artifact.mjs","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","rootfs:verify":"node scripts/build-rootfs-artifact.mjs --all --verify","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:recovery":"npm run build --silent && node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","brain:fork-prefix-check":"node scripts/fork-prefix-check.mjs","test:e2e:recovery:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:web-environment":"npm --prefix web run e2e -- tests/e2e/specs/projects.environment.e2e.ts --project=authed","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.3","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","undici":"^6.28.1","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","ipaddr.js":"^2.5.0","proxy-chain":"3.0.0","better-sqlite3":"^11.0.0","puppeteer-core":"25.9.0","@hono/node-server":"^2.0.12","node-html-markdown":"^2.0.0","elowen-plugin-shared":"0.3.0","@earendil-works/pi-ai":"^0.85.1","@earendil-works/pi-tui":"^0.85.1","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"^0.85.1"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","jscpd":"^5.2.0","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","fast-check":"^4.9.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.11.0","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.44_1789272098973_0.24975659874118872","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.45":{"name":"elowen","version":"0.28.45","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.45","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"9e2303d98518731a4893ba77d3b926b7b3cf0315","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.45.tgz","fileCount":3828,"integrity":"sha512-z/Kwdelr/snmTiNmlK5baaz9xkqSyegbUbi70sbO/Gsbve0yHCcGVBN6nrdYutcARggKSG+DlnYEelUGnQAr/w==","signatures":[{"sig":"MEQCIBhp+8My2+vE7ftIVeCMrniVtErJK2PcyNz82eBA2KnxAiA1JArZxOt7a01hdUNpUvxoDA6QOKzzZIztHsB86EZs/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBEVkVHwlz8f81eH9JHe4Of2AZ858wvX4IfG0Bh5gjEJAiEA49qSQgbzPPCZlkygYmkrdMcYsIMESE5SKEi89IY7TGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113749915},"type":"module","engines":{"node":">=22.12.0"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","dupes":"jscpd .","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","rootfs:build":"node scripts/build-rootfs-artifact.mjs","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","rootfs:verify":"node scripts/build-rootfs-artifact.mjs --all --verify","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:recovery":"npm run build --silent && node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","brain:fork-prefix-check":"node scripts/fork-prefix-check.mjs","test:e2e:recovery:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:web-environment":"npm --prefix web run e2e -- tests/e2e/specs/projects.environment.e2e.ts --project=authed","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.3","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","undici":"^6.28.1","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","ipaddr.js":"^2.5.0","proxy-chain":"3.0.0","better-sqlite3":"^11.0.0","puppeteer-core":"25.9.0","@hono/node-server":"^2.0.12","node-html-markdown":"^2.0.0","elowen-plugin-shared":"0.3.0","@earendil-works/pi-ai":"^0.85.1","@earendil-works/pi-tui":"^0.85.1","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"^0.85.1"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","jscpd":"^5.2.0","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","fast-check":"^4.9.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.11.0","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.45_1789299692154_0.8106321565753218","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.47":{"name":"elowen","version":"0.28.47","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.47","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"cf63cde951050b7dd0d7d2623cb5cf2bcc6079d8","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.47.tgz","fileCount":3976,"integrity":"sha512-DtDhHYoeFzQ2nRuOfO/5H5WfSZejsyYEGW3iY0DAu5loNFOLpUzcN4I/4fw81BjB562XbUidZ2goq++4gakKNA==","signatures":[{"sig":"MEUCIQDbJQ+bmh4doDJijeidSAA3MxvfxRLfj9XsEAlp5dN3kwIgcnkZERsJMrTecEsKhaQmBdbkM/VXYmrxdVNpXBtzLUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHYUbz94+Z5rL2JvIG4YJ5SRuSiRNznt3F4s3yaZ7KxcAiAW5SwnMlt4YitMfjWgz//rJsEB5ZjiUwGL0QGHsozWBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115709143},"type":"module","engines":{"node":">=22.12.0"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"gitHead":"cec950728dcd60755fda267322e7445f24538e4f","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run languages-check","dupes":"jscpd .","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","rootfs:build":"node scripts/build-rootfs-artifact.mjs","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","rootfs:verify":"node scripts/build-rootfs-artifact.mjs --all --verify","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:recovery":"npm run build --silent && node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","brain:fork-prefix-check":"node scripts/fork-prefix-check.mjs","test:e2e:recovery:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:web-environment":"npm --prefix web run e2e -- tests/e2e/specs/projects.environment.e2e.ts --project=authed","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"ws":"^8.21.3","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","undici":"^6.28.1","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","ipaddr.js":"^2.5.0","proxy-chain":"3.0.0","better-sqlite3":"^11.0.0","puppeteer-core":"25.9.0","@hono/node-server":"^2.0.12","node-html-markdown":"^2.0.0","elowen-plugin-shared":"0.3.0","@earendil-works/pi-ai":"^0.85.1","@earendil-works/pi-tui":"^0.85.1","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"^0.85.1"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","jscpd":"^5.2.0","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","fast-check":"^4.9.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.11.0","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.47_1789507511300_0.9673945650721321","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.49":{"name":"elowen","version":"0.28.49","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.49","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"ab61ade8ec6f71f90fe7ace417339db1bb00f3aa","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.49.tgz","fileCount":4003,"integrity":"sha512-d3hlxz5DKAPf264zJwj8TuMl7/o01WWI8UlKs9VmSIP9dnc7HXlv4b3+Hn9BziG3fUOT0pKkJPHdjSfOxh40eg==","signatures":[{"sig":"MEUCIDj40AXQ0bc7uRPOYGhjlYVsKCBXvYylgxWm8HGPmPT0AiEAxEYjeY4Kq5Cs9UKkWlfjAShYJmNpZNj422HHmqwHbpA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIErXxePNKPKXu/t6Dt59SxwagipKm5MZ6xGmrJYaFF3gAiAHX6BlrGQG/EmMplMwhQf/kbqzDLqf2o2heprEabIz2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":115185965},"type":"module","engines":{"node":">=22.12.0"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"gitHead":"3902ccd3b96a33cede9bb719f576c629fae06c8c","scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run check:plugins-web && npm run languages-check","dupes":"jscpd .","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","rootfs:build":"node scripts/build-rootfs-artifact.mjs","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","rootfs:verify":"node scripts/build-rootfs-artifact.mjs --all --verify","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","check:plugins-web":"tsc -p tsconfig.plugins-web.json --noEmit","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:recovery":"npm run build --silent && node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","brain:fork-prefix-check":"node scripts/fork-prefix-check.mjs","test:e2e:recovery:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:web-environment":"npm --prefix web run e2e -- tests/e2e/specs/projects.environment.e2e.ts --project=authed","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.5","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.21.3","zod":"^4.4.3","hono":"^4.6.0","jose":"^5.10.0","yaml":"^2.9.0","shiki":"^4.3.1","grammy":"^1.44.0","qrcode":"^1.5.4","undici":"^6.28.1","baileys":"^7.0.0-rc13","typebox":"^1.1.38","web-push":"^3.6.7","ipaddr.js":"^2.5.0","proxy-chain":"3.0.0","better-sqlite3":"^11.0.0","puppeteer-core":"25.9.0","@hono/node-server":"^2.0.12","node-html-markdown":"^2.0.0","elowen-plugin-shared":"0.3.1","@earendil-works/pi-ai":"^0.85.1","@earendil-works/pi-tui":"^0.85.1","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"^0.85.1"},"_hasShrinkwrap":false,"devDependencies":{"knip":"^6.17.1","jscpd":"^5.2.0","eslint":"^10.8.0","vitest":"^4.1.10","globals":"^17.8.0","@types/ws":"^8.18.1","fast-check":"^4.9.0","typescript":"^5.6.0","@types/node":"^22.0.0","@types/web-push":"^3.6.4","typescript-eslint":"^8.62.0","dependency-cruiser":"^17.4.3","elowen-plugin-ui-kit":"0.13.2","@types/better-sqlite3":"^7.6.0","@next/eslint-plugin-next":"^16.2.12","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.49_1789679334683_0.9984230108422367","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.52":{"name":"elowen","version":"0.28.52","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.52","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"e1c6b981088d11ad7dc04cbbfffe8f75d3bb9fec","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.52.tgz","fileCount":4099,"integrity":"sha512-c0K37RnH+wy9IizO7SXuI7QHU1xh95b33+vyUGDGNwOab2i40J3VTOO9Ed8PkDhCRnW8wvI7JY2fvaqDkVN74g==","signatures":[{"sig":"MEQCIGhIVERLH3vYpxQ7xwE9pKT7Hyqi6P8lHbpNUO3I9J4fAiAu92hpeGjlZu+59dwIKAlR35koMpfCVxQwjP5HzE0zMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117160158},"type":"module","_from":"file:elowen-0.28.52.tgz","engines":{"node":">=22.12.0"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run check:plugins-web && npm run languages-check","dupes":"jscpd .","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","rootfs:build":"node scripts/build-rootfs-artifact.mjs","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","deadcode:prod":"knip --production","rootfs:verify":"node scripts/build-rootfs-artifact.mjs --all --verify","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","check:plugins-web":"tsc -p tsconfig.plugins-web.json --noEmit","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:recovery":"npm run build --silent && node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","validate:packages":"node scripts/validate-packages.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","brain:fork-prefix-check":"node scripts/fork-prefix-check.mjs","db:rebuild-usage-rollup":"node dist/cli/rebuildBrainUsageRollup.js","test:e2e:recovery:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:web-environment":"npm --prefix web run e2e -- tests/e2e/specs/projects.environment.e2e.ts --project=authed","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev","approver":{"name":"dragocz","email":"filip@dragocz.dev"}},"_resolved":"/var/www/.config/elowen/plans/release-0.28.52/elowen-0.28.52.tgz","overrides":{"protobufjs":"^7.6.6","@hono/node-server":"$@hono/node-server"},"_integrity":"sha512-c0K37RnH+wy9IizO7SXuI7QHU1xh95b33+vyUGDGNwOab2i40J3VTOO9Ed8PkDhCRnW8wvI7JY2fvaqDkVN74g==","repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"12.0.2","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.21.3","zod":"^4.6.5","hono":"^4.13.8","jose":"^6.2.12","yaml":"^2.9.1","shiki":"^4.4.3","tldts":"^6.1.86","grammy":"^1.46.0","qrcode":"^1.5.4","undici":"^7.29.1","baileys":"^7.0.0-rc14","typebox":"^1.3.34","web-push":"^3.6.7","ipaddr.js":"^2.5.0","proxy-chain":"3.0.1","better-sqlite3":"^13.0.3","puppeteer-core":"25.11.0","@hono/node-server":"^2.1.1","node-html-markdown":"^2.0.0","elowen-plugin-shared":"0.3.2","@earendil-works/pi-ai":"0.86.1","@earendil-works/pi-tui":"0.86.1","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"0.86.1"},"_hasShrinkwrap":false,"devDependencies":{"knip":"~6.34.0","jscpd":"^5.3.0","eslint":"^10.11.0","vitest":"^5.0.1","globals":"^17.12.0","publint":"^0.3.24","@types/ws":"^8.18.1","fast-check":"^4.10.1","typescript":"^6.0.3","@types/node":"^22.0.0","@types/web-push":"^3.6.4","fast-xml-parser":"^5.7.3","typescript-eslint":"^8.70.0","dependency-cruiser":"^18.3.1","elowen-plugin-ui-kit":"0.14.0","@types/better-sqlite3":"^9.6.0","@next/eslint-plugin-next":"^16.3.5","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.52_1790141071196_0.746648764147934","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.54":{"name":"elowen","version":"0.28.54","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.54","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"e909d92150f238c09b9016e17ce5504cdbe7779d","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.54.tgz","fileCount":4148,"integrity":"sha512-8kHaeeMwU1wT1n3AwmhD0JbrBx075YV2oQNsfc8L7rfsMZ7VW3R3sWL7gfksu1NYMcDG7cWBx0KUE3oo9ApP0A==","signatures":[{"sig":"MEUCIQCrm7m2hTVmexABMIV3h/5JvO3TUDOzIIuU0cSGi4h94QIgHJBwAojRJtubGi0iYHFj9tmr452CCgU5LqQhe8M2tww=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDogImc/FJEZ+oEUc11Rm9NGusWM+iOOzqbNUgQGj9VRQIgScOgHj+V+AHiCXaOVuhGWWoyBigXylCUdn55efhRI7E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117434605},"type":"module","engines":{"node":">=22.12.0"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && npm run build:assets --silent","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run check:plugins-web && npm run languages-check","dupes":"jscpd .","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","build:assets":"cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","rootfs:build":"node scripts/build-rootfs-artifact.mjs","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","deadcode:prod":"knip --production","rootfs:verify":"node scripts/build-rootfs-artifact.mjs --all --verify","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","check:plugins-web":"tsc -p tsconfig.plugins-web.json --noEmit","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:recovery":"npm run build --silent && node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","validate:packages":"node scripts/validate-packages.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","brain:fork-prefix-check":"node scripts/fork-prefix-check.mjs","db:rebuild-usage-rollup":"node dist/cli/rebuildBrainUsageRollup.js","test:e2e:recovery:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:web-environment":"npm --prefix web run e2e -- tests/e2e/specs/projects.environment.e2e.ts --project=authed","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"overrides":{"protobufjs":"^7.6.6","@hono/node-server":"$@hono/node-server"},"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.21.3","zod":"^4.6.5","hono":"^4.13.8","jose":"^6.2.12","yaml":"^2.9.1","shiki":"^4.4.3","tldts":"^6.1.86","grammy":"^1.46.0","qrcode":"^1.5.4","undici":"^7.29.1","baileys":"^7.0.0-rc14","typebox":"^1.3.34","web-push":"^3.6.7","ipaddr.js":"^2.5.0","proxy-chain":"3.0.1","better-sqlite3":"^13.0.3","puppeteer-core":"25.11.0","@hono/node-server":"^2.1.1","node-html-markdown":"^2.0.0","elowen-plugin-shared":"0.4.0","@earendil-works/pi-ai":"0.87.1","@earendil-works/pi-tui":"0.87.1","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"0.87.1"},"_hasShrinkwrap":false,"devDependencies":{"knip":"~6.34.0","jscpd":"^5.3.0","eslint":"^10.11.0","vitest":"^5.0.1","globals":"^17.12.0","publint":"^0.3.24","@types/ws":"^8.18.1","fast-check":"^4.10.1","typescript":"^6.0.3","@types/node":"^22.0.0","@types/web-push":"^3.6.4","fast-xml-parser":"^5.7.3","typescript-eslint":"^8.70.0","dependency-cruiser":"^18.3.1","elowen-plugin-ui-kit":"0.15.0","@types/better-sqlite3":"^9.6.0","@next/eslint-plugin-next":"^16.3.5","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.54_1790273719436_0.48746271981246014","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.55":{"name":"elowen","version":"0.28.55","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.55","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"1e0f0f135feeba2a67027f7179bac0e95ebd57b3","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.55.tgz","fileCount":4156,"integrity":"sha512-hwW73BSCsJ/hwfc0lbDoprHNMCiSFcXvIkP6NssKzahXw/f1umfnKYe49Sl0/I4s0wroWphxrpm/eOOaQR8aFw==","signatures":[{"sig":"MEQCIFCJdZhGJaOotEoykqz5V/YXWo4yWg7+BuYB3mFrmGx7AiAWa/udOo16+ixyhY1zag6oec8W6sZNTKJjswwU3lEydA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICwezUZvn/E0rAsK5yeL9b+iZ7qSw2M4QWJP7CdosxgxAiAkcZA+5+pWQeoiQxC4SlrktP9xajA6gz0U2VQ4NwUiGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117436514},"type":"module","_from":"file:/tmp/elowen-pack/elowen-0.28.55.tgz","engines":{"node":">=22.12.0"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && npm run build:assets --silent","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run check:plugins-web && npm run languages-check","dupes":"jscpd .","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","build:assets":"cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","rootfs:build":"node scripts/build-rootfs-artifact.mjs","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","deadcode:prod":"knip --production","rootfs:verify":"node scripts/build-rootfs-artifact.mjs --all --verify","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","check:plugins-web":"tsc -p tsconfig.plugins-web.json --noEmit","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:recovery":"npm run build --silent && node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","validate:packages":"node scripts/validate-packages.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","brain:fork-prefix-check":"node scripts/fork-prefix-check.mjs","db:rebuild-usage-rollup":"node dist/cli/rebuildBrainUsageRollup.js","test:e2e:recovery:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:web-environment":"npm --prefix web run e2e -- tests/e2e/specs/projects.environment.e2e.ts --project=authed","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"_resolved":"/tmp/elowen-pack/elowen-0.28.55.tgz","overrides":{"protobufjs":"^7.6.6","@hono/node-server":"$@hono/node-server"},"_integrity":"sha512-hwW73BSCsJ/hwfc0lbDoprHNMCiSFcXvIkP6NssKzahXw/f1umfnKYe49Sl0/I4s0wroWphxrpm/eOOaQR8aFw==","repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.21.3","zod":"^4.6.5","hono":"^4.13.8","jose":"^6.2.12","yaml":"^2.9.1","shiki":"^4.4.3","tldts":"^6.1.86","grammy":"^1.46.0","qrcode":"^1.5.4","undici":"^7.29.1","baileys":"^7.0.0-rc14","typebox":"^1.3.34","web-push":"^3.6.7","ipaddr.js":"^2.5.0","proxy-chain":"3.0.1","better-sqlite3":"^13.0.3","puppeteer-core":"25.11.0","@hono/node-server":"^2.1.1","node-html-markdown":"^2.0.0","elowen-plugin-shared":"0.5.0","@earendil-works/pi-ai":"0.87.1","@earendil-works/pi-tui":"0.87.1","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"0.87.1"},"_hasShrinkwrap":false,"devDependencies":{"knip":"~6.34.0","jscpd":"^5.3.0","eslint":"^10.11.0","vitest":"^5.0.1","globals":"^17.12.0","publint":"^0.3.24","@types/ws":"^8.18.1","fast-check":"^4.10.1","typescript":"^6.0.3","@types/node":"^22.0.0","@types/web-push":"^3.6.4","fast-xml-parser":"^5.7.3","typescript-eslint":"^8.70.0","dependency-cruiser":"^18.3.1","elowen-plugin-ui-kit":"0.16.0","@types/better-sqlite3":"^9.6.0","@next/eslint-plugin-next":"^16.3.5","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.55_1790322427163_0.5085073844853312","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"},"0.28.56":{"name":"elowen","version":"0.28.56","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"license":"MIT","_id":"elowen@0.28.56","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"homepage":"https://github.com/dragocz95/elowen#readme","bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"bin":{"elo":"dist/cli/bin.js","elowen":"dist/cli/bin.js"},"dist":{"shasum":"c46595e222721b80f6925fc9a8e2caedcc870516","tarball":"https://registry.npmjs.org/elowen/-/elowen-0.28.56.tgz","fileCount":4162,"integrity":"sha512-k6Ys0hAzZuALx1fjbfW9jtosV3jEsyY/9HG3g4rvwcoZqjZS491Qh0ioY0NrMKetVzu/3RFEDhsFMePiqFoZDA==","signatures":[{"sig":"MEUCIFKf9eVkCR+q7u/wqHoHUF9ZeQNlFachtGiqGi9oLfY5AiEA9YJg69vRV5zmk6XINjE3B4clbw9X0IG/6DGrgjCn0UI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICP53Yf/8swpJHvYmr/+66QjoA/wZDEtH0MVUVQ6vXu9AiBLZ28u0ugKimsn49tATmT69AGDH8tsBeqfRIvXf9M/OA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117439585},"type":"module","_from":"file:/tmp/elowen-pack/elowen-0.28.56.tgz","engines":{"node":">=22.12.0"},"exports":{"./dist/*":"./dist/*","./plugins/*":"./plugins/*","./plugin-api":{"types":"./dist/plugins/api.d.ts","default":"./dist/plugins/api.js"},"./package.json":"./package.json"},"scripts":{"lint":"eslint .","test":"vitest run","build":"npm run build:ts --silent && npm run build:plugins-web --silent && npm run build:assets --silent","check":"npm run lint && npm run deadcode && npm run depcruise && npm run typecheck && npm run check:plugins-web && npm run languages-check","dupes":"jscpd .","serve":"node --experimental-strip-types src/daemon/index.ts","build:ts":"tsc -b tsconfig.json $(ls tsconfig.plugins.*.json 2>/dev/null)","deadcode":"knip","depgraph":"depcruise src web plugins --config .dependency-cruiser.cjs --output-type dot | dot -T svg -o dependency-graph.svg","lint:fix":"eslint . --fix","prebuild":"npm run languages-check --silent && node scripts/dist-integrity.mjs clean","build:web":"node scripts/build-web-bundle.mjs","depcruise":"depcruise src web plugins --config .dependency-cruiser.cjs","postbuild":"node scripts/dist-integrity.mjs chmod-bins && node scripts/dist-integrity.mjs verify","typecheck":"tsc -p tsconfig.json --noEmit","check:dist":"node scripts/dist-integrity.mjs verify","test:watch":"vitest","build:assets":"cp src/store/schema.sql dist/store/ && cp -r prompts dist/ && cp -r plugins dist/","rootfs:build":"node scripts/build-rootfs-artifact.mjs","test:e2e:api":"npm run build --silent && node scripts/tests/api-e2e/run.mjs","test:e2e:web":"npm run build --silent && npm run build:web && node scripts/tests/web-e2e/run.mjs","test:install":"node scripts/install-smoke/run.mjs","deadcode:prod":"knip --production","rootfs:verify":"node scripts/build-rootfs-artifact.mjs --all --verify","test:cli-tmux":"npm run build --silent && npm run test:cli-tmux:built","models:refresh":"node scripts/refresh-model-capabilities.mjs","prepublishOnly":"npm run build && npm run build:web","test:e2e:brain":"npm run build --silent && node scripts/tests/brain-e2e/chat-turn.mjs","test:e2e:hooks":"npm run build --silent && node scripts/tests/hooks-e2e/run.mjs","languages-check":"node --experimental-strip-types --no-warnings scripts/check-languages.mjs","test:e2e:parity":"node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","build:plugins-web":"node scripts/build-plugins-web.mjs","check:plugins-web":"tsc -p tsconfig.plugins-web.json --noEmit","test:e2e:delegate":"npm run build --silent && node scripts/tests/delegate-e2e/run.mjs","test:e2e:lazy-mcp":"npm run build --silent && node scripts/tests/subagent-lazy-mcp/run.mjs","test:e2e:recovery":"npm run build --silent && node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent":"npm run build --silent && node scripts/tests/subagent-e2e/run.mjs","test:e2e:workflow":"npm run build --silent && node scripts/tests/workflow-e2e/run.mjs","validate:packages":"node scripts/validate-packages.mjs","test:cli-tmux:goal":"npm run build --silent && node scripts/tests/cli-tmux-goal.mjs","test:cli-tmux:stop":"npm run build --silent && node scripts/tests/cli-tmux-stop-escalation.mjs","test:e2e:migration":"npm run build --silent && node scripts/tests/migration-e2e/run.mjs","test:e2e:stop-kill":"npm run build --silent && node scripts/tests/brain-e2e/stop-kill.mjs","test:cli-tmux:built":"node scripts/tests/cli-tmux-built.mjs","test:e2e:continuity":"npm run build --silent && node scripts/tests/continuity-e2e/run.mjs","test:e2e:parity:mcp":"ELOWEN_PARITY_MCP=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","db:prune-stale-models":"node --experimental-strip-types --no-warnings scripts/prune-stale-brain-models.mjs","test:cli-tmux:analyze":"node scripts/tests/cli-tmux-analyze.mjs","test:e2e:parity:runner":"ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline.json","brain:fork-prefix-check":"node scripts/fork-prefix-check.mjs","db:rebuild-usage-rollup":"node dist/cli/rebuildBrainUsageRollup.js","test:e2e:recovery:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/recovery-e2e/run.mjs","test:e2e:subagent:runner":"npm run build --silent && ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-e2e/run.mjs","test:e2e:web-environment":"npm --prefix web run e2e -- tests/e2e/specs/projects.environment.e2e.ts --project=authed","db:inspect-retired-domains":"node scripts/inspect-retired-domain-tables.mjs","test:e2e:parity:mcp:runner":"ELOWEN_PARITY_MCP=1 ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp.json","test:e2e:parity:mcp:deferred":"ELOWEN_PARITY_MCP=deferred node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json","test:e2e:parity:mcp:deferred:runner":"ELOWEN_PARITY_MCP=deferred ELOWEN_SUBAGENT_RUNNER=1 node scripts/tests/subagent-parity/run.mjs --check scripts/tests/subagent-parity/baseline-mcp-deferred.json"},"_npmUser":{"name":"dragocz","email":"filip@dragocz.dev"},"_resolved":"/tmp/elowen-pack/elowen-0.28.56.tgz","overrides":{"protobufjs":"^7.6.6","@hono/node-server":"$@hono/node-server"},"_integrity":"sha512-k6Ys0hAzZuALx1fjbfW9jtosV3jEsyY/9HG3g4rvwcoZqjZS491Qh0ioY0NrMKetVzu/3RFEDhsFMePiqFoZDA==","repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"10.9.8","description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"ws":"^8.21.3","zod":"^4.6.5","hono":"^4.13.8","jose":"^6.2.12","yaml":"^2.9.1","shiki":"^4.4.3","tldts":"^6.1.86","grammy":"^1.46.0","qrcode":"^1.5.4","undici":"^7.29.1","baileys":"^7.0.0-rc14","typebox":"^1.3.34","web-push":"^3.6.7","ipaddr.js":"^2.5.0","proxy-chain":"3.0.1","better-sqlite3":"^13.0.3","puppeteer-core":"25.11.0","@hono/node-server":"^2.1.1","node-html-markdown":"^2.0.0","elowen-plugin-shared":"0.5.0","@earendil-works/pi-ai":"0.87.1","@earendil-works/pi-tui":"0.87.1","botframework-connector":"^4.23.3","@modelcontextprotocol/sdk":"^1.30.0","@earendil-works/pi-coding-agent":"0.87.1"},"_hasShrinkwrap":false,"devDependencies":{"knip":"~6.34.0","jscpd":"^5.3.0","eslint":"^10.11.0","vitest":"^5.0.1","globals":"^17.12.0","publint":"^0.3.24","@types/ws":"^8.18.1","fast-check":"^4.10.1","typescript":"^6.0.3","@types/node":"^22.0.0","@types/web-push":"^3.6.4","fast-xml-parser":"^5.7.3","typescript-eslint":"^8.70.0","dependency-cruiser":"^18.3.1","elowen-plugin-ui-kit":"0.16.0","@types/better-sqlite3":"^9.6.0","@next/eslint-plugin-next":"^16.3.5","eslint-plugin-react-hooks":"^7.1.1","eslint-plugin-unused-imports":"^4.4.1"},"optionalDependencies":{"node-pty":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/elowen_0.28.56_1790329520178_0.10688524154631196","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Elowen is no longer published on npm. Existing installs keep working. For a licence and updates see https://coresynth.io"}},"time":{"created":"2026-07-08T16:06:52.559Z","modified":"2026-09-25T20:15:17.800Z","0.12.0":"2026-07-08T16:06:53.398Z","0.20.0":"2026-07-09T10:34:59.628Z","0.20.1":"2026-07-09T11:39:56.763Z","0.27.2":"2026-07-12T12:23:57.064Z","0.27.3":"2026-07-15T10:51:39.455Z","0.27.4":"2026-07-17T08:22:50.155Z","0.27.5":"2026-07-17T08:59:17.519Z","0.27.6":"2026-07-17T09:10:16.906Z","0.27.7":"2026-07-18T17:54:53.509Z","0.27.71":"2026-07-19T18:25:24.541Z","0.27.72":"2026-07-20T14:24:56.786Z","0.27.73":"2026-07-20T19:04:33.270Z","0.27.75":"2026-07-22T19:32:06.341Z","0.28.0":"2026-07-23T13:52:47.829Z","0.27.76":"2026-07-23T15:49:42.217Z","0.27.77":"2026-07-23T16:41:54.812Z","0.27.78":"2026-07-27T14:39:16.330Z","0.27.79":"2026-07-31T06:13:00.859Z","0.27.80":"2026-08-04T04:37:52.683Z","0.27.81":"2026-08-07T15:44:51.760Z","0.27.82":"2026-08-10T05:11:15.312Z","0.28.1":"2026-08-14T13:07:33.132Z","0.28.9":"2026-08-22T10:25:25.073Z","0.28.10":"2026-08-22T11:12:50.275Z","0.28.17":"2026-08-27T06:25:11.198Z","0.28.24":"2026-09-02T00:32:41.855Z","0.28.32":"2026-09-05T18:22:50.865Z","0.28.42":"2026-09-12T07:13:06.570Z","0.28.44":"2026-09-13T04:01:39.561Z","0.28.45":"2026-09-13T11:41:32.739Z","0.28.47":"2026-09-15T21:25:11.849Z","0.28.49":"2026-09-17T21:08:55.619Z","0.28.52":"2026-09-23T05:24:31.763Z","0.28.54":"2026-09-24T18:15:20.016Z","0.28.55":"2026-09-25T07:47:07.752Z","0.28.56":"2026-09-25T09:45:20.762Z"},"bugs":{"url":"https://github.com/dragocz95/elowen/issues"},"license":"MIT","homepage":"https://github.com/dragocz95/elowen#readme","keywords":["ai","agent","personal-agent","self-hosted","automation","plugins","llm","cli","tmux"],"repository":{"url":"git+https://github.com/dragocz95/elowen.git","type":"git"},"description":"Elowen is a self-hosted personal AI agent you talk to: chat, act, automate and extend from the CLI, web, Discord, Telegram, Microsoft Teams or WhatsApp.","maintainers":[{"name":"dragocz","email":"filip@dragocz.dev"}],"readme":"<div align=\"center\">\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/brand/elowen-logo-white.png\">\n  <img alt=\"Elowen\" src=\"docs/brand/elowen-mark.png\" width=\"320\">\n</picture>\n\n**A self-hosted AI agent you can talk to, steer, and trust with real work.**\n\n`Chat · Act · Automate · Extend`\n\n[![CI](https://github.com/dragocz95/elowen/actions/workflows/ci.yml/badge.svg)](https://github.com/dragocz95/elowen/actions/workflows/ci.yml)\n[![npm](https://img.shields.io/npm/v/elowen?color=cb3837&logo=npm)](https://www.npmjs.com/package/elowen)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE)\n[![Node](https://img.shields.io/badge/node-%3E%3D22-43853d.svg?logo=node.js&logoColor=white)](https://nodejs.org)\n\n[**Manual**](https://elowen.run) · [Getting started](./docs/site/01-getting-started.md) · [CLI](./docs/site/06-cli.md) · [Architecture](./docs/ARCHITECTURE.md)\n\n</div>\n\n---\n\nElowen is a self-hosted personal AI agent. It gives you one persistent workspace across the terminal, Web UI, Discord, Telegram, Microsoft Teams, and WhatsApp, with shared projects, permissions, tools, and conversation state.\n\nIt can investigate repositories, edit files, use a terminal, remember durable context, plan longer jobs, delegate focused work, and pause when a decision belongs to you. A Node.js daemon, SQLite, Next.js Web UI, and manifest-driven plugins keep the system inspectable and extensible.\n\n## What it can do\n\n- **Chat and act:** stream answers, inspect and edit project files, run commands, review diffs, manage tasks, and request approval for sensitive work.\n- **Code mode:** optionally expose one `exec` tool that runs JavaScript and reaches the other tools through a `tools` object. It is off by default, available on supported OpenAI Responses and ChatGPT OAuth connections, and preserves the same permission and approval checks as direct calls.\n- **Skills:** load reusable workflows and instructions, list available skills, and create or remove personal skills through the Skills plugin.\n- **Sub-agents:** delegate focused work to another model or provider while keeping status, tool activity, and results attached to the parent conversation.\n- **Workflows:** run a dependency graph of sub-agents, with independent nodes in parallel, direct handovers between dependent nodes, and a model choice per node.\n- **Plugins:** add tools, pages, settings, integrations, skills, scheduled jobs, and channels through a declared, deny-by-default plugin boundary.\n- **Memory and projects:** keep account-private durable memory, optionally share memory pools within Projects, and carry Git and project context across interfaces.\n- **Scheduling:** create recurring jobs or one-shot wake-ups using your local timezone.\n\nSee the [manual](https://elowen.run) for the complete feature and plugin reference.\n\n## Install and start\n\nRequirements: Node.js 22.12 or newer. Install `tmux` when delegated agents or integrations need external command-line tools.\n\nOn Debian or Ubuntu, macOS with Homebrew, or Windows through WSL2, the installer provisions the package and local services:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/dragocz95/elowen/main/install.sh | bash\n```\n\nOn Windows, run the installer from an elevated PowerShell:\n\n```powershell\nirm https://raw.githubusercontent.com/dragocz95/elowen/main/install.ps1 | iex\n```\n\nIf Node.js and `tmux` are already installed:\n\n```bash\nnpm install -g elowen\nelowen setup\nelowen up\nelowen chat\n```\n\n`elowen setup` connects an AI provider and configures the first account. Use `elowen status` to check the daemon and Web UI, or `elowen doctor` for readiness diagnostics.\n\nFor a single non-interactive turn:\n\n```bash\nelowen run \"review this repository\"\n```\n\nMore installation details, provider setup, and operating-system notes are in the [installation guide](./docs/site/02-install.md).\n\n## Interfaces\n\n| Surface | Purpose |\n|---|---|\n| Terminal | Full chat with streaming, tools, diffs, approvals, tasks, sub-agent activity, and session commands |\n| Web UI | Chat, Projects, Memory, Settings, Users, and pages supplied by enabled plugins |\n| Discord, Telegram, Microsoft Teams, WhatsApp | Access the same agent and conversation model from supported chat platforms |\n\n## Documentation\n\nThe user manual is published at [elowen.run](https://elowen.run) and shipped in [`docs/site`](./docs/site/).\n\n- [Getting started](./docs/site/01-getting-started.md)\n- [Installation](./docs/site/02-install.md)\n- [Brain and chat](./docs/site/09-brain-chat.md)\n- [Agents, sub-agents, and workflows](./docs/site/13-tasks-missions.md)\n- [Channels](./docs/site/18-channels.md)\n- [Plugins](./docs/site/23-plugins.md)\n- [Configuration](./docs/site/26-configuration.md)\n- [Projects and Git](./docs/site/16-projects-workflow.md)\n\nThe [developer documentation index](./docs/index.md) links the architecture, API, CLI, Web UI, security, testing, deployment, and plugin-development references.\n\n## Contributing\n\nRead [CONTRIBUTING.md](./CONTRIBUTING.md), install dependencies, then run the relevant checks:\n\n```bash\nnpm ci\nnpm ci --prefix web\nnpm run check\nnpm test\nnpm --prefix web test\n```\n\nKeep pull requests focused, add tests for behavior changes, and describe the motivation and verification. Plugin changes belong in the repository that owns the plugin. The [plugin development guide](./docs/PLUGIN_DEV.md) documents the manifest, API, tool, settings, and UI contracts.\n\n## License\n\n[MIT](./LICENSE) © the Elowen authors\n","readmeFilename":"README.md"}