SDK ModulesSoul ModuleExport, import, and list portable NPC souls via API-backed thunksAsk a question|Copy page|View as Markdown|More actionsThe current SDK exposes Soul workflows through thunks and CLI commands. Export Soul import { createSDKStore, setNPCInfo, remoteExportSoulThunk } from '@forbocai/core';const store = createSDKStore();store.dispatch(setNPCInfo({ id: 'npc_1', persona: 'A careful merchant' }));const exported = await store.dispatch(remoteExportSoulThunk({ npcId: 'npc_1', apiUrl: 'https://api.forboc.ai', apiKey: process.env.FORBOCAI_API_KEY})).unwrap();console.log(exported.txId, exported.url); Import Soul by Transaction ID import { importSoulFromArweaveThunk } from '@forbocai/core';const soul = await store.dispatch(importSoulFromArweaveThunk({ txId: 'arweave_tx_id_here', apiUrl: 'https://api.forboc.ai', apiKey: process.env.FORBOCAI_API_KEY})).unwrap();console.log(soul.name, soul.persona); List Souls import { getSoulListThunk } from '@forbocai/core';const souls = await store.dispatch(getSoulListThunk({ limit: 20, apiUrl: 'https://api.forboc.ai', apiKey: process.env.FORBOCAI_API_KEY})).unwrap();console.log(souls.length); CLI npx forbocai soul export <npcId>npx forbocai soul import <txId-or-local-json-file>npx forbocai soul list 20npx forbocai soul chat <npcId>