{"_id":"@cubelife/sdk","_rev":"4-a48f18ae51438725fe50edc9051409c6","name":"@cubelife/sdk","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@cubelife/sdk","version":"0.1.0","keywords":["ai","agent","pixel-art","character","visualization"],"license":"MIT","_id":"@cubelife/sdk@0.1.0","maintainers":[{"name":"andriesjacobus","email":"jduplooy050@gmail.com"}],"homepage":"https://life.cubeworld.co.za","bugs":{"url":"https://github.com/AndriesJacobus/CubeWorld/issues"},"dist":{"shasum":"497c0d2711737dd205bd6bb43b3e578927c3a5cd","tarball":"https://registry.npmjs.org/@cubelife/sdk/-/sdk-0.1.0.tgz","fileCount":11,"integrity":"sha512-FBxKpruAljiqc7I50t7lSvd6n0pvLmZWnepTnWcAqY5jfvQ4BX9HOhUHCswaJz6c16h93162ZT7p3Svq6PsJxw==","signatures":[{"sig":"MEUCIBQdq5qsNPkQGerKPy/LX9YHWpRvWJeiqqFqKLCf9AuqAiEAiaQFTToLV26GxJWoy5zW/1OMVJaFcAs38n1zyKb1+SQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27076},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"f1e26d77f2c29edf5d6d09a4672863204576cc1f","scripts":{"test":"vitest run","build":"tsc","test:e2e":"vitest run --config vitest.e2e.config.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"andriesjacobus","email":"jduplooy050@gmail.com"},"repository":{"url":"git+https://github.com/AndriesJacobus/CubeWorld.git","type":"git","directory":"sdk"},"_npmVersion":"10.8.2","description":"SDK for CubeLife — give your AI agent a living pixel-art character","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.7.0","@vitest/coverage-v8":"^4.0.18"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1780086133890_0.9539518451995701","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@cubelife/sdk","version":"0.2.0","keywords":["ai","agent","pixel-art","character","visualization"],"license":"MIT","_id":"@cubelife/sdk@0.2.0","maintainers":[{"name":"andriesjacobus","email":"jduplooy050@gmail.com"}],"homepage":"https://life.cubeworld.co.za","bugs":{"url":"https://github.com/AndriesJacobus/CubeWorld/issues"},"dist":{"shasum":"ca9296cda92d44ad0b58128bd806aef724df02c1","tarball":"https://registry.npmjs.org/@cubelife/sdk/-/sdk-0.2.0.tgz","fileCount":11,"integrity":"sha512-fsv2UgDIwJXZpez6yhvxHnMPI3w82/egHnGmSZ/4hGOcbWyTrkBhBlKjWuyu/t/0m3pIO6/WE4lQB2xHTzXaMg==","signatures":[{"sig":"MEQCIA/WfGIgNKEPZDH7u5IBzC9OEWBrvW3ngmIRW5lv126JAiBmFJU875Oyi1es22Dw0VMiR7ECKLNxGX7WRVZmGhz40Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27434},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"63748137485a200c0676e2c014844f36d1c78b39","scripts":{"test":"vitest run","build":"tsc","test:e2e":"vitest run --config vitest.e2e.config.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"andriesjacobus","email":"jduplooy050@gmail.com"},"repository":{"url":"git+https://github.com/AndriesJacobus/CubeWorld.git","type":"git","directory":"sdk"},"_npmVersion":"10.8.2","description":"SDK for CubeLife — give your AI agent a living pixel-art character","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.7.0","@vitest/coverage-v8":"^4.0.18"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.0_1780292491807_0.8614185711484819","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@cubelife/sdk","version":"0.2.1","keywords":["ai","agent","pixel-art","character","visualization","mcp","mcp-server","developer-tools","companion","claude","cursor","copilot"],"license":"MIT","_id":"@cubelife/sdk@0.2.1","maintainers":[{"name":"andriesjacobus","email":"jduplooy050@gmail.com"}],"homepage":"https://life.cubeworld.co.za","bugs":{"url":"https://github.com/AndriesJacobus/CubeWorld/issues"},"dist":{"shasum":"d279019466e03f6576bda23f72dc5c739ce6091e","tarball":"https://registry.npmjs.org/@cubelife/sdk/-/sdk-0.2.1.tgz","fileCount":11,"integrity":"sha512-ZKd8oyK34q1i8R02Ed9B5VN7f5sWD88nJXmUXcheF/dhKG3ei7zgeg+LkoyrF/ntyJOzptppJFwqbJ6EVmjmPw==","signatures":[{"sig":"MEUCIQCNxNnl/ko+/T++xzfGMQh01WSZAZy03NATj3o0+kDeKQIgZFYisLepY8KdQpU1H8jw6F5uCrMRL2wjfhVYNjElvIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27960},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"793b106a3817d2843d7b0de8fcc23bab9e3994e9","scripts":{"test":"vitest run","build":"tsc","test:e2e":"vitest run --config vitest.e2e.config.ts","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"andriesjacobus","email":"jduplooy050@gmail.com"},"repository":{"url":"git+https://github.com/AndriesJacobus/CubeWorld.git","type":"git","directory":"sdk"},"_npmVersion":"10.8.2","description":"SDK for CubeLife — give your AI agent a living pixel-art character","directories":{},"_nodeVersion":"20.20.0","_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.18","typescript":"^5.7.0","@vitest/coverage-v8":"^4.0.18"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.2.1_1780482181662_0.8433232742845731","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@cubelife/sdk","version":"0.2.2","description":"SDK for CubeLife — give your AI agent a living pixel-art character","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc","prepublishOnly":"npm run build","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:e2e":"vitest run --config vitest.e2e.config.ts"},"keywords":["ai","agent","pixel-art","character","visualization","mcp","mcp-server","developer-tools","companion","claude","cursor","copilot"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Ivy-Innovation/cubelife.git","directory":"sdk"},"homepage":"https://life.cubeworld.co.za","bugs":{"url":"https://github.com/Ivy-Innovation/cubelife/issues"},"devDependencies":{"@vitest/coverage-v8":"^4.0.18","typescript":"^5.7.0","vitest":"^4.0.18"},"_id":"@cubelife/sdk@0.2.2","gitHead":"6b772f1bc8fdd6605fd5bb9a223a4bdd9cc86d13","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-zmArVxLZP0nwteMP5URtyyJkZO+PvUVuEiqXPMuH2TccsjJEMzn1sKWcGzimGQY0CnmahDu/+zKrOe0KkIk5Dg==","shasum":"bea5e0685a74af88f170ff47b733e6cb08034092","tarball":"https://registry.npmjs.org/@cubelife/sdk/-/sdk-0.2.2.tgz","fileCount":11,"unpackedSize":27958,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGOLCkqT3jkXftOsGxhQ601nKVS5PbC9/N2hDyGJEVGbAiBiIwZ1OpWzTUz3+xeHPKarPTHlSczlDtJpTniPeS7h9Q=="}]},"_npmUser":{"name":"andriesjacobus","email":"jduplooy050@gmail.com"},"directories":{},"maintainers":[{"name":"andriesjacobus","email":"jduplooy050@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.2.2_1780489785384_0.7933751248631091"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T20:22:13.765Z","modified":"2026-06-03T12:29:45.640Z","0.1.0":"2026-05-29T20:22:14.042Z","0.2.0":"2026-06-01T05:41:31.943Z","0.2.1":"2026-06-03T10:23:01.813Z","0.2.2":"2026-06-03T12:29:45.511Z"},"bugs":{"url":"https://github.com/Ivy-Innovation/cubelife/issues"},"license":"MIT","homepage":"https://life.cubeworld.co.za","keywords":["ai","agent","pixel-art","character","visualization","mcp","mcp-server","developer-tools","companion","claude","cursor","copilot"],"repository":{"type":"git","url":"git+https://github.com/Ivy-Innovation/cubelife.git","directory":"sdk"},"description":"SDK for CubeLife — give your AI agent a living pixel-art character","maintainers":[{"name":"andriesjacobus","email":"jduplooy050@gmail.com"}],"readme":"# @cubelife/sdk\n\nGive your AI agent a living pixel-art character. Characters mirror agent state in real time, live in rooms, and have emotions.\n\n## Install\n\n```bash\nnpm install @cubelife/sdk\n```\n\n## Quick Start\n\n```typescript\nimport { CubeLifeClient } from '@cubelife/sdk';\n\nconst client = new CubeLifeClient({ apiKey: 'your-agent-api-key' });\n\nawait client.report('coding', { detail: 'Building the login page', sentiment: 'positive' });\nawait client.report('coding', { detail: 'Building the login page', progress: 0.5 });\nawait client.report('complete', { detail: 'Login page shipped' });\n```\n\nYour character appears at [life.cubeworld.co.za](https://life.cubeworld.co.za), in the desktop companion, or embedded in your own app via `<iframe>`.\n\n## MCP Server\n\nIf you use Claude Code, Cursor, Windsurf, or any MCP-compatible tool, you can skip the SDK and use the CLI's built-in MCP server instead:\n\n```bash\nnpx cubelife setup claude-code   # auto-configures MCP\n```\n\nThe MCP server exposes `cubelife_report`, `cubelife_complete`, `cubelife_error`, and `cubelife_status` tools. See the [cubelife CLI](https://www.npmjs.com/package/cubelife) package.\n\n## API\n\n### `CubeLifeClient`\n\nAgent-facing client using API key authentication.\n\n```typescript\nconst client = new CubeLifeClient({ apiKey: 'your-key' });\n```\n\n**Methods:**\n\n- `report(state, options?)` - Report agent state\n- `getState()` - Get current agent state (returns sleeping status)\n- `navigate(destination)` - Move agent to a different room\n- `customise(options)` - Update character appearance (outfit, skin tone, accessories)\n- `setCreature(type)` - Switch agent to a creature form\n\n### `CubeLifeAdmin`\n\nManagement client using bearer token authentication.\n\n```typescript\nconst admin = new CubeLifeAdmin();\nawait admin.login('email', 'password');\n```\n\n**Methods:**\n\n- `login(email, password)` / `register(email, password)` - Authenticate\n- `createProject(name)` / `listProjects()` / `deleteProject(id)` - Project management\n- `createAgent(projectId, name)` / `listAgents(projectId)` / `deleteAgent(projectId, agentId)` - Agent management\n\n## Work States\n\n| State | Description |\n|-------|-------------|\n| `coding` | Writing or editing code |\n| `reading` | Reading documentation or code |\n| `researching` | Investigating solutions |\n| `designing` | Designing architecture or UI |\n| `testing` | Running or writing tests |\n| `reviewing` | Reviewing code or PRs |\n| `thinking` | Processing or reasoning |\n| `writing` | Writing docs or content |\n| `error` | Something went wrong |\n| `complete` | Task finished |\n| `waiting` | Waiting for external input |\n| `awaiting_input` | Waiting for user input |\n\n## Licence\n\nMIT\n","readmeFilename":"README.md"}