{"_id":"@cntrl-pw/sdk","_rev":"3-fa81588f2567e3f2b102bf3754c4ca4c","name":"@cntrl-pw/sdk","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@cntrl-pw/sdk","version":"0.1.0","keywords":["cntrl","bridge","sdk","websocket","react","hooks","local-network","remote-control"],"license":"MIT","_id":"@cntrl-pw/sdk@0.1.0","maintainers":[{"name":"azaek","email":"aloxel@gmail.com"}],"homepage":"https://cntrl.pw/docs","bugs":{"url":"https://github.com/azaek/cntrl/issues"},"dist":{"shasum":"ab054db35ca2dbfb2bbdc39cdb78427507db945b","tarball":"https://registry.npmjs.org/@cntrl-pw/sdk/-/sdk-0.1.0.tgz","fileCount":10,"integrity":"sha512-ZM76RUXYaf2WXTuL37OIoH4OCqbJ9cNWiN3YN04jqGyluxCaGU4sQ+ENyBjbDCszn3qQgDAi8db6RidlpNmAYg==","signatures":[{"sig":"MEQCICM/y/AhIWPD8xW/awnFMxfMbmPU7Wp120lk4/fsOJAXAiALMQoMs957A40BY9cVh1tPtJi1SYdoNKmiDx3b/91JQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90247},"type":"module","_from":"file:cntrl-pw-sdk-0.1.0.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./client":{"types":"./dist/client.d.mts","import":"./dist/client.mjs"}},"private":false,"scripts":{"lint":"eslint .","build":"tsdown","check-types":"tsc --noEmit"},"_npmUser":{"name":"azaek","email":"aloxel@gmail.com"},"_resolved":"C:\\Users\\azaek\\AppData\\Local\\Temp\\aa0b96d28f0bba0620d2a0c95894d961\\cntrl-pw-sdk-0.1.0.tgz","_integrity":"sha512-ZM76RUXYaf2WXTuL37OIoH4OCqbJ9cNWiN3YN04jqGyluxCaGU4sQ+ENyBjbDCszn3qQgDAi8db6RidlpNmAYg==","repository":{"url":"git+https://github.com/azaek/cntrl.git","type":"git","directory":"packages/sdk"},"_npmVersion":"11.6.2","description":"SDK for Cntrl Bridge devices — REST/WebSocket client and React hooks for controlling your PC over the local network.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"zod":"^4.3.5","zustand":"^5.0.3","@tanstack/react-query":"^5.90.19"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","tsdown":"^0.20.1","typescript":"^5.9.3","@types/node":"^24.10.9","@types/react":"^19.2.9","@cntrl-pw/tsconfig":"0.0.0","@cntrl-pw/eslint-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1769534606113_0.3389826035125769","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cntrl-pw/sdk","version":"0.1.1","keywords":["cntrl","bridge","sdk","websocket","react","hooks","local-network","remote-control"],"license":"MIT","_id":"@cntrl-pw/sdk@0.1.1","maintainers":[{"name":"azaek","email":"aloxel@gmail.com"}],"homepage":"https://cntrl.pw/docs","bugs":{"url":"https://github.com/azaek/cntrl/issues"},"dist":{"shasum":"76c4064d8d0b7ca68bb218e5b7b94cca4572f561","tarball":"https://registry.npmjs.org/@cntrl-pw/sdk/-/sdk-0.1.1.tgz","fileCount":10,"integrity":"sha512-tYbox9qnU9IFU59Kd1Eqf1HJ8/7FjmM1Kh6maeummBfq0ZV1l2Gkf+cf1tx9CoCMTmaz/kHAyRsHGry9IspXNA==","signatures":[{"sig":"MEUCIGt59K6Rjad9UmLhDp/nW9XqCp5JXfJDq8fo7dO0Ans3AiEA1zp2RqKkXVMV07gK9Abqas52oZP32rDEtwvcU/3ZKsM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100943},"type":"module","_from":"file:cntrl-pw-sdk-0.1.1.tgz","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"},"./client":{"types":"./dist/client.d.mts","import":"./dist/client.mjs"}},"private":false,"scripts":{"lint":"eslint .","build":"tsdown","check-types":"tsc --noEmit"},"_npmUser":{"name":"azaek","email":"aloxel@gmail.com"},"_resolved":"C:\\Users\\azaek\\AppData\\Local\\Temp\\4f7fd8c2e15d49b88b21cb486d5fa769\\cntrl-pw-sdk-0.1.1.tgz","_integrity":"sha512-tYbox9qnU9IFU59Kd1Eqf1HJ8/7FjmM1Kh6maeummBfq0ZV1l2Gkf+cf1tx9CoCMTmaz/kHAyRsHGry9IspXNA==","repository":{"url":"git+https://github.com/azaek/cntrl.git","type":"git","directory":"packages/sdk"},"_npmVersion":"11.6.2","description":"SDK for Cntrl Bridge devices — REST/WebSocket client and React hooks for controlling your PC over the local network.","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"zod":"^4.3.5","zustand":"^5.0.3","@tanstack/react-query":"^5.90.19"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.2","tsdown":"^0.20.1","typescript":"^5.9.3","@types/node":"^24.10.9","@types/react":"^19.2.9","@cntrl-pw/tsconfig":"0.0.0","@cntrl-pw/eslint-config":"0.0.0"},"peerDependencies":{"react":"^19.2.3"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.1_1769889518255_0.9014073156216389","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@cntrl-pw/sdk","version":"0.2.0","description":"SDK for Cntrl Bridge devices — REST/WebSocket client and React hooks for controlling your PC over the local network.","type":"module","license":"MIT","private":false,"sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/azaek/cntrl.git","directory":"packages/sdk"},"homepage":"https://cntrl.pw/docs","keywords":["cntrl","bridge","sdk","websocket","react","hooks","local-network","remote-control"],"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./client":{"types":"./dist/client.d.mts","import":"./dist/client.mjs"},"./types":{"types":"./dist/types.d.mts","import":"./dist/types.mjs"}},"dependencies":{"zustand":"^5.0.3"},"devDependencies":{"@types/node":"^24.10.9","@types/react":"^19.2.9","eslint":"^9.39.2","tsdown":"^0.20.1","typescript":"^5.9.3","@cntrl-pw/eslint-config":"0.0.0","@cntrl-pw/tsconfig":"0.0.0"},"peerDependencies":{"@tanstack/react-query":"^5.90.19","react":"^19.2.3"},"scripts":{"build":"tsdown","lint":"eslint .","check-types":"tsc --noEmit"},"_id":"@cntrl-pw/sdk@0.2.0","bugs":{"url":"https://github.com/azaek/cntrl/issues"},"_integrity":"sha512-pg1fIRtLN2+LVUJOyy6rKHf1PmG8e162btYPVebWlszBPOC5gpe90r9dQqwfzZScgcGM85E56skKz/nROEfDIg==","_resolved":"C:\\Users\\azaek\\AppData\\Local\\Temp\\ed03cdf2b55ad84975c68419c44af640\\cntrl-pw-sdk-0.2.0.tgz","_from":"file:cntrl-pw-sdk-0.2.0.tgz","_nodeVersion":"24.11.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-pg1fIRtLN2+LVUJOyy6rKHf1PmG8e162btYPVebWlszBPOC5gpe90r9dQqwfzZScgcGM85E56skKz/nROEfDIg==","shasum":"7ad2a61174ab5613c09197fd09e8a3f8b27083e6","tarball":"https://registry.npmjs.org/@cntrl-pw/sdk/-/sdk-0.2.0.tgz","fileCount":10,"unpackedSize":101197,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDUw2Waoe7riiHoImsEgHnJy4r5Msye9ZhNCvxkxBXx9AIhAPIarwDaOVHT8wnzEBtRaquJCfo9+mn5uC3DHVZkZr8K"}]},"_npmUser":{"name":"azaek","email":"aloxel@gmail.com"},"directories":{},"maintainers":[{"name":"azaek","email":"aloxel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.2.0_1774464487015_0.5957586204161973"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-27T17:23:26.034Z","modified":"2026-03-25T18:48:07.268Z","0.1.0":"2026-01-27T17:23:26.282Z","0.1.1":"2026-01-31T19:58:38.397Z","0.2.0":"2026-03-25T18:48:07.158Z"},"bugs":{"url":"https://github.com/azaek/cntrl/issues"},"license":"MIT","homepage":"https://cntrl.pw/docs","keywords":["cntrl","bridge","sdk","websocket","react","hooks","local-network","remote-control"],"repository":{"type":"git","url":"git+https://github.com/azaek/cntrl.git","directory":"packages/sdk"},"description":"SDK for Cntrl Bridge devices — REST/WebSocket client and React hooks for controlling your PC over the local network.","maintainers":[{"name":"azaek","email":"aloxel@gmail.com"}],"readme":"# @cntrl-pw/sdk\n\nSDK for [Cntrl Bridge](https://cntrl.pw) devices. REST/WebSocket client and React hooks for controlling your PC over the local network.\n\n## Documentation\n\n- [Getting Started](https://cntrl.pw/docs/sdk/getting-started)\n- [Hooks Reference](https://cntrl.pw/docs/sdk/hooks)\n- [Custom Storage](https://cntrl.pw/docs/sdk/custom-persistence)\n- [Changelog](https://cntrl.pw/docs/sdk/changelog)\n\n## Install\n\n```bash\nnpm install @cntrl-pw/sdk @tanstack/react-query\n# or\npnpm add @cntrl-pw/sdk @tanstack/react-query\n# or\nyarn add @cntrl-pw/sdk @tanstack/react-query\n# or\nbun add @cntrl-pw/sdk @tanstack/react-query\n```\n\n## Quick Start\n\n```tsx\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { BridgesProvider, useBridges, useSystemStats, useMedia } from \"@cntrl-pw/sdk\";\n\nconst queryClient = new QueryClient();\n\nfunction App() {\n  return (\n    <QueryClientProvider client={queryClient}>\n      <BridgesProvider>\n        <Dashboard />\n      </BridgesProvider>\n    </QueryClientProvider>\n  );\n}\n\nfunction Dashboard() {\n  const { bridges, addBridge } = useBridges();\n\n  // Add a bridge\n  const id = addBridge({ config: { host: \"192.168.1.100\", port: 9990 }, name: \"My PC\" });\n\n  // Use hooks with bridgeId\n  const { data: stats } = useSystemStats(id);\n  const { data: media, control } = useMedia(id);\n\n  return <div>{stats?.cpu_usage}% CPU</div>;\n}\n```\n\n## Hooks\n\nAll hooks take a `bridgeId` as the first argument.\n\n| Hook                  | Description                                 |\n| --------------------- | ------------------------------------------- |\n| `useSystemStats(id)`  | Real-time CPU, RAM, GPU stats via WebSocket |\n| `useSystemInfo(id)`   | Static system info (OS, hardware) via REST  |\n| `useMedia(id)`        | Media playback state + controls             |\n| `useProcesses(id)`    | Running processes + kill/launch             |\n| `usePower(id)`        | Shutdown, restart, sleep, hibernate         |\n| `useBridgeStatus(id)` | Connection status                           |\n\n## Low-Level Client\n\nUse `@cntrl-pw/sdk/client` for direct API access without React:\n\n```ts\nimport { createBridgeClient } from \"@cntrl-pw/sdk/client\";\n\nconst client = createBridgeClient({ host: \"192.168.1.100\", port: 9990 });\nconst info = await client.getSystemInfo();\nawait client.mediaControl(\"play_pause\");\n```\n\n## Types\n\nImport types separately:\n\n```ts\nimport type { SystemInfo, MediaStatus, ProcessInfo } from \"@cntrl-pw/sdk/types\";\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}