-
Notifications
You must be signed in to change notification settings - Fork 10
tachyon api
Verdict: contract module. User-facing SAMs, descriptors, requests, results, domain content types, runtime context, JSON SPI, stability annotations. No Netty, no Jackson in public signatures.
InteractionContext: protocolVersion(), lifecycle() (INITIALIZATION|OPERATION|SHUTDOWN), sessionId() (null stateless), isExtensionEnabled(id), notifications() (log, progress(token,β¦), comment), client() (elicitation().create(...)), sendRequest(method, params) (@ExperimentalApi, raw JSON string future), typed attributes get/set(AttributeKey).
Runtime impl in core: DefaultDispatchContext (per request, wraps channel ctx) β tachyon-core.
ElicitationRequest#builder
and ElicitationResult#builder
are records: canonical constructors stay for source/binary compatibility with published betas.
Both add of(...) and a hand-written Builder with from; request message/schema and result
action are required (compact ctor requireNonNull), result content is nullable.
-
ToolResultsealedSuccess | Error | InputRequired | Task+ staticstext,content,structured(payload[, text]),error,empty,task,raw(json,text),inputRequired(reqs, state)ToolResult. -
PromptResultsealedMessages | InputRequiredPromptResult. -
InputRequired(MRTR:inputRequestsmap + opaquerequestState); follow-up request carriesinputResponses+requestState(ToolRequest#arguments).
tachyon-api/src/test/java/dev/tachyonmcp/api/ β JsonObjectTest, JsonSchemaTest, ArgsTest, UriTemplateTest, ToolResultTest, HandlerFnContractTest, HandlerFuturesTest, descriptor tests.
π source .llm-wiki/modules/tachyon-api.md Β· updated 2026-09-15 Β· verified at b1aeff64 Β· tags [module, api]
π§ Start
βοΈ Concepts (cross-cutting)
- request-lifecycle
- netty-pipeline
- protocol-versions
- sessions
- sse-streams
- feature-registries
- tasks
- extensions
- json-layer
- errors
- concurrency
- declarative-configuration
- configuration
- security-guards
- observability
- api-stability
π¦ Modules