{ "name": "chickpea", "version": "0.1.43", "private": true, "description": "Self-hosted, model-agnostic AI agent for Slack.", "license": "Apache-2.0", "repository": { "type": "git", "url": "git+https://github.com/pejmanjohn/chickpea.git" }, "files": [ ".agents/skills/chickpea-live-verification", ".claude/skills/chickpea-live-verification", ".dev.vars.example", ".env.example", ".nvmrc", "AGENTS.md", "LICENSE", "NOTICE", "README.md", "CONTRIBUTING.md", "SECURITY.md", "AGENTS.md", "SETUP_AGENT.md", "INSTALL_CHICKPEA_CLOUDFLARE.md", "INSTALL_CHICKPEA_NODE.md", "UPDATE_CHICKPEA_CLOUDFLARE.md", "UNINSTALL_CHICKPEA_CLOUDFLARE.md", "TELEMETRY.md", "assets", "!assets/chickpea", "catalog", "config/environments/qa/desired-state.json", "config/environments/qa/workspace-recipe.json", "docs/authentication.md", "docs/shared-gateway-data-handling.md", "docs/runbooks/auth-db-deployment.md", "docs/runbooks/operations.md", "docs/runbooks/releasing.md", "docs/runbooks/upgrading.md", "docs/runbooks/coding-sandbox-deployment.md", "docs/runbooks/composio-managed-connectors.md", "docs/runbooks/price-review.md", "docs/runbooks/meta-ads-connector.md", "docs/runbooks/product-telemetry.md", "docs/runbooks/runtime-observability.md", "docs/runbooks/slack-message-identity.md", "docs/runbooks/gateway-http-delivery.md", "docs/runbooks/local-worker-development.md", "docs/runbooks/parallel-live-test-environments.md", "docs/runbooks/live-contract-acceptance-v1.md", "docs/runbooks/live-contract-verification.md", "docs/runbooks/agent-authoring-evaluation.md", "docs/runbooks/agent-first-acceptance-2026-08-21.md", "docs/runbooks/slack-auth-recovery.md", "docs/runbooks/slack-lists.md", "docs/runbooks/slack-group-dms.md", "docs/runbooks/slack-canvases.md", "docs/runbooks/slack-channels.md", "docs/runbooks/slack-steering.md", "docs/runbooks/workspace-management-mcp.md", "evals", "fixtures", "migrations", "qa/live", "packages/cli", "scripts", "!scripts/art", "!scripts/chickpea-art.mjs", "src", "tests", "types", "flue.config.ts", "vite.config.ts", "vite.node.config.ts", "slack-app-manifest.json", "hosted-capabilities.json", "tsconfig.json", "wrangler.jsonc", "release.json", "release-source.json", ".gitattributes" ], "type": "module", "workspaces": [ "packages/cli" ], "imports": { "#chickpea-assets": { "workerd": "./src/assets/read.cloudflare.ts", "default": "./src/assets/read.node.ts" } }, "engines": { "node": ">=24.22.1 <25" }, "overrides": { "@earendil-works/pi-agent-core": "1.1.0", "@earendil-works/pi-telemetry": "1.1.0", "@flue/slack": { "hono": "4.13.13" }, "agents": { "@modelcontextprotocol/sdk": "$@modelcontextprotocol/sdk", "@modelcontextprotocol/server": "$@modelcontextprotocol/server" }, "proxy-addr": "2.0.8", "smol-toml": "1.9.1", "source-map-js": "1.2.2" }, "scripts": { "test": "DO_NOT_TRACK=1 node scripts/run-tests.mjs --typecheck tests/*.test.ts tests/usage/*.test.ts && npm test --workspace packages/cli", "test:ci": "TAG_REQUIRE_LOOPBACK=1 npm test", "test:mcp": "DO_NOT_TRACK=1 node scripts/test-mcp.mjs", "typecheck": "tsc --noEmit", "fixture:config-storage": "node --import tsx scripts/config-storage-fixture.ts", "dev": "vite dev --config vite.node.config.ts", "start:node": "node -- scripts/start-node.mjs", "dev:cf": "node scripts/chickpea-local-worker.mjs", "flue:build": "vite build --config vite.node.config.ts", "flue:build:cf": "vite build --config vite.config.ts && node scripts/flue-build-cf.mjs --validate-only && node scripts/verify-worker-size.mjs", "build": "npm run flue:build:cf", "build:sandbox": "node scripts/cloudflare-deployment-profile.mjs sandbox build", "deploy": "node scripts/deploy-with-epilogue.mjs", "deploy:sandbox": "node scripts/cloudflare-deployment-profile.mjs sandbox deploy", "lane:secrets": "node scripts/lib/lane-secrets.mjs", "lane:seed": "node scripts/lane-seed.mjs", "lane:browser": "node scripts/lane-browser.mjs", "lane:tail": "node scripts/lane-tail.mjs", "lane:slack": "node scripts/lane-slack.mjs", "setup:link": "node scripts/create-setup-link.mjs", "verify:worker-size": "node scripts/verify-worker-size.mjs", "verify:worker-closure": "node scripts/worker-closure.mjs", "verify:budgets": "npm run build && npm run verify:worker-closure && DO_NOT_TRACK=1 node scripts/run-tests.mjs tests/worker-startup-imports.test.ts", "verify:train": "npm run verify:budgets && npm test", "verify:cf-smoke": "node scripts/verify-cf-smoke.mjs", "verify:cf-smoke:alarm": "SMOKE_TURN_EXECUTOR=alarm node scripts/verify-cf-smoke.mjs", "perf:slack-turn": "node scripts/perf-slack-turn.mjs", "verify:gateway-live": "node --import tsx scripts/verify-shared-gateway-live.mjs", "verify:run-foundation": "node scripts/verify-run-foundation.mjs", "verify:admin-ui": "node scripts/verify-admin-ui.mjs", "verify:regression": "node scripts/verify-regression.mjs", "diagnose": "node --import tsx scripts/diagnose-request.mjs", "admin:visual-fixture": "node scripts/serve-admin-visual-fixture.mjs", "verify:durability": "node scripts/verify-durability.mjs", "verify:node-scheduler-offline": "node scripts/verify-node-scheduler-offline.mjs", "verify:node-scheduler-capability": "node scripts/verify-node-scheduler-capability.mjs", "verify:conversation-scale": "node --import tsx scripts/verify-flue-conversation-scale.mjs", "verify:providers": "node scripts/verify-providers.mjs", "verify:management-mcp": "node scripts/verify-management-mcp.mjs", "verify:live:doctor": "node --import tsx qa/live/cli.ts doctor", "verify:live:case": "node --import tsx qa/live/cli.ts case", "verify:live:smoke": "node --import tsx qa/live/cli.ts smoke", "verify:live:deep": "node --import tsx qa/live/cli.ts deep", "evaluate:agent-authoring": "node --import tsx scripts/evaluate-agent-authoring.mjs", "evaluate:agent-authoring:lean": "node --import tsx scripts/evaluate-agent-authoring.mjs --mount lean", "evaluate:schedule-contract": "node --import tsx scripts/evaluate-schedule-contract.mjs", "evaluate:slack-presentation": "node --import tsx scripts/evaluate-slack-presentation.mjs", "evaluate:slack-approval-intent": "node --import tsx scripts/evaluate-slack-approval-intent.mjs", "verify:host": "node scripts/verify-host.mjs", "verify:telemetry": "node scripts/verify-product-telemetry.mjs", "evaluate:agent-authoring:live": "node --import tsx scripts/evaluate-agent-authoring.mjs --live", "evaluate:slack-presentation:live": "node --import tsx scripts/evaluate-slack-presentation.mjs --live", "evaluate:slack-approval-intent:live": "node --import tsx scripts/evaluate-slack-approval-intent.mjs --live", "verify:composio:live": "node --import tsx scripts/verify-composio-managed-gmail.mjs", "verify:composio-gmail:live": "node --import tsx scripts/verify-composio-managed-gmail.mjs", "verify:providers:live": "node scripts/verify-providers-live.mjs", "verify:openai-subscription-protocol": "node --import tsx scripts/verify-openai-subscription-protocol.mjs", "verify:openai-subscription:live": "node scripts/verify-openai-subscription-live.mjs", "verify:openai-subscription-runtime:live": "node --import tsx scripts/verify-openai-subscription-runtime-live.mjs", "verify:openai-subscription-slack:live": "node scripts/verify-openai-subscription-slack-live.mjs", "catalog:build": "node --import tsx scripts/build-model-catalog.mjs", "connectors:composio": "node --import tsx scripts/composio-manifests.mjs", "prices:review": "node --import tsx scripts/price-review.mjs", "avatars:build": "node scripts/build-agent-avatar-pool.mjs", "brand:build": "node scripts/build-chickpea-product-mark.mjs", "art:chickpea": "node scripts/chickpea-art.mjs", "catalog:reconcile": "node scripts/reconcile-model-catalog.mjs", "verify:model-catalog": "node --import tsx scripts/verify-model-catalog.mjs", "verify:model-catalog:served": "node scripts/check-model-catalog-freshness.mjs", "verify:model-compatibility:live": "node --import tsx scripts/verify-model-compatibility-live.mjs", "verify:slack-streaming-policy": "node --import tsx scripts/verify-slack-streaming-policy-live.mjs --validate-fixtures", "verify:slack-streaming-policy:live": "node --import tsx scripts/verify-slack-streaming-policy-live.mjs", "verify:oss-export": "node scripts/verify-oss-export.mjs", "verify:lockfile-integrity": "node scripts/verify-lockfile-integrity.mjs", "verify:hygiene": "node scripts/verify-hygiene.mjs", "hooks:install": "git config core.hooksPath .githooks", "env": "node --import tsx scripts/chickpea-environment.mjs", "auth:recover": "node --import tsx scripts/recover-auth.mjs", "slack:bridge": "node scripts/slack-socket-bridge.mjs", "reset:test-env": "node scripts/reset-test-env.mjs", "test:cli": "npm test --workspace packages/cli", "chatgpt-helper:build": "node scripts/build-chatgpt-helper.mjs", "mcp-cards:build": "node scripts/build-mcp-cards.mjs", "mcp-cards:harness": "node --import tsx scripts/mcp-card-harness.mjs", "build:cli": "npm run build --workspace packages/cli", "verify:live:record": "node scripts/verification-record.mjs", "verify:smoke": "node scripts/verify-smoke.mjs", "verify:live:runner-matrix": "node --import tsx qa/live/runner-matrix/cli.ts", "verify:live:candidate": "node scripts/verify-qa-candidate.mjs", "verify:live:kickoff": "node scripts/verify-live-kickoff.mjs", "verify:live:fixtures": "node scripts/verification-fixtures.mjs", "preinstall": "node scripts/lib/node-version.mjs", "pretest": "node scripts/lib/node-version.mjs", "verify:release": "node scripts/verify-release.mjs", "upgrade": "node scripts/upgrade.mjs" }, "allowScripts": { "esbuild@0.28.2": true, "workerd@1.20261006.1": true, "@google/genai@2.21.0": false, "core-js-pure@3.50.0": false, "protobufjs@7.6.6": false, "@mongodb-js/zstd@7.0.0": false, "node-liblzma@2.2.0": false }, "dependencies": { "@better-auth/cimd": "1.7.14", "@better-auth/mcp": "1.7.14", "@cfworker/json-schema": "4.1.1", "@cloudflare/sandbox": "0.12.14", "@composio/core": "0.29.0", "@earendil-works/pi-ai": "1.1.0", "@flue/runtime": "2.3.0", "@flue/slack": "2.3.0", "@modelcontextprotocol/core": "2.4.0", "@modelcontextprotocol/sdk": "1.32.2", "@modelcontextprotocol/server": "2.4.0", "@noble/hashes": "2.4.0", "@slack/web-api": "^8.0.0", "better-auth": "1.7.14", "croner": "10.0.1", "hono": "^4.13.13", "image-in-browser": "3.6.0", "jose": "6.2.8", "just-bash": "3.0.2", "pg": "8.23.1", "unpdf": "1.8.1", "valibot": "^1.4.2", "yaml": "2.9.0", "zod": "4.6.7" }, "devDependencies": { "@cloudflare/vite-plugin": "1.63.1", "@cloudflare/workers-types": "5.20261011.1", "@flue/cli": "2.3.0", "@flue/vite": "2.3.0", "@modelcontextprotocol/client": "2.0.0", "@modelcontextprotocol/ext-apps": "1.7.5", "@openai/mcp-extensions": "0.2.1", "@slack/socket-mode": "^3.1.0", "@slack/types": "3.0.0", "@types/node": "26.0.0", "@types/pg": "8.23.1", "agents": "0.20.1", "sharp": "^0.35.5", "tsx": "^4.22.4", "typescript": "6.0.3", "vite": "^8.1.2", "wrangler": "4.149.0" }, "cloudflare": { "label": "Chickpea", "products": [ "Workers", "Durable Objects", "D1", "Workers AI" ], "categories": [ "ai" ], "bindings": {} } }