{
  "access": "public",
  "type": "reference",
  "format": "markdown",
  "title": "Tools Reference",
  "chunked": true,
  "url": "https://library.datagrout.ai/tools-reference",
  "summary": "Overview of the built-in DataGrout tool surface.",
  "content_markdown": "# Tools Reference\n\nOverview of the built-in DataGrout tool surface.\n\nAll first-party tools use this naming pattern:\n\n```text\ndata-grout@{version}/{suite}.{tool}@{tool_version}\n```\n\nExample: `data-grout@1/discovery.discover@1`\n\n## Shared Concepts\n\n- `cache_ref` reuses a prior result without re-sending the full payload.\n- Many tools accept either inline `payload` data or a `cache_ref`.\n- `discovery.perform` can execute discovered tools and saved skills, including direct calls by `skill_id`.\n- Some workflows support inline computed inputs through `\"$compute\"` for safe first-party compositions.\n\n---\n\n## Tool Suites\n\n### Discovery\n\nFind, plan, and execute tools by intent rather than memorizing names.\n\n| Tool | Purpose |\n|------|---------|\n| `discovery.summary@1` | Lightweight overview of available capabilities |\n| `discovery.discover@1` | Semantic search across tools and integrations |\n| `discovery.plan@1` | Generate a verified multi-step workflow from a goal |\n| `discovery.guide@1` | Interactive narrowing toward the right tool or plan |\n| `discovery.perform@1` | Execute a discovered tool or saved skill |\n\nSee [Discovery Tools](discovery-tools).\n\n### Data\n\nPure JSON and list operations. No LLM premium.\n\n| Tool | Purpose |\n|------|---------|\n| `data.get@1` | Access nested values by path |\n| `data.pick@1` / `data.omit@1` | Keep or remove keys |\n| `data.take@1` / `data.drop@1` | Slice lists |\n| `data.keys@1` / `data.count@1` | Inspect structure size and shape |\n| `data.flatten@1` | Flatten nested maps |\n| `data.merge@1` | Merge maps |\n| `data.filter@1` | Declarative filtering |\n| `data.sort@1` | Value or field sorting |\n| `data.unique@1` | Deduplicate values or records |\n| `data.aggregate@1` | Summaries like sum, mean, count, min, max |\n| `data.map@1` | Fan out a tool call over a list |\n\nSee [Data Tools](data-tools).\n\n### Frame\n\nColumnar operations on lists of records. No LLM premium.\n\n| Tool | Purpose |\n|------|---------|\n| `frame.select@1` | Keep, rename, or drop columns |\n| `frame.filter@1` | Row filtering |\n| `frame.sort@1` | Multi-field sorting |\n| `frame.group@1` | Group and aggregate |\n| `frame.pivot@1` | Reshape long data to wide data |\n| `frame.slice@1` | Paginate or take top-N rows |\n| `frame.join@1` | Join record lists on shared keys |\n| `frame.pluck@1` | Pull a single field out as a list |\n\nSee [Frame Tools](frame-tools).\n\n### Math\n\nDeterministic numeric generation, statistics, and modeling.\n\n| Tool | Purpose |\n|------|---------|\n| `math.range@1` / `math.linspace@1` / `math.sequence@1` | Generate numeric series |\n| `math.sample@1` / `math.interpolate@1` | Sampling and interpolation utilities |\n| `math.describe@1` / `math.window@1` | Descriptive stats and rolling analysis |\n| `math.correlate@1` / `math.trend@1` | Relationship and trend analysis |\n| `math.normalize@1` / `math.outliers@1` / `math.rank@1` | Cleanup, normalization, and ranking |\n\nSee [Math Tools](math-tools).\n\n### Prism\n\nAI-assisted transformation, analysis, rendering, and visualization.\n\n| Tool | Purpose |\n|------|---------|\n| `prism.refract@1` | Natural-language data transformation |\n| `prism.analyze@1` | Structured reasoning over payloads |\n| `prism.focus@1` | Focused extraction or type-bridging tasks |\n| `prism.chart@1` | Chart generation |\n| `prism.render@1` | Render markdown, HTML, or text output |\n| `prism.export@1` | Export data into other formats |\n| `prism.paginate@1` | Navigate large result sets |\n\nSee [Prism Tools](prism-tools).\n\n### Logic\n\nPersistent symbolic memory and reusable constraints.\n\n| Tool | Purpose |\n|------|---------|\n| `logic.hydrate@1` | Build context for a goal from saved facts |\n| `logic.remember@1` / `logic.assert@1` | Store facts |\n| `logic.query@1` | Query facts via natural language, patterns, or raw logic |\n| `logic.constrain@1` | Add reusable rules and guardrails |\n| `logic.forget@1` | Remove outdated facts |\n| `logic.reflect@1` | Summarize what is known |\n| `logic.worlds@1` | List or manage isolated namespaces |\n| `logic.export@1` / `logic.import@1` | Move knowledge in and out |\n| `logic.tabulate@1` | Return facts in table-friendly form |\n\nSee [Logic Tools](logic-tools).\n\n### Flow And Inspect\n\nWorkflow orchestration plus execution review.\n\n| Tool | Purpose |\n|------|---------|\n| `flow.into@1` | Execute a named skill or inline workflow |\n| `flow.route@1` | Conditional branching |\n| `flow.request-approval@1` | Human approval checkpoint |\n| `flow.request-feedback@1` | Collect missing input mid-workflow |\n| `inspect.execution-history@1` | Review recent runs |\n| `inspect.execution-details@1` | Retrieve detailed execution context |\n| `inspect.ctc-executions@1` | Review certified executions for a skill |\n\nSee [Flow and Inspect Tools](flow-inspect-tools).\n\n### Warden\n\nSafety and adversarial-content review.\n\n| Tool | Purpose |\n|------|---------|\n| `warden.canary@1` | Protocol-integrity checks |\n| `warden.intent@1` | Intent and authority analysis |\n| `warden.adjudicate@1` | Rule-backed threat evaluation |\n| `warden.ensemble@1` | Combined multi-stage verdict |\n\nSee [Warden Tools](warden-tools).\n\n### Invariant\n\nSemantic code analysis and alignment checking.\n\n| Tool | Purpose |\n|------|---------|\n| `invariant.code_lens@1` | Extract structural and semantic code facts |\n| `invariant.code_query@1` | Query stored code facts |\n| `invariant.diff_analyzer@1` | Compare changes against the intended goal |\n\nSee [Invariant Tools](invariant-tools).\n\n### Toolsmith\n\nCreate, refine, browse, and invoke reusable saved skills.\n\n| Tool | Purpose |\n|------|---------|\n| `toolsmith.forge@1` | Create a new saved skill from a goal |\n| `toolsmith.temper@1` | Refine or fork an existing skill |\n| `toolsmith.catalog@1` | Browse saved skills and invocation hints |\n| `toolsmith.invoke@1` | Run a saved catalog skill directly by `skill_id` |\n\nSee [Toolsmith Tools](toolsmith-tools).\n\n### Ephemerals\n\nWorking-memory visibility for active cached results.\n\n| Tool | Purpose |\n|------|---------|\n| `ephemerals.list@1` | List active cached datasets |\n| `ephemerals.inspect@1` | Inspect schema, preview rows, and expiry |\n\nSee [Ephemerals Tools](ephemerals-tools).\n\n### Tasks\n\nDurable handles for background work.\n\n| Tool | Purpose |\n|------|---------|\n| `tasks.status@1` | Poll current task state |\n| `tasks.wait@1` | Reattach briefly and wait for progress |\n| `tasks.list@1` | Review recent background work |\n| `tasks.result@1` | Fetch the finished result |\n| `tasks.cancel@1` | Cancel stale work |\n\nSee [Tasks Tools](tasks-tools).\n\n### Deliverables\n\nPersistent work products such as reports, exports, charts, and packaged data.\n\n| Tool | Purpose |\n|------|---------|\n| `deliverables.list@1` | Search or browse saved deliverables |\n| `deliverables.get@1` | Retrieve a deliverable by ref |\n| `deliverables.register@1` | Save a new deliverable |\n\nSee [Deliverables Tools](deliverables-tools).\n\n### Scheduler And Governor\n\nRecurring execution and session-level operating state.\n\n| Tool | Purpose |\n|------|---------|\n| `scheduler.create@1` / `scheduler.list@1` / `scheduler.cancel@1` | Manage scheduled work |\n| `governor.enable@1` / `governor.status@1` / `governor.disable@1` | Control session-level awareness and monitoring |\n\nSee [Scheduler Tools](scheduler-tools).\n\n### Latent\n\nConceptual expansion, angular navigation, and boundary discovery.\n\n| Tool | Purpose |\n|------|---------|\n| `latent.expand@1` | Expand a concept in depth, breadth, or bridge mode |\n| `latent.orient@1` | Navigate to a specific angular position in a concept's latent neighbourhood |\n| `latent.horizon@1` | Find the boundary of a neighbourhood and optionally expand beyond it |\n\n### Flux\n\nOutcome review and quality signals.\n\n| Tool | Purpose |\n|------|---------|\n| `flux.feedback@1` | Record qualitative feedback |\n| `flux.scorecard@1` | Generate a structured evaluation snapshot |\n| `flux.track@1` | Record custom events related to usage or outcomes |\n\nSee [Flux Tools](flux-tools).\n\n---\n\n## Naming Notes\n\n- First-party tools use `data-grout@1/{suite}.{tool}@{version}`.\n- Integration tools use `{integration}@{version}/{tool}@{version}`.\n- Some clients require simplified function names; DataGrout can serve compatible aliases automatically.\n\nSee [Tool Naming and Compatibility](tool-naming).\n\n---\n\n## Error Shape\n\nTools return structured errors such as:\n\n```json\n{\n  \"error\": {\n    \"code\": \"tool_not_found\",\n    \"message\": \"Tool 'salesforce@1/nonexistent@1' not found\"\n  }\n}\n```\n\nCommon codes include `tool_not_found`, `invalid_arguments`, `upstream_error`, `timeout`, `rate_limit`, and `policy_violation`.\n\n---\n\n## Related\n\n- [Discovery Tools](discovery-tools)\n- [Data Tools](data-tools)\n- [Frame Tools](frame-tools)\n- [Math Tools](math-tools)\n- [Prism Tools](prism-tools)\n- [Logic Tools](logic-tools)\n- [Flow and Inspect Tools](flow-inspect-tools)\n- [Warden Tools](warden-tools)\n- [Invariant Tools](invariant-tools)\n- [Toolsmith Tools](toolsmith-tools)\n- [Ephemerals Tools](ephemerals-tools)\n- [Tasks Tools](tasks-tools)\n- [Deliverables Tools](deliverables-tools)\n- [Scheduler Tools](scheduler-tools)\n- [Flux Tools](flux-tools)\n- [Tool Naming and Compatibility](tool-naming)\n- [Conduit SDK](conduit-sdk)\n"
}