Windows CI / windows ([bun run --cwd packages/app-core test bun run --cwd packages/elizaos test bun run --cwd packages/cloud/shared test], app-and-cli) (push) Waiting to run
Windows CI / windows ([bun run --cwd packages/scenario-runner test bun run --cwd packages/vault test bun run --cwd packages/security test bun run --cwd plugins/plugin-coding-tools test], framework-packages) (push) Waiting to run
Windows CI / windows ([bun run --cwd plugins/plugin-elizacloud test bun run --cwd plugins/plugin-discord test bun run --cwd plugins/plugin-anthropic test bun run --cwd plugins/plugin-openai test bun run --cwd plugins/plugin-app-control test bun run --cwd plugins/pl… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run build --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/agent --concurrency=4 node packages/scripts/run-bash-linux-only.mjs scripts/verify-riscv64-buildpaths.sh node packages/scripts/run… (push) Waiting to run
Windows CI / windows ([node packages/scripts/run-turbo.mjs run typecheck --filter=@elizaos/core --filter=@elizaos/shared --filter=@elizaos/cloud-shared --concurrency=4 bun run --cwd packages/core test bun run --cwd packages/shared test], core-runtime, 75) (push) Waiting to run
Pure TypeScript type contracts for elizaOS. Zero runtime code, zero runtime dependencies.
What it is
This package contains the shared type definitions used across the elizaOS monorepo. Its direct dependents are @elizaos/core and @elizaos/shared. Types that need to be referenced by both the runtime and client-side packages (the web dashboard reaches them transitively through @elizaos/shared) live here so neither side has to depend on the full runtime.
What it contains
Module
What it defines
cloud-topology
ElizaCloudService, ResolvedElizaCloudTopology — how the local runtime sees its relationship to Eliza Cloud
deployment
DeploymentTargetRuntime, DeploymentTargetConfig — local / cloud / remote deployment shapes
roles
RoleName (OWNER > ADMIN > USER > GUEST), RolesWorldMetadata, RolesConfig
All logic that operates on these types — normalization, validation, resolution — lives in @elizaos/core or the owning service package.
Installation
This package is part of the elizaOS monorepo and is published to npm under the @elizaos scope. It is a workspace dependency — other packages reference it via "@elizaos/contracts": "workspace:*" in their package.json.
# In an external project
npm install @elizaos/contracts
Usage
importtype{RoleName,ServiceRoutingConfig,WalletConfigStatus}from'@elizaos/contracts';// Role hierarchy
constrole: RoleName='ADMIN';// 'OWNER' | 'ADMIN' | 'USER' | 'GUEST'
// Service routing shape
constrouting: ServiceRoutingConfig={llmText:{backend:'anthropic',transport:'direct',accountId:'acct_123'},};// Wallet config shape consumed by the dashboard
conststatus: WalletConfigStatus={evmAddress:'0x...',solanaAddress: null,...};
@elizaos/core re-exports a cherry-picked subset of these types. For new code outside @elizaos/core, import directly from @elizaos/contracts.
Build
bun run --cwd packages/contracts build # emit dist/
bun run --cwd packages/contracts typecheck # type-check only
bun run --cwd packages/contracts clean # remove dist/