Client library for ActivityWatch in TypeScript/JavaScript.
npm install aw-client
The library uses Promises for almost everything, so either use .then()
or async/await syntax.
The example below is written with .then()
to make it easy to run in the node REPL.
const { AWClient } = require('aw-client');
const client = new AWClient('test-client')
// Get server info
client.getInfo().then(console.log);
// List buckets
client.getBuckets().then(console.log);
// Create bucket
const bucketId = "test";
client.createBucket(bucketId, "bucket-type", "your-hostname");
// Send a heartbeat
const nowStr = (new Date()).toISOString();
const heartbeat = {timestamp: nowStr, duration: 0, data: { label: "just testing!" }};
client.heartbeat(bucketId, 5, heartbeat);
npm install
npm run compile
npm test