Conversation
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…f accumulating (#158) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…tream produced (#159) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Saigyouji-Yuyuko1000
approved these changes
Jul 20, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Release 0.4.0 by promoting the dev line of changes to main, including a breaking data-model update to preserve wire-level replay fidelity across providers and tightening streaming/error behavior across both the Python and TypeScript SDKs.
Changes:
- Replace per-item
signature/phasefields with a single opaquefidelitypayload across content items (breaking; enables exact replay, including reasoning-field spelling). - Harden streaming behavior: contextual tool-call JSON parse errors (
ToolCallArgumentParseError) and rejection of thinking-only responses (EmptyResponseError) under a sharedAgentHubErrorbase class. - Restructure skills documentation into a “reference/” layout, update changelog detail files, and bump package metadata to 0.4.0.
Reviewed changes
Copilot reviewed 58 out of 60 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src_ts/tests/tool-call-arguments.test.ts | Adds TS regression coverage for streamed tool-call argument parsing errors. |
| src_ts/tests/reasoning-fidelity.test.ts | Adds TS coverage for reasoning-field replay fidelity and phase-based concatenation. |
| src_ts/tests/empty-response.test.ts | Adds TS coverage for rejecting thinking-only / empty responses and error hierarchy. |
| src_ts/src/types.ts | Introduces Fidelity and migrates content items to fidelity?: .... |
| src_ts/src/openai/client.ts | Records/replays exact reasoning field; routes tool-call JSON parsing through shared helper. |
| src_ts/src/kimi_k2_6/client.ts | Same reasoning-field fidelity + tool-call parse hardening for Kimi. |
| src_ts/src/index.ts | Exports new error types from the TS package root. |
| src_ts/src/gpt5_5/client.ts | Moves phase/reasoning signature handling into fidelity; shared tool-call argument parsing. |
| src_ts/src/glm5_1/client.ts | Same reasoning-field fidelity + tool-call parse hardening for GLM. |
| src_ts/src/gemini3/client.ts | Migrates Gemini thought signatures into fidelity.signature. |
| src_ts/src/errors.ts | Adds AgentHubError, EmptyResponseError, ToolCallArgumentParseError, and parseToolCallArguments. |
| src_ts/src/deepseek_v4/client.ts | Records reasoning-field fidelity and uses shared tool-call argument parsing. |
| src_ts/src/claude5/index.ts | Exports Claude5Client. |
| src_ts/src/claude5/client.ts | Migrates Claude thinking signatures into fidelity.signature; shared tool-call argument parsing. |
| src_ts/src/claude4_6/client.ts | Migrates Claude thinking signatures into fidelity.signature; shared tool-call argument parsing. |
| src_ts/src/baseClient.ts | Updates concatenation rules to key off fidelity; validates non-thinking output. |
| src_ts/src/autoClient.ts | Updates TS auto-routing to include Claude 5 and avoids embedding misrouting. |
| src_ts/package.json | Bumps TS package to 0.4.0 and normalizes repository links. |
| src_ts/package-lock.json | Locks TS version bump to 0.4.0. |
| src_py/tests/test_tool_call_arguments.py | Adds Python regression coverage for streamed tool-call argument parsing errors. |
| src_py/tests/test_reasoning_fidelity.py | Adds Python coverage for reasoning-field replay fidelity and phase-based concatenation. |
| src_py/tests/test_empty_response.py | Adds Python coverage for rejecting thinking-only / empty responses and error hierarchy. |
| src_py/pyproject.toml | Bumps Python package to 0.4.0 and adds project URLs. |
| src_py/agenthub/types.py | Introduces Fidelity and migrates content items to fidelity. |
| src_py/agenthub/openai/client.py | Records/replays exact reasoning field; routes tool-call JSON parsing through shared helper. |
| src_py/agenthub/kimi_k2_6/client.py | Same reasoning-field fidelity + tool-call parse hardening for Kimi. |
| src_py/agenthub/gpt5_5/client.py | Moves phase/reasoning signature handling into fidelity; shared tool-call argument parsing. |
| src_py/agenthub/glm5_1/client.py | Same reasoning-field fidelity + tool-call parse hardening for GLM. |
| src_py/agenthub/gemini3/client.py | Migrates Gemini thought signatures into fidelity.signature and null-guards content parts. |
| src_py/agenthub/errors.py | Adds AgentHubError, EmptyResponseError, ToolCallArgumentParseError, and parse_tool_call_arguments. |
| src_py/agenthub/deepseek_v4/client.py | Records reasoning-field fidelity and uses shared tool-call argument parsing. |
| src_py/agenthub/claude5/client.py | Migrates Claude thinking signatures into fidelity.signature; shared tool-call argument parsing. |
| src_py/agenthub/claude5/init.py | Exports Claude5Client from the Python claude5 module. |
| src_py/agenthub/claude4_6/client.py | Migrates Claude thinking signatures into fidelity.signature; shared tool-call argument parsing. |
| src_py/agenthub/base_client.py | Updates concatenation rules to key off fidelity; validates non-thinking output. |
| src_py/agenthub/auto_client.py | Updates Python auto-routing to include Claude 5 and avoids embedding misrouting. |
| src_py/agenthub/init.py | Exports new Python error types from the package root. |
| skills/agenthub-typescript/SKILL.md | Rehomes model/docs content into reference pages; updates examples and fidelity guidance. |
| skills/agenthub-typescript/reference/models.md | Adds TS model-selection reference page. |
| skills/agenthub-typescript/reference/integrations.md | Adds TS tracer/playground integrations reference page. |
| skills/agenthub-typescript/reference/data-models.md | Adds TS data model + tool-streaming protocol + error reference page. |
| skills/agenthub-typescript/reference/api.md | Adds TS API reference page. |
| skills/agenthub-python/SKILL.md | Rehomes model/docs content into reference pages; updates examples and fidelity guidance. |
| skills/agenthub-python/reference/models.md | Adds Python model-selection reference page. |
| skills/agenthub-python/reference/integrations.md | Adds Python tracer/playground integrations reference page. |
| skills/agenthub-python/reference/data-models.md | Adds Python data model + tool-streaming protocol + error reference page. |
| skills/agenthub-python/reference/api.md | Adds Python API reference page. |
| README.md | Updates README examples to use fidelity.signature and notes Claude 5 in the matrix. |
| llmsdk_docs/gpt5_5/README.md | Adds reasoning doc link in GPT-5.5 snapshot index. |
| llmsdk_docs/gpt5_5/docs/reasoning.md | Snapshots reasoning/phase guidance for GPT-5.x reasoning models. |
| llmsdk_docs/claude5/README.md | Adds Claude 5 docs index. |
| llmsdk_docs/claude5/docs/introducing-claude-fable-5-and-claude-mythos-5.md | Snapshots Claude 5 release notes / behavior notes. |
| changelog/README.md | Introduces per-entry changelog detail file convention. |
| changelog/2026-07-20-reasoning-field-fidelity.md | Adds migration + rationale for the breaking fidelity change. |
| changelog/2026-07-17-agenthub-dev-skill.md | Documents addition of the agenthub-dev workflow skill and changelog details dir. |
| CHANGELOG.md | Adds 0.4.0 release line and links to detail files. |
| .gitignore | Ignores api_captures/ used for raw live API capture artifacts. |
| .agents/skills/agenthub-dev/SKILL.md | Adds a fixed workflow skill for model-support development in this repo. |
Files not reviewed (1)
- src_ts/package-lock.json: Generated file
Comments suppressed due to low confidence (1)
src_py/agenthub/claude5/client.py:209
item["fidelity"]["signature"]is accessed unconditionally for Claude thinking items. If a caller passes a history withoutfidelity.signature(e.g., hand-built history or pre-0.4.0 history that wasn’t migrated), this will raise aKeyError. Consider validating presence and raising a clearer error.
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.
Promote
devtomainfor the 0.4.0 release. Version is already bumped to 0.4.0 in both packages (#160).Highlights since 0.3.3
fidelitycontent-item payload (breaking) — replaces the per-itemsignature/phasefields with one opaque JSON payload of wire-fidelity data (Claude/Gemini signatures, GPT-5.5{id, encrypted_content}andphase, OpenAI-compatiblereasoning_field). OpenAI-compatible clients now replay thinking through exactly the reasoning field the upstream produced (reasoning_contentvsreasoning) instead of always sending both spellings. Histories recorded by 0.3.x needsignature/phasemoved underfidelityto replay — see changelog/2026-07-20-reasoning-field-fidelity.md. (Add the fidelity payload and replay the exact reasoning field the upstream produced #159)ToolCallArgumentParseError(fix: report malformed streamed tool arguments #155); thinking-only responses raiseEmptyResponseError; both inherit the newAgentHubErrorbase class (fix: reject thinking-only responses from reasoning models #157).agenthub-devdevelopment-workflow skill and thechangelog/details directory;usage_metadatadocumented as a snapshot (docs(skills): usage_metadata is a snapshot, take the latest instead of accumulating #158); GPT-5.5 reasoning guide (including thephaseparameter) snapshotted intollmsdk_docs/; package metadata links updated (Update package metadata links #150).Both CI suites (Python 3.11 and Node 20, including live-API e2e) are green on
devas of #160.Suggest merging with a merge commit (not squash) to preserve
devhistory, matching the 0.3.3 release, then taggingv0.4.0.🤖 Generated with Claude Code
https://claude.ai/code/session_01J8bNMvyPJ7muyDs4Fh9ZLF