{"_id":"@alexgg_balena/ag-autokit","name":"@alexgg_balena/ag-autokit","dist-tags":{"latest":"1.2.0"},"versions":{"1.2.0":{"name":"@alexgg_balena/ag-autokit","version":"1.2.0","description":"software interface for Autokit","main":"build/index.js","repository":{"type":"git","url":"git+https://github.com/balena-io-hardware/autokit-sw.git"},"scripts":{"build":"npx tsc","test":"echo \"No test specified\" && exit 0","prepack":"npm run build","docs":"rimraf ./docs/ && npx typedoc --tsconfig tsconfig.json && touch docs/.nojekyll"},"engines":{"node":">=18.0.0 < 19"},"author":"","license":"Apache-2.0","dependencies":{"@balena/usbrelay":"^0.1.4","@serialport/parser-readline":"^12.0.0","bluebird":"^3.7.2","bluebird-retry":"^0.11.0","dbus-next":"^0.9.0","debug":"^4.3.4","etcher-sdk":"^9.1.0","fs-extra":"^10.1.0","mz":"^2.7.0","node-hid":"^2.1.2","serialport":"^9.0.0","xxhash-addon":"^2.0.3"},"devDependencies":{"@types/bluebird":"^3.5.36","@types/bluebird-retry":"^0.11.5","@types/fs-extra":"^9.0.13","@types/mz":"^2.7.4","@types/serialport":"^8.0.5","rimraf":"^3.0.2","typedoc":"^0.23.21","typedoc-theme-hierarchy":"^3.0.0","typescript":"^4.9.5"},"versionist":{"publishedAt":"2025-02-14T07:54:42.641Z"},"_id":"@alexgg_balena/ag-autokit@1.2.0","gitHead":"17b8c0d0ffc88233b693acb5da92cc88a943028f","types":"./build/index.d.ts","bugs":{"url":"https://github.com/balena-io-hardware/autokit-sw/issues"},"homepage":"https://github.com/balena-io-hardware/autokit-sw#readme","_nodeVersion":"20.13.1","_npmVersion":"10.5.2","dist":{"integrity":"sha512-gQd2xkvoMpVHEbTXpnVWVYLzsq6G/GJmUprpq9YJQsp1CJDmX8GwwKgXVFJLqcglMnHN0PxRFN2AEV/85OWtuQ==","shasum":"185eb529c092710e6374be5f50bc93a21c4587b3","tarball":"https://registry.npmjs.org/@alexgg_balena/ag-autokit/-/ag-autokit-1.2.0.tgz","fileCount":93,"unpackedSize":113264,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCjgUQTczolcSKbfVukXWrnKCyP1v+/3kPqDVHqmTDKxgIhAKPhiGuF8EwrRTBVczjcDPQohSjrWnhbBK9gFZI3oENz"}]},"_npmUser":{"name":"alexgg_balena","email":"alexg@balena.io"},"directories":{},"maintainers":[{"name":"alexgg_balena","email":"alexg@balena.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ag-autokit_1.2.0_1740577215730_0.4487139849279558"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-26T13:40:15.611Z","1.2.0":"2025-02-26T13:40:15.937Z","modified":"2025-02-26T13:40:16.230Z"},"maintainers":[{"name":"alexgg_balena","email":"alexg@balena.io"}],"description":"software interface for Autokit","homepage":"https://github.com/balena-io-hardware/autokit-sw#readme","repository":{"type":"git","url":"git+https://github.com/balena-io-hardware/autokit-sw.git"},"bugs":{"url":"https://github.com/balena-io-hardware/autokit-sw/issues"},"license":"Apache-2.0","readme":"![AutoKit Logo](./logo.png)\n\nThis is the software interface for the AutoKit suite, structured as a node library.\n\nIt does not include details about the hardware, or assembly. Please refer to the parent repo for links to all relevant documentation [here](https://github.com/balena-io-hardware/autokit).\n\n## [Documentation](https://balena-io-hardware.github.io/autokit-interface-sw/)\n\nThe AutoKit software interface is designed to take into account that it is comprised of hardware modules which may be added to or substituted. This project aims to provide a simple and generalized interface despite potentially different hardware implementations.\n\nCurrently, the AutoKit software interface supports:\n\n- Flashing of devices (either using SD card multiplexers or `usbboot`)\n- Controlling power to the DUT\n- Controlling the network connection of the DUT, via a Wi-FI hotspot or Ethernet connection sharing\n- Capturing video output of the DUT\n- Sending/receiving serial to/from the DUT\n\n## Installation\n\n```sh\nnpm install @balena/autokit\n```\n\n### Adding to the AutoKit software interface\n\nThe interface is divided into `features`, which are the pieces of functionality the kit can perform. Each `feature` can have multiple possible `implementations`, which represent potentially different hardware being used to achieve that functionality. \n\nAn implementation can be added so the kit can support a new piece of hardware, but the class used to create that `implementation` must have the same interface as the rest of the `implementations` that implement that `feature`. \n\n","readmeFilename":"README.md"}