Minor Changes
-
adc99e9: Move the
.md-skill-directory loader (createSkillsRegistry) and the per-entity skill tool builder (createSkillTools) — together with theSkillsRegistry/SkillMetatypes and the underlyingpreamble/extract-metahelpers — out of@electric-ax/agentsand into@electric-ax/agents-runtime, alongside the rest of the entity-runtime primitives.No behaviour change. Same files, re-rooted to the package whose dependencies they already use: skills depend on
completeWithLowCostModeland the runtime logger, both already inagents-runtime. The skills code uses zero symbols defined in@electric-ax/agents, so the previous arrangement had the dependency graph pointing the wrong way.This makes the skills primitives available to any package built on top of
agents-runtime(e.g. external Discord / Slack / CLI bots) without pulling in Horton, Worker, orBuiltinAgentsServeras transitive context.Existing internal call sites in
@electric-ax/agents(bootstrap.ts,agents/horton.ts) now import from@electric-ax/agents-runtime. No public API of@electric-ax/agentsis affected — the skills surface was never re-exported from itsindex.ts, so embedders that only consumed Horton / Worker / Server APIs continue to work unchanged.
Patch Changes
- 9c275b7: Add
sendtool exposingctx.send()to LLM agents (Horton and Worker) for sending messages to Electric entities by URL. Changesend()return type fromvoidtoPromise<SendResult>so callers can await delivery confirmation and handle failures with structured error results. - 1ab43f5: The built-in
bashtool's description no longer claims commands run in a sandboxed working directory. Behavior is unchanged; sandboxing is a deployment-time concern that lives outside the tool definition. - 99ac6fd: Pin Durable Streams dependencies to commit
5d5c217so local development resolves the same subscription-control routing code as the PR build.