{ "name": "bitterbot", "version": "1.10.1", "description": "Personal AI with living memory, dreaming, curiosity, and multi-channel messaging", "keywords": [ "a2a", "agent", "ai", "curiosity", "discord", "dream-engine", "knowledge-crystals", "marketplace", "memory", "multi-channel", "p2p", "telegram", "usdc", "whatsapp", "x402" ], "homepage": "https://about.bitterbot.ai", "bugs": { "url": "https://github.com/Bitterbot-AI/bitterbot-desktop/issues" }, "license": "MIT", "author": "Victor Michael Gil ", "repository": { "type": "git", "url": "https://github.com/Bitterbot-AI/bitterbot-desktop.git" }, "bin": { "bitterbot": "bitterbot.mjs" }, "files": [ "LICENSE", "ATTRIBUTION.md", "bitterbot.mjs", "README-header.png", "README.md", "CHANGELOG.md", "LIMITATIONS.md", "dist/", "docs/agents/", "docs/automation/", "docs/channels/", "docs/cli/", "docs/commerce/", "docs/concepts/", "docs/gateway/", "docs/help/", "docs/marketplace/", "docs/memory/", "docs/network/", "docs/platforms/", "docs/plugins/", "docs/protocol/", "docs/providers/", "docs/public/", "docs/reference/", "docs/start/", "docs/tools/", "docs/wallet/", "docs/web/", "docs/index.md", "docs/logging.md", "docs/observability.md", "docs/traffic-stats.md", "docs/docs.json", "docs/style.css", "docs/Bitterbot_logo.svg", "docs/bitterbot_avatar.png", "extensions/", "skills/", "orchestrator/Cargo.toml", "scripts/preinstall-check.mjs", "scripts/fetch-orchestrator.mjs", "scripts/orchestrator-signature.mjs" ], "type": "module", "main": "dist/index.js", "exports": { ".": "./dist/index.js", "./plugin-sdk": { "types": "./dist/plugin-sdk/index.d.ts", "default": "./dist/plugin-sdk/index.js" }, "./plugin-sdk/account-id": { "types": "./dist/plugin-sdk/account-id.d.ts", "default": "./dist/plugin-sdk/account-id.js" }, "./cli-entry": "./bitterbot.mjs", "./bitterbot-cli-entry": "./bitterbot.mjs" }, "scripts": { "aubaine:demo": "node --import tsx scripts/aubaine-demo.ts", "benchmark:biomemeval": "vitest run --config benchmarks/biomemeval/vitest.config.ts && node --import tsx benchmarks/biomemeval/generate-report.ts", "benchmark:longmemeval": "node --import tsx benchmarks/longmemeval/runner.ts", "benchmark:longmemeval:biological": "node --import tsx benchmarks/longmemeval/runner-biological.ts --oracle", "benchmark:longmemeval:contrastive": "node --import tsx benchmarks/longmemeval/runner-contrastive.ts --oracle --split train", "benchmark:longmemeval:download": "bash benchmarks/longmemeval/download.sh", "benchmark:longmemeval:evaluate": "node --import tsx benchmarks/longmemeval/evaluate.ts", "benchmark:longmemeval:oracle": "node --import tsx benchmarks/longmemeval/runner.ts --oracle", "benchmark:longmemeval:retrieval": "node --import tsx benchmarks/longmemeval/runner-retrieval.ts", "benchmark:skills": "node --import tsx benchmarks/skill-evolution/ablation.ts", "benchmark:skills:check": "node --import tsx benchmarks/skill-evolution/ablation.ts --check", "bitterbot": "node scripts/run-node.mjs", "bitterbot:rpc": "node scripts/run-node.mjs agent --mode rpc --json", "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && pnpm canvas:a2ui:bundle && tsdown && node scripts/build-gateway-entry.mjs && pnpm build:plugin-sdk:dts && node --import tsx scripts/write-plugin-sdk-entry-dts.ts && node --import tsx scripts/canvas-a2ui-copy.ts && node scripts/ui-build.mjs && node --import tsx scripts/copy-hook-metadata.ts && node --import tsx scripts/write-build-info.ts && node --import tsx scripts/write-cli-compat.ts", "build:plugin-sdk:dts": "tsc -p tsconfig.plugin-sdk.dts.json", "canvas:a2ui:bundle": "bash scripts/bundle-a2ui.sh", "census:dump": "node --import tsx scripts/census-dump.ts", "check": "pnpm format:check && pnpm tsgo && pnpm lint", "check:docs": "pnpm format:docs:check && pnpm lint:docs && pnpm docs:check-links && pnpm docs:check-fiction", "check:loc": "node --import tsx scripts/check-ts-max-loc.ts --max 500", "dev": "node scripts/run-node.mjs", "dev:all": "node scripts/dev-all.mjs", "docs:check-fiction": "! git grep -nE 'bitterbot\\.ai/install\\.sh' -- README.md docs && echo 'docs fiction check: OK'", "docs:check-links": "node scripts/docs-link-audit.mjs", "docs:dev": "cd docs && mint dev", "format": "oxfmt --write", "format:check": "oxfmt --check", "format:docs": "git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --write", "format:docs:check": "git ls-files 'docs/**/*.md' 'docs/**/*.mdx' 'README.md' | xargs oxfmt --check", "gateway:watch": "node scripts/watch-node.mjs gateway --force", "lint": "oxlint --type-aware && node desktop/scripts/check-px-text.mjs && node desktop/scripts/check-pubkey-truncation.mjs && node desktop/scripts/check-file-sizes.mjs && node scripts/check-memory-circle-isolation.mjs && node scripts/check-chunk-writes.mjs && node scripts/check-payment-paths.mjs", "lint:docs": "pnpm dlx markdownlint-cli2", "lint:docs:fix": "pnpm dlx markdownlint-cli2 --fix", "lint:fix": "oxlint --type-aware --fix && pnpm format", "postinstall": "node scripts/fetch-orchestrator.mjs", "preinstall": "node scripts/preinstall-check.mjs", "prepack": "pnpm build", "prepare": "command -v git >/dev/null 2>&1 && git rev-parse --is-inside-work-tree >/dev/null 2>&1 && git config core.hooksPath git-hooks || exit 0", "protocol:check": "pnpm protocol:gen && git diff --exit-code -- dist/protocol.schema.json", "protocol:gen": "node --import tsx scripts/protocol-gen.ts", "release:check": "node --import tsx scripts/release-check.ts", "start": "node scripts/run-node.mjs", "start:all": "node scripts/start-all.mjs", "start:gateway:fast": "node scripts/run-gateway-fast.mjs", "test": "node scripts/test-parallel.mjs", "test:all": "pnpm lint && pnpm build && pnpm test && pnpm test:e2e && pnpm test:live", "test:coverage": "vitest run --config vitest.unit.config.ts --coverage", "test:e2e": "vitest run --config vitest.e2e.config.ts", "test:fast": "vitest run --config vitest.unit.config.ts", "test:force": "node --import tsx scripts/test-force.ts", "test:gateway": "vitest run --config vitest.gateway.config.ts", "test:live": "BITTERBOT_LIVE_TEST=1 vitest run --config vitest.live.config.ts", "test:macmini": "BITTERBOT_TEST_VM_FORKS=0 BITTERBOT_TEST_PROFILE=serial node scripts/test-parallel.mjs", "test:watch": "vitest", "tsgo:test": "tsgo -p tsconfig.test.json", "tui": "node scripts/run-node.mjs tui", "tui:dev": "BITTERBOT_PROFILE=dev node scripts/run-node.mjs --dev tui", "ui:build": "node scripts/ui-build.mjs", "version:sync": "node scripts/bump-version.mjs" }, "dependencies": { "@agentclientprotocol/sdk": "0.14.1", "@anthropic-ai/claude-agent-sdk": "^0.3.296", "@anthropic-ai/sdk": "^0.133.0", "@aws-sdk/client-bedrock": "^3.1146.0", "@buape/carbon": "0.17.0", "@clack/prompts": "^1.8.1", "@coinbase/agentkit": "^0.10.4", "@coinbase/cdp-sdk": "^1.57.1", "@grammyjs/runner": "^2.0.3", "@grammyjs/transformer-throttler": "^1.2.1", "@larksuiteoapi/node-sdk": "^1.74.0", "@lydell/node-pty": "1.2.0-beta.15", "@mariozechner/pi-agent-core": "0.73.1", "@mariozechner/pi-ai": "0.73.1", "@modelcontextprotocol/sdk": "^1.32.1", "@mozilla/readability": "^0.6.0", "@opentelemetry/api": "^1.9.1", "@opentelemetry/exporter-trace-otlp-http": "^0.223.0", "@opentelemetry/resources": "^2.11.0", "@opentelemetry/sdk-node": "^0.223.0", "@opentelemetry/semantic-conventions": "^1.43.0", "@sinclair/typebox": "0.34.52", "@slack/bolt": "^4.6.0", "@slack/web-api": "^7.14.1", "@twurple/api": "^8.2.0", "@twurple/auth": "^8.2.0", "@twurple/chat": "^8.2.0", "@whiskeysockets/baileys": "7.0.0-rc14", "ajv": "^8.20.0", "chalk": "^5.6.2", "chokidar": "^5.0.0", "cli-highlight": "^2.1.11", "commander": "^15.0.0", "croner": "^10.0.1", "discord-api-types": "^0.38.56", "dotenv": "^17.3.1", "express": "^5.2.1", "file-type": "^22.1.1", "grammy": "^1.46.0", "https-proxy-agent": "^9.1.0", "imapflow": "^2.2.5", "jiti": "^2.7.0", "json5": "^2.2.3", "jszip": "^3.10.2", "linkedom": "^0.18.13", "long": "^5.3.2", "mailparser": "^3.9.36", "markdown-it": "^14.1.1", "node-edge-tts": "^1.2.10", "nodemailer": "^10.0.15", "osc-progress": "^0.3.4", "pdfjs-dist": "^5.4.624", "playwright": "1.64.0", "playwright-core": "1.64.0", "proper-lockfile": "^4.1.2", "qrcode-terminal": "^0.12.0", "sharp": "^0.35.5", "signal-utils": "^0.21.1", "sqlite-vec": "0.1.9", "stripe": "^20.4.1", "tar": "7.5.22", "tslog": "^4.10.2", "undici": "^7.22.0", "viem": "^2.57.3", "ws": "^8.22.0", "yaml": "^2.9.1", "zod": "^4.6.5" }, "devDependencies": { "@grammyjs/types": "^5.0.0", "@lit-labs/signals": "^0.3.0", "@lit/context": "^1.1.0", "@types/express": "^5.0.6", "@types/markdown-it": "^14.1.2", "@types/node": "^25.2.3", "@types/proper-lockfile": "^4.1.4", "@types/qrcode-terminal": "^0.12.2", "@types/ws": "^8.18.2", "@typescript/native-preview": "7.0.0-dev.20260215.1", "@vitest/coverage-v8": "^4.0.18", "esbuild": "^0.28.2", "lit": "^3.3.3", "ollama": "^0.6.4", "oxfmt": "0.72.0", "oxlint": "^1.87.0", "oxlint-tsgolint": "^7.0.2003", "rolldown": "1.2.13", "tsdown": "^0.23.0", "tsx": "^4.23.15", "typescript": "^5.9.3", "vitest": "^4.0.18" }, "peerDependencies": { "@napi-rs/canvas": "^0.1.89", "node-llama-cpp": "3.15.1" }, "overrides": { "@sinclair/typebox": "$@sinclair/typebox", "fast-xml-parser": "5.3.4", "form-data": "2.5.4", "qs": "6.14.2", "tar": "$tar", "tough-cookie": "4.1.3" }, "engines": { "node": ">=22.12.0" }, "packageManager": "pnpm@10.23.0" }