{"_id":"@allternit/capsule-sdk","name":"@allternit/capsule-sdk","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@allternit/capsule-sdk","version":"0.1.0","description":"Headless Capsule SDK - lifecycle, contracts, and guardrails for A2rchitech capsules","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./core":{"types":"./dist/core/index.d.ts","import":"./dist/core/index.js"},"./controllers":{"types":"./dist/controllers/index.d.ts","import":"./dist/controllers/index.js"},"./guards":{"types":"./dist/guards/index.d.ts","import":"./dist/guards/index.js"}},"scripts":{"build":"tsc","dev":"tsc --watch","check":"tsc --noEmit","typecheck":"tsc --noEmit"},"keywords":["allternit","capsule","lifecycle","contracts","sdk"],"author":{"name":"A2rchitech"},"license":"MIT","devDependencies":{"typescript":"^5.4.5"},"gitHead":"197c1497d02ffb94fe24fbdc6a6de34e98297159","_id":"@allternit/capsule-sdk@0.1.0","_nodeVersion":"25.6.1","_npmVersion":"11.9.0","dist":{"integrity":"sha512-0OmVGvz+ZVKijPqKDoPMqPThgB1YSY3u1Gh9ZezkSIHN97kB4b/NWjoAAzAD+9SHxxpduKfH6iD76c+bHIoLxA==","shasum":"9695980b6e25810034fc3c2522c67e48f4aaa008","tarball":"https://registry.npmjs.org/@allternit/capsule-sdk/-/capsule-sdk-0.1.0.tgz","fileCount":18,"unpackedSize":48360,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIH6XnuAgNlS0L5EPtR7wYIL8kNcldGUL6Y4I6ldnfmKmAiBR4Neyd3udGiJhMVAxiY7hFeijHem4UD/84LCWIhTxyw=="}]},"_npmUser":{"name":"allternit","email":"allternitpbc@gmail.com"},"directories":{},"maintainers":[{"name":"allternit","email":"allternitpbc@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capsule-sdk_0.1.0_1776018464128_0.6163581020647249"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-12T18:27:44.045Z","0.1.0":"2026-04-12T18:27:44.276Z","modified":"2026-04-12T18:27:44.483Z"},"maintainers":[{"name":"allternit","email":"allternitpbc@gmail.com"}],"description":"Headless Capsule SDK - lifecycle, contracts, and guardrails for A2rchitech capsules","keywords":["allternit","capsule","lifecycle","contracts","sdk"],"author":{"name":"A2rchitech"},"license":"MIT","readme":"# @allternit/capsule-sdk\n\nHeadless Capsule SDK for A2rchitech - lifecycle, contracts, and guardrails.\n\n## Installation\n\n```bash\npnpm add @allternit/capsule-sdk\n```\n\n## Quick Start\n\n```typescript\nimport {\n  createCapsuleController,\n  createStageController,\n  createRendererController,\n  BROWSER_ACTIONS,\n  createActionBuilder,\n} from '@allternit/capsule-sdk';\n\n// Create a capsule\nconst capsule = createCapsuleController({\n  spaceId: 'workspace-1',\n  type: 'browser',\n  capabilities: {\n    staged: true,\n    streaming: true,\n    gpu: true,\n    multiTab: true,\n    agentControllable: true,\n  },\n});\n\n// Register actions\ncapsule.actions.register(capsule.id, createActionBuilder()\n  .id(BROWSER_ACTIONS.NAV_BACK)\n  .label('Back')\n  .enabled(true)\n  .run(() => navigateBack())\n  .build());\n\n// Update lifecycle\ncapsule.setLifecycle({ phase: 'ready' });\n\n// Get current state\nconst state = capsule.getLifecycle();\nconsole.log(state.phase); // 'ready'\n```\n\n## Key Concepts\n\n### Lifecycle\nAll capsules follow universal lifecycle phases: `init` → `connecting` → `ready` → `busy` → `disposed`\n\n### Capabilities\nDeclare what your capsule supports: `staged`, `streaming`, `gpu`, `multiTab`, `agentControllable`\n\n### Events\nAll state changes emit events via the EventBus. A2UI/AG-UI subscribes to these and decides how to render.\n\n### Actions\nRegister actions in the ActionRegistry. A2UI must only render registered actions - dead buttons are prevented.\n\n## Architecture\n\nSee [CAPSULE_SDK_ARCHITECTURE.md](../../docs/CAPSULE_SDK_ARCHITECTURE.md) for detailed architecture documentation.\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-dd6da01fc8f534506d576f662baa67d7"}