Repository navigation
feat: goat-plugin-satohub — Preflight and search as a GOAT SDK plugin - #1
Merged
Merged
Conversation
Two read-only tools for GOAT agents: satohub_preflight and satohub_search_resources, wrapping satohub-core verbatim. Keyless, chain-agnostic, never touches the wallet. unknown carries its reading beside it; network, timeout and HTTP failures throw SatohubRequestError saying they are not a verdict; a mismatched signature still throws. Standalone package because goat-sdk/goat is archived (2026-07-02) and accepts no pull requests. Not published; see PUBLISHING.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
satohubai
added a commit
that referenced
this pull request
Oct 2, 2026
…#1) Two read-only tools for GOAT agents: satohub_preflight and satohub_search_resources, wrapping satohub-core verbatim. Keyless, chain-agnostic, never touches the wallet. unknown carries its reading beside it; network, timeout and HTTP failures throw SatohubRequestError saying they are not a verdict; a mismatched signature still throws. Standalone package because goat-sdk/goat is archived (2026-07-02) and accepts no pull requests. Not published; see PUBLISHING.md. Co-authored-by: Sato <304106862+satohubai@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
packages/goat-plugin-satohub: Sato Hub Preflight and index search as a GOAT SDK plugin. Do not merge until the owner has reviewed it. It is not published to npm.Why it lives here and not in goat-sdk/goat
Upstream is closed to new plugins:
f2eedc2.@goat-sdk/core0.5.0 (last published 2025-05-13) still gets about 1.6k downloads a week (api.npmjs.org, week ending 2026-09-21). People are still building on it, so the plugin ships as its own npm package.What it is
Two tools, following GOAT's layout (
satohub.plugin.ts,satohub.service.ts,parameters.ts,@Tool+createToolParameters):satohub_preflightsatohub-corepreflight()→GET /api/preflight(Ed25519-signed)satohub_search_resourcessatohub-coresearchResources()→ MCPonchain_agent_search_resources_sato(signature state, source, citation ask), the same envelope the LangChain package uses. Descriptions and schemas aresatohub-core's, imported as they are.unknownis labelled honestly. When the verdict isunknown,_sato.readingsays Sato Hub holds no record, and that this is not a finding.SatohubRequestError, and its message says it is not a verdict. On a 4xx, Sato Hub's own one-lineerroris passed along (for example "?token= needs ?chain="). A signature that doesn't match still throwsSatoSignatureError.goat-plugin-satohub/0.1.0. It does not start withSatoHub-, because Sato Hub's Observatory counts that prefix as our own traffic, and a GOAT agent using this plugin is not us.supportsChainreturns true.Real output
This call went through GOAT's own
getToolsand hit satohub.ai on 2026-09-23. The first evidence list is cut to three lines:Checks run locally (Node 25)
npm run typecheck: all six workspaces cleannpm test: 55/55 (goat-plugin-satohub 16, elizaos 14, core 14, ai-sdk 6, langchain 5). Every test uses a mocked fetch.biome checkwith GOAT's owntypescript/biome.json: cleannpm pack --dry-run -w goat-plugin-satohubships onlydist/,README.md,LICENSEandpackage.jsonOwner step after merge
Run
npm publish --access public -w goat-plugin-satohub(see PUBLISHING.md).satohub-core@0.1.0is already on npm. There is no upstream registry PR to follow, because GOAT is archived.🤖 Generated with Claude Code