Skip to content

feat(agent): add pluggable tool catalog retrieval and on-demand schema contract (T41) - #175

Merged
yuluo-yx merged 1 commit into
agentic-ai-java:mainfrom
yangjj-iso:feat/tool-catalog-t41
Oct 20, 2026
Merged

yuluo-yx merged 1 commit into
agentic-ai-java:mainfrom
yangjj-iso:feat/tool-catalog-t41

Conversation

@yangjj-iso

Copy link
Copy Markdown
Contributor

Confirmed contribution to ARGI: adds an opt-in, backend-neutral tool catalog (provider-qualified ToolId, trusted access filtering before summary retrieval and again at on-demand schema release, version- and digest-pinned OfferedTool snapshots mapped to tool_catalog definition references, keyword/rule search strategy, reference in-memory provider, and a bounded fail-closed ToolCatalogInterceptor that leaves execution authorization to the tool boundary and keeps existing tools builder/ToolSelection/Skills behavior unchanged), closes #144.

…a contract (T41)

Add an opt-in, backend-neutral tool catalog in argi-agent-framework:

- ToolId (provider + name) gives tools a stable qualified identity that is
  also the model-facing name, so equal names from different providers never
  collide.
- ToolCatalogProvider adapts any backend; InMemoryToolCatalogProvider is the
  reference catalog and can wrap an existing ToolRegistry.
- ToolCatalog filters every summary through a trusted ToolCatalogAccessPolicy
  before ranking, re-checks access when releasing a schema, rejects guessed
  ids without revealing why, bounds results and offers, and only caches
  summaries per provider revision (never access decisions).
- OfferedTool records the offered version and definition digest and maps to a
  tool_catalog DefinitionReference; resolveOffered never substitutes another
  version.
- KeywordToolCatalogSearchStrategy provides dependency-free keyword and rule
  retrieval (with Han bigrams); other strategies plug in via
  ToolCatalogSearchStrategy.
- ToolCatalogInterceptor discloses matched tools through the dynamic tool
  registry. Empty, unauthenticated or failed searches disclose nothing, and
  execution is still authorized at the tool execution boundary.
- ModelRequest gains an optional typed trusted execution context that
  AgentLlmNode propagates from RunnableConfig.

Refs agentic-ai-java#144
@yangjj-iso
yangjj-iso force-pushed the feat/tool-catalog-t41 branch from eeb7b25 to 014bc77 Compare October 19, 2026 05:44

@yuluo-yx yuluo-yx left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for you

@yuluo-yx
yuluo-yx merged commit edbb82d into agentic-ai-java:main Oct 20, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[P2][T41] 提供可插拔工具目录检索与按需 Schema 加载契约

2 participants