chloejsnpm i chloejs

Reference

chloejs/tools

What a model can be handed. Each one is bound by an agent.

What a model can be given, to the repo that installs chloe.

Everything here is a tool: a wrapper that lets a model reach work it could not have been told the rule for. Each one is a function an agent calls with its own folder, its own mailbox, its own From line, so nothing here names an agent or a person.

import { memory, selfImprovement, runScripts, readMail } from "chloejs/tools";

The work itself is in chloe/do/, published from "chloejs", and a job calls it from a step rather than coming through here. If a job imports this file, something is in the wrong place.

Same rule as chloe/index.ts: adding a name here is publishing it.

listInmemoryreadInreadMailreadWebrunScriptrunScriptssearchInselfImprovementsendEmailwriteInwriteSkill

listInfunction

export function listIn({ root, what, id = "list_notes" }: Folder)

A tool that lists what is in one folder, and nothing outside it.

chloe/model/tools/files.ts:22

memoryfunction

export function memory(options: Options = {}): (agent: { name: string }) => Tools

list_notes, read_notes, search_notes and write_notes, all inside one folder.

chloe/model/tools/memory.ts:22

readInfunction

export function readIn({ root, what, id = "read_notes" }: Folder)

A tool that reads one file inside that folder.

chloe/model/tools/files.ts:34

readMailfunction

export function readMail({ search, what, days = 7, id = "read_mail" }: Options)

A tool that reads the mail the agent is bound to. The search is the binding's, and the model chooses only how far back and how many.

chloe/model/tools/gmail.ts:24

readWebfunction

export function readWeb()

A tool that reads one public web page as plain text.

chloe/model/tools/web.ts:8

runScriptfunction

export function runScript(agent: string)

A tool that runs one file from that agent's own scripts/ folder.

chloe/model/tools/run_script.ts:15

runScriptsfunction

export function runScripts(): (agent: { name: string }) => Tools

run_script: the agent runs any file in its scripts/ folder, and nothing else. Refused as the agent loads when that folder has nothing in it.

chloe/model/tools/run_script.ts:37

searchInfunction

export function searchIn({ root, what, id = "search_notes" }: Folder)

A tool that searches the text of the files in that folder.

chloe/model/tools/files.ts:44

selfImprovementfunction

export function selfImprovement(): (agent: { name: string }) => Tools

write_skill: the agent rewrites its own skills, and every write is a commit.

chloe/model/tools/write_skill.ts:29

sendEmailfunction

export function sendEmail({ when, ...address }: Sender)

A tool that sends mail from the address the agent was given, to the address it was given.

chloe/model/tools/send_email.ts:19

writeInfunction

export function writeIn({ root, what, id = "write_notes", commit = false }: Folder & { commit?: boolean })

commit makes every write a git commit, for a folder that is a repo.

chloe/model/tools/files.ts:57

writeSkillfunction

export function writeSkill(agent: string)

A tool that rewrites one of the agent's own skills. Every write is a commit.

chloe/model/tools/write_skill.ts:19