Docs
The six entrances
What the package publishes, and why the list is short on purpose.
The runtime is a package, and you import it the way you import anything else. Six entrances and no others:
import { defineJob, note, tool } from "chloejs";
import { memory, readMail } from "chloejs/tools"; // a tool to bind
import { telegramChannel } from "chloejs/channels/telegram"; // a channel to bind
import { calls, expectations } from "chloejs/scorers"; // marking a run
import { every } from "chloejs/timer"; // when a job runs
import { about, is } from "chloejs/test"; // testing a jobchloe/index.ts and chloe/model/tools/index.ts are those lists and nothing
else. Adding a name to one is publishing it, and taking one away is a break,
so anything not on them is the runtime's own business and may move without
telling anyone. The reference is generated from those files, so it
is exactly what is published and nothing more.
Reaching any of it by path is the thing not to do: it breaks the day a folder
moves. Inside your own agent's folder, a sibling is still ./units.ts, because
that file belongs to that agent and is nobody else's.
chloejs/timer imports nothing else in the runtime, so it can be read on its own.