目录
IPender

feat(officialmcp): reconnecting session via ClientSession anti-corruption interface (#889)

  • feat(components): upgrade officialmcp with tool name mapping, session management, and result policies

Add ToolNameMapper, MetadataMode, ListToolsMode, ResultPolicy, DescriptionPolicy, and ToolCallResultHandler/V2 to officialmcp Config. Introduce session sub-package for streamable HTTP and stdio transport lifecycle management.

Change-Id: Ie23aee61a185672106680f73998a4093d7bfb40f

  • fix(adk): respect explicit execute mode precedence

Change-Id: I46254284516e09606572fb5da57f108446270db7

  • feat(adk): route auto/background+wait streaming through rich path

ExecuteStreaming now bridges to executeRich via a single-frame stream when Mode=auto or Mode=background with WaitMS>0, ensuring symmetric exit-code propagation and timer-based backgrounding semantics with the non-streaming Execute path. Adds attack regression tests covering default wait, non-zero exit, context cancellation, timer backgrounding, background+wait completion, and early receiver close.

Change-Id: Idbca60aae9827e4139f618bd54d779202a67a7ea

  • feat(officialmcp): reconnecting session via ClientSession anti-corruption interface

Bump go-sdk to v1.6.1 and make Config.Cli a ClientSession interface (ListTools/CallTool/Ping/Close) that *mcp.ClientSession satisfies directly. Classify connection-level failures (ErrConnectionClosed/ErrSessionMissing) as ErrorKindConnection, distinct from protocol-level rejections, so bad-args tool calls cannot cause reconnect churn. The session package’s Session implements the interface and transparently rebuilds the underlying go-sdk session on connection-level errors (single reconnect under concurrent failures).

Co-Authored-By: Claude Opus 4 noreply@anthropic.com

  • feat(mcp): update eino

  • feat(mcp): add http.Client

  • fix(officialmcp): correct reconnect close ordering and truncation meta

  • session: dial before discarding the stale session so a failed reconnect no longer leaves a closed session installed as current (which made every retry re-close the same session).
  • mcp: report the actual payload rune count in _meta.returnedChars instead of the maxChars budget, which overstated the returned size.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com

  • revert(adk): restore local backend to main

Change-Id: I0a3de8e3dbabf45cc963d058592500afd4105f0f

  • fix(officialmcp): classify reconnect failure as connection error

Address PR review feedback:

  • reconnect() now wraps a failed dial as officialmcp.Error{Kind: ErrorKindConnection} (StartupError preserved as cause), so an unreachable server is recognized by IsConnectionError instead of being misclassified as a call/list protocol error by the default branch.
  • Clarify the Session/reconnect docs: only a successful reconnect is shared across a burst of concurrent connection errors; a failed reconnect leaves the stale session installed and each waiting caller redials until one succeeds.

Add tests for the reconnect-failure classification and the nil-client guard.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com


Co-authored-by: shentong.martin shentong.martin@bytedance.com Co-authored-by: Claude Opus 4 noreply@anthropic.com

2天前532次提交

Eino Extension

English | 中文

Overview

The EinoExt project hosts various extensions for the Eino framework. Eino framework is a powerful and flexible framework for building LLM applications. The extensions include:

  • component implementations: official implementations for Eino’s component types.
component type official implementations
ChatModel OpenAI, Claude, Gemini, Ark, Ollama…
Tool Google Search, Duck Duck Go…
Retriever Elastic Search, Volc VikingDB…
ChatTemplate DefaultChatTemplate…
Document Loader WebURL, Amazon S3, File…
Document Transformer HTMLSplitter, ScoreReranker…
Indexer Elastic Search, Volc VikingDB…
Embedding OpenAI, Ark…
Lambda JSONMessageParser…

For more details about component types, please refer to the Eino component documentation.

For more details about component implementations, please refer to the Eino ecosystem documentation.

  • callback handlers: official callback handlers implementing Eino’s CallbackHandler interface, such as Langfuse tracing callback.
  • DevOps tools: IDE plugin for Eino that enables visualized debugging, UI based graph editing and more. For more details, please refer to the Eino Dev tooling documentation.

Security

If you discover a potential security issue in this project, or think you may have discovered a security issue, we ask that you notify Bytedance Security via our security center or vulnerability reporting email.

Please do not create a public GitHub issue.

License

This project is licensed under the Apache-2.0 License.

关于
27.4 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号