Tools Overview

Preview

The interface between Pimsy's reasoning and the outside world.

A tool is a declared capability: a name, a typed schema, a permission scope and an execution contract. Everything Pimsy does outside of thinking happens through one.

Tool invocation path
reasoning ─▶ tool selection ─▶ argument synthesis ─▶ schema validation
                                                              │
                                     policy engine ◀──────────┘
                                          │ allow / deny / approve
                                          ▼
                                     execution sandbox
                                          │
                        normalization ◀───┘
                                          ▼
                                     observation ─▶ working memory

Tool categories#

CategoryExamplesDefault effect class
Retrievalweb.search, web.fetch, docs.lookupread_external
Filesystemfiles.read, files.write, files.searchworkspace_write
Executionsandbox.exec, code.run, notebook.evalworkspace_write
Browserbrowser.navigate, browser.click, browser.extractread_external / external_write
Connectorsgithub.*, gmail.*, calendar.*, db.*Varies by operation
Marketsmarkets.quote, markets.fundamentals, markets.filingsread_external
Codebaserepo.index, repo.search, repo.patchread_repo / write_repo
Internalmemory.search, artifacts.publish, agent.delegatenone / workspace_write

Principles#

  • Declarative — a tool describes what it does and what it needs; the runtime decides when to call it.
  • Typed — arguments are validated against a JSON Schema before dispatch, never "best effort" parsed.
  • Scoped — a tool cannot be called unless its permission scope is in the effective capability set.
  • Observable — every invocation records arguments, duration, result size, status and retry count.
  • Recoverable — errors are typed so the runtime can distinguish retry, replan and escalate.

Last updated 2026-09-13