chloejsnpm i chloejs

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 job

chloe/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.