SkillKit.Tools.WebhookInbox (SkillKit v0.1.0)

Copy Markdown View Source

Tool for reading webhook deliveries that have landed in the calling agent's inbox.

Injected into the sub-loop's tool set by SkillKit.Webhook.Message.send_event_opts/3 during webhook delivery processing; not part of the agent's main conversation tool list. Dispatches to whatever SkillKit.Webhook.Inbox implementation the host has configured — Memory by default, swappable.

Context

The tool expects the following keys in its %ToolExecution{}.context:

  • :inbox_module — the module implementing SkillKit.Webhook.Inbox
  • :inbox — the registered inbox handle (name / pid / via-tuple)
  • :agent_name — the calling agent's name; used to scope reads so agent A can't read agent B's deliveries

These are populated by Message.send_event_opts/3 from the inbox_ref the Inbox impl passes when calling Inbox.dispatch/2.

Operations

  • list — recent delivery summaries for this agent (newest first)
  • summary — structural shape tree for one delivery (by id)
  • read — sliced value from one delivery (by id + selector)
  • delete — evict one delivery (by id)

Read slicing

See SkillKit.Webhook.Inbox module docs for selector syntax and slicing opts (offset, limit, offset_bytes, limit_bytes, line_start, line_end, as).

Tool name and description live in TOOL.md next to this file; the input_schema (parameter contract) stays here in code.

Summary

Functions

Returns the agent definition from AGENT.md, or nil if not present.

Tool input schema. Override to declare parameters; defaults to an empty object. Called from the generated definition/0.

Functions

agent_definition()

Returns the agent definition from AGENT.md, or nil if not present.

input_schema()

Tool input schema. Override to declare parameters; defaults to an empty object. Called from the generated definition/0.