Pilot
AI-assisted browser automation for provider dashboards.
What Pilot does
Pilot captures AI-assisted browser automation runs as first-class Observe events. Provider login checks, dashboard walks, cost-puller sessions, and recovery attempts can all publish run status, failed step metadata, and captured artifacts.
The module is still preview-owned by the standalone Pilot product. Observe treats it as an event source and module surface while final ownership of the browser automation app stays separate.
Wire payload
Same shape, three syntaxesThe wire protocol is plain HTTP, plain JSON, HMAC-SHA256. The TypeScript tab uses the SDK; the cURL tab is the raw HTTP equivalent; the Python tab shows the preview SDK shape.
import { createCuittyClient } from "@cuitty/sdk";
const cuitty = createCuittyClient({
observeUrl: "https://observe.cuitty.com",
projectId: process.env.CUITTY_PROJECT_ID!,
apiKey: process.env.CUITTY_API_KEY!,
});
cuitty.start();
await cuitty.emit({
type: "pilot:run",
timestamp: new Date().toISOString(),
data: {
runId: "run_01jz",
playbookId: "aws-cost-puller",
status: "completed",
durationMs: 42100,
provider: "aws",
},
});
Database schema
Excerpt from observe/modules/pilot/schema.sql.
One libSQL file per module — back it up with cp.
CREATE TABLE IF NOT EXISTS pilot_runs (
id TEXT PRIMARY KEY,
playbook_id TEXT NOT NULL,
provider TEXT,
status TEXT NOT NULL,
failed_step_id TEXT,
error_message TEXT,
created_at INTEGER DEFAULT (unixepoch())
);