@humebio/collector-sdk
v0.1.1
Published
SDK for building hume-network collectors
Readme
@humebio/collector-sdk
SDK for building custom Hume Network collectors.
Install
npm install @humebio/collector-sdkUsage
Extend BaseCollector and implement two methods:
import { BaseCollector, observe } from '@humebio/collector-sdk'
import type { Observation, CollectorMetadata } from '@humebio/collector-sdk'
const metadata: CollectorMetadata = {
id: 'my-collector',
name: 'My Collector',
version: '0.1.0',
description: 'Observes something useful',
category: 'productivity',
}
class MyCollector extends BaseCollector {
constructor() {
super(metadata, { intervalMs: 5 * 60 * 1000 })
}
async checkPrerequisites(): Promise<boolean> {
return true // check if dependencies are available
}
protected async doCollect(): Promise<Observation[]> {
return [
observe()
.category('productivity')
.autoTime()
.activity('working')
.action('workflow', 'Some pattern observed')
.outcome('focus_time', '+15% improvement')
.build(),
]
}
}API
BaseCollector
| Method | Description |
|--------|-------------|
| start(sink) | Start collecting on interval |
| stop() | Stop collecting |
| init() | Optional async init hook |
| checkPrerequisites() | Abstract — verify dependencies |
| doCollect() | Abstract — return observations |
Helpers
| Export | Description |
|--------|-------------|
| observe() | Fluent ObservationBuilder factory |
| computeConfidence(n, max?) | Log-based confidence score (0–1) |
| detectTimeOfDay(date) | Returns morning/afternoon/evening/night |
Types
Observation, PatternCategory, TimeOfDay, ActionType, CollectorConfig, CollectorMetadata, ICollector
