{"_id":"@emberai/arbitrum-vibekit-core","_rev":"6-d6dd5286bed275a9782d89c31427f0a7","name":"@emberai/arbitrum-vibekit-core","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@emberai/arbitrum-vibekit-core","version":"0.1.0","_id":"@emberai/arbitrum-vibekit-core@0.1.0","maintainers":[{"name":"tomdaniel","email":"admin@emberai.xyz"}],"homepage":"https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/lib/agent-node","bugs":{"url":"https://github.com/EmberAGI/arbitrum-vibekit/issues"},"dist":{"shasum":"8ed74fe5151c2e148676b503b05181f8951de438","tarball":"https://registry.npmjs.org/@emberai/arbitrum-vibekit-core/-/arbitrum-vibekit-core-0.1.0.tgz","fileCount":60,"integrity":"sha512-g8B24asrrGg2s5S3sYpuSz/ztId7MZ9LmfBRLgh9EH3B8tWnitAF4HPQYvR9SVU/7jKfMFlPw2g6yZ9skovKvA==","signatures":[{"sig":"MEQCIQDkc3EMb5nLmVMdhTo6fQx1DhXjosA022V4BtkUGUB2agIfes4pkeVqEdoKSQseDFBKraSXOotuqJTPa9FsPH5rvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":246323},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","gitHead":"b96d067aa907d32a623f310a47353a3b87c0f67d","scripts":{},"_npmUser":{"name":"tomdaniel","email":"admin@emberai.xyz"},"deprecated":"DEPRECATED: Please use agent-node instead. See homepage for migration guide.","repository":{"url":"git+https://github.com/EmberAGI/arbitrum-vibekit.git","type":"git","directory":"typescript/lib/arbitrum-vibekit-core"},"_npmVersion":"10.9.2","description":"DEPRECATED: Core framework for building DeFi agents with MCP. Please use agent-node instead.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ai":"^4.3.2","zod":"^3.24.3","cors":"^2.8.5","viem":"^2.26.3","dotenv":"^16.3.1","nanoid":"^5.0.7","express":"^4.21.2","@ai-sdk/xai":"^1.2.16","escape-html":"^1.0.3","ember-schemas":"^1.0.0","@ai-sdk/openai":"^1.3.22","@google-a2a/types":"^1.0.0","@openzeppelin/contracts":"^5.3.0","@modelcontextprotocol/sdk":"^1.13.1","@hyperbolic/ai-sdk-provider":"^0.1.3","@openrouter/ai-sdk-provider":"^0.4.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"zod":"^3.24.3"},"_npmOperationalInternal":{"tmp":"tmp/arbitrum-vibekit-core_0.1.0_1760216147144_0.31054520757079174","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@emberai/arbitrum-vibekit-core","version":"0.1.1","_id":"@emberai/arbitrum-vibekit-core@0.1.1","maintainers":[{"name":"tomdaniel","email":"admin@emberai.xyz"}],"homepage":"https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/lib/agent-node","bugs":{"url":"https://github.com/EmberAGI/arbitrum-vibekit/issues"},"dist":{"shasum":"29798c525ef345e6e4f9047df7f942080deef4cf","tarball":"https://registry.npmjs.org/@emberai/arbitrum-vibekit-core/-/arbitrum-vibekit-core-0.1.1.tgz","fileCount":108,"integrity":"sha512-3ZU/OD/Uu5rgtrHkr6SgsgSxF0Ba49SfhnIkS5ICzsqaoYxnucl8sneNVTIXjkVEEnmaJpGuGcUP4GBZ5S6mpw==","signatures":[{"sig":"MEYCIQDnuzKgTvADlBb3D0MiLUf50ClA5jRc+S3qo4Sn8z0GGAIhAJCWiCXTyd9MF8ZraTdfhwaEN5uNt8OaY/r2kVKxhp76","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482503},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./ember-schemas":{"types":"./dist/src/ember-schemas.d.ts","import":"./dist/src/ember-schemas.js"},"./google-a2a-types":{"types":"./dist/src/google-a2a-types.d.ts","import":"./dist/src/google-a2a-types.js"}},"gitHead":"b96d067aa907d32a623f310a47353a3b87c0f67d","scripts":{"test":"vitest run","build":"tsc -b","prepare":"pnpm build","test:mocha":"mocha 'dist/test/**/*.test.js' --reporter spec","test:watch":"vitest"},"_npmUser":{"name":"tomdaniel","email":"admin@emberai.xyz"},"deprecated":"DEPRECATED: Please use agent-node instead. See homepage for migration guide.","repository":{"url":"git+https://github.com/EmberAGI/arbitrum-vibekit.git","type":"git","directory":"typescript/lib/arbitrum-vibekit-core"},"_npmVersion":"10.9.2","description":"DEPRECATED: Core framework for building DeFi agents with MCP. Please use agent-node instead.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ai":"catalog:","zod":"catalog:","cors":"^2.8.5","viem":"^2.26.3","dotenv":"catalog:","nanoid":"^5.0.7","express":"catalog:","@ai-sdk/xai":"^1.2.16","escape-html":"^1.0.3","@ai-sdk/openai":"^1.3.22","@openzeppelin/contracts":"^5.3.0","@modelcontextprotocol/sdk":"catalog:","@hyperbolic/ai-sdk-provider":"^0.1.3","@openrouter/ai-sdk-provider":"catalog:"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.7.0","devDependencies":{"tsx":"catalog:","chai":"catalog:","mocha":"catalog:","sinon":"^20.0.0","vitest":"^3.2.1","@vitest/ui":"^3.2.3","typescript":"catalog:","@types/chai":"catalog:","@types/cors":"^2.8.17","@types/mocha":"catalog:","@types/sinon":"^17.0.4","@types/express":"^5.0.2","@types/escape-html":"^1.0.4"},"peerDependencies":{"zod":"^3.24.3"},"_npmOperationalInternal":{"tmp":"tmp/arbitrum-vibekit-core_0.1.1_1760219201379_0.34103640345883157","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@emberai/arbitrum-vibekit-core","version":"0.1.2","_id":"@emberai/arbitrum-vibekit-core@0.1.2","maintainers":[{"name":"tomdaniel","email":"admin@emberai.xyz"}],"homepage":"https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/lib/agent-node","bugs":{"url":"https://github.com/EmberAGI/arbitrum-vibekit/issues"},"dist":{"shasum":"013d79addea914e6e4321df0f35d1bfc3a7c7514","tarball":"https://registry.npmjs.org/@emberai/arbitrum-vibekit-core/-/arbitrum-vibekit-core-0.1.2.tgz","fileCount":108,"integrity":"sha512-pqorIUpbJ9ruqTHqsAHxeKfC2+bhek8xs89vXBIf1vc+Qvcxfe+2HEe9U/QYfMM6vaqmOexwfkIq4zvm8i8meQ==","signatures":[{"sig":"MEUCICpdJbYxVGWay8ej61hJxiNwISLP7+5D62E3PZPFdo6mAiEAr+CGVWWne0xz/c2B613xDeVu1UNRCqhX8Fptv0DJyVk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482495},"main":"dist/src/index.js","type":"module","types":"dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js"},"./ember-schemas":{"types":"./dist/src/ember-schemas.d.ts","import":"./dist/src/ember-schemas.js"},"./google-a2a-types":{"types":"./dist/src/google-a2a-types.d.ts","import":"./dist/src/google-a2a-types.js"}},"gitHead":"b96d067aa907d32a623f310a47353a3b87c0f67d","scripts":{"test":"vitest run","build":"tsc -b","prepare":"pnpm build","test:mocha":"mocha 'dist/test/**/*.test.js' --reporter spec","test:watch":"vitest"},"_npmUser":{"name":"tomdaniel","email":"admin@emberai.xyz"},"repository":{"url":"git+https://github.com/EmberAGI/arbitrum-vibekit.git","type":"git","directory":"typescript/lib/arbitrum-vibekit-core"},"_npmVersion":"10.9.2","description":"DEPRECATED: Core framework for building DeFi agents with MCP. Please use agent-node instead.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ai":"^4.3.2","zod":"^3.24.3","cors":"^2.8.5","viem":"^2.26.3","dotenv":"^16.3.1","nanoid":"^5.0.7","express":"^4.21.2","@ai-sdk/xai":"^1.2.16","escape-html":"^1.0.3","@ai-sdk/openai":"^1.3.22","@openzeppelin/contracts":"^5.3.0","@modelcontextprotocol/sdk":"^1.13.1","@hyperbolic/ai-sdk-provider":"^0.1.3","@openrouter/ai-sdk-provider":"^0.4.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.7.0","devDependencies":{"tsx":"catalog:","chai":"catalog:","mocha":"catalog:","sinon":"^20.0.0","vitest":"^3.2.1","@vitest/ui":"^3.2.3","typescript":"catalog:","@types/chai":"catalog:","@types/cors":"^2.8.17","@types/mocha":"catalog:","@types/sinon":"^17.0.4","@types/express":"^5.0.2","@types/escape-html":"^1.0.4"},"peerDependencies":{"zod":"^3.24.3"},"_npmOperationalInternal":{"tmp":"tmp/arbitrum-vibekit-core_0.1.2_1760219296884_0.564604621447268","host":"s3://npm-registry-packages-npm-production"},"deprecated":"DEPRECATED: Please use agent-node instead. See homepage for migration guide."}},"time":{"created":"2025-10-11T20:55:47.061Z","modified":"2025-10-11T21:48:26.961Z","0.1.0":"2025-10-11T20:55:47.342Z","0.1.1":"2025-10-11T21:46:41.567Z","0.1.2":"2025-10-11T21:48:17.099Z"},"bugs":{"url":"https://github.com/EmberAGI/arbitrum-vibekit/issues"},"homepage":"https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/lib/agent-node","repository":{"url":"git+https://github.com/EmberAGI/arbitrum-vibekit.git","type":"git","directory":"typescript/lib/arbitrum-vibekit-core"},"description":"DEPRECATED: Core framework for building DeFi agents with MCP. Please use agent-node instead.","maintainers":[{"name":"tomdaniel","email":"admin@emberai.xyz"}],"readme":"# Arbitrum Vibekit Core (DEPRECATED)\n\n> ⚠️ **DEPRECATED**: This package is deprecated and no longer maintained. Please use [agent-node](https://github.com/EmberAGI/arbitrum-vibekit/tree/main/typescript/lib/agent-node) instead.\n\nThe `arbitrum-vibekit-core` package is the foundational library for building AI agents on the Arbitrum network using the Arbitrum Vibekit framework. It provides the core abstractions and utilities for creating agents, defining skills, and interacting with language models.\n\n## Key Features\n\n- **Agent Class**: A robust and extensible base class for creating AI agents.\n- **Skill & Tool Definitions**: Standardized interfaces for defining agent capabilities.\n- **MCP Integration**: Seamless communication with MCP (Model Context Protocol) servers for accessing external tools and services.\n- **Flexible Provider Selector**: A powerful utility for managing and selecting different language model providers.\n\n## Testing\n\nThis package uses Vitest for testing. To run tests that require environment variables:\n\n1. Copy `.env.test.example` to `.env.test`:\n\n   ```bash\n   cp .env.test.example .env.test\n   ```\n\n2. Fill in your actual API keys in `.env.test`\n\n3. Run tests:\n   ```bash\n   pnpm test\n   ```\n\nThe test setup automatically loads environment variables from `.env.test`.\n\n## Provider Selector\n\nThe `createProviderSelector` function is a key feature of this package. It allows agents to easily switch between and utilize multiple Vercel AI SDK compatible providers, such as OpenRouter, OpenAI, Groq, Xai, and more.\n\n### Purpose\n\nIn a dynamic environment, you may want to use different models for different tasks based on cost, performance, or capability. The provider selector abstracts away the complexity of managing multiple provider instances and API keys.\n\n### Usage\n\nYou can use `createProviderSelector` to get a specific provider's `LanguageModelV1` instance. The selector will automatically use the correct API key from your environment variables.\n\n```typescript\nimport { createProviderSelector } from '@arbitrum/vibekit-core';\nimport 'dotenv/config';\n\n// Your .env file should contain the API keys:\n// OPENROUTER_API_KEY=...\n// HYPERBOLIC_API_KEY=...\n// OPENAI_API_KEY=...\n// XAI_API_KEY=...\n\n// Create a provider selector with your API keys\nconst providers = createProviderSelector({\n  openRouterApiKey: process.env.OPENROUTER_API_KEY,\n  hyperbolicApiKey: process.env.HYPERBOLIC_API_KEY,\n  openaiApiKey: process.env.OPENAI_API_KEY,\n  xaiApiKey: process.env.XAI_API_KEY,\n});\n\n// To get a model, you access the provider directly\n// and pass in the model name.\n\n// Get the OpenRouter model for Gemini Flash\nif (providers.openrouter) {\n  const model = providers.openrouter('google/gemini-2.5-flash');\n  // now you can use the model...\n}\n\n// Get a Hyperbolic model (e.g., Mistral 7B Instruct)\nif (providers.hyperbolic) {\n  const hyperModel = providers.hyperbolic('deepseek-ai/DeepSeek-R1-0528');\n  // now you can use the model...\n}\n\n// Get the OpenAI model for GPT-4o (as an example)\nif (providers.openai) {\n  const openAiModel = providers.openai('gpt-4o');\n  // now you can use the model...\n}\n\n// Get the Groq model for Llama 3\nif (providers.grok) {\n  const grokModel = providers.grok('grok-3');\n  // now you can use the model...\n}\n\n// You can now use these model instances with the Vibekit Framework\n// For example, using them in a Vibekit agent:\n\nimport { Agent } from '@arbitrum/vibekit-core';\n\n// Minimal agent manifest (must include at least one skill in real usage)\nconst myAgentConfig = {\n  name: 'My Vibekit Agent',\n  version: '0.1.0',\n  description: 'Demo agent showing provider selector usage',\n  skills: [], // add your skills here\n};\n\n// Create the agent with runtime options\nconst agent = Agent.create(myAgentConfig, {\n  llm: {\n    model: providers.openrouter('google/gemini-2.5-pro'),\n  },\n});\n```\n\n> **Note**: All API keys are optional. You only need to provide a key for the provider you intend to use. The `createProviderSelector` will only enable providers for which an API key has been supplied.\n\nThe selector uses the following environment variables for API keys:\n\n- **OpenRouter**: `OPENROUTER_API_KEY`\n- **Hyperbolic**: `HYPERBOLIC_API_KEY`\n- **OpenAI**: `OPENAI_API_KEY`\n- **xAI/Grok**: `XAI_API_KEY`\n\nThis utility simplifies multi-provider setups and makes your agent's model configuration more flexible and maintainable.\n","readmeFilename":"README.md"}