Skip to content

Commit 9e3ca24

Browse files
authored
Merge pull request #540 from code-yeongyu/fix/calver-update-ordering-release
fix(coding-agent): respect CalVer update ordering
2 parents 77a7680 + 19f6ea1 commit 9e3ca24

31 files changed

Lines changed: 954 additions & 112 deletions

package-lock.json

Lines changed: 29 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
},
7373
"overrides": {
7474
"@hono/node-server": "2.0.10",
75-
"brace-expansion": "5.0.7",
75+
"brace-expansion": "5.0.8",
7676
"esbuild": "0.28.1",
7777
"fast-uri": "3.1.4",
7878
"protobufjs": "7.6.5",

packages/agent/CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,24 @@
1212

1313
### Removed
1414

15+
## [2026.7.30-2] - 2026-07-30
16+
17+
### Breaking Changes
18+
19+
### Added
20+
21+
### Changed
22+
23+
### Fixed
24+
25+
- Retry one Kimi-family provider turn when it ends with `stop` but contains neither non-empty visible text nor a tool
26+
call. A successful retry is committed once with an `empty_assistant_response_recovery` diagnostic; a second empty
27+
result becomes a visible bounded error instead of silently ending the session or looping. Error, abort, refusal,
28+
length, and tool-call terminal states retain their prior behavior
29+
([#523](https://github.com/code-yeongyu/senpi/pull/523)).
30+
31+
### Removed
32+
1533
## [2026.7.30] - 2026-07-30
1634

1735
### Breaking Changes

packages/agent/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@earendil-works/pi-agent-core",
33
"private": true,
4-
"version": "2026.7.30",
4+
"version": "2026.7.30-2",
55
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
66
"type": "module",
77
"main": "./dist/index.js",
@@ -30,7 +30,7 @@
3030
"prepublishOnly": "npm run build"
3131
},
3232
"dependencies": {
33-
"@earendil-works/pi-ai": "^2026.7.30",
33+
"@earendil-works/pi-ai": "^2026.7.30-2",
3434
"diff": "9.0.0",
3535
"ignore": "7.0.6",
3636
"typebox": "1.3.8",

packages/ai/CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,27 @@
1212

1313
### Removed
1414

15+
## [2026.7.30-2] - 2026-07-30
16+
17+
### Breaking Changes
18+
19+
### Added
20+
21+
### Changed
22+
23+
### Fixed
24+
25+
- Recover Kimi-family visible response channels that arrive inside structural XTML thinking streams. Text is
26+
promoted only after an explicit response-open boundary, while structural markers are sanitized without exposing
27+
closing-marker-only chain-of-thought. Harden recovery to strip malformed unnamed channels, `tools` and other valid
28+
named channels, and bare XTML open / close / separator tokens, including markers split across stream chunks.
29+
Recovery preserves XTML-looking inline and fenced code, runs even when no tools are registered, and remains
30+
isolated to Kimi-family models
31+
([#523](https://github.com/code-yeongyu/senpi/pull/523),
32+
[#537](https://github.com/code-yeongyu/senpi/pull/537)).
33+
34+
### Removed
35+
1536
## [2026.7.30] - 2026-07-30
1637

1738
### Breaking Changes

packages/ai/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@earendil-works/pi-ai",
33
"private": true,
4-
"version": "2026.7.30",
4+
"version": "2026.7.30-2",
55
"description": "Unified LLM API with automatic model discovery and provider configuration",
66
"type": "module",
77
"main": "./dist/index.js",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"schemaVersion":3,"generatedAt":"2026-07-30T04:33:22.839Z","structureHash":"b5dbf1be4a068c44378ff8d83933d7687dd578dfb665397ecffb89eece418cdb","files":{"alibaba-token-plan.json":"035d203854e829da426a10815b6584f993afe02e5a6e6ced3691af8ac7fee34f","amazon-bedrock.json":"c708d628e0cbfbe019a5a6bd8dce5f2a8935435b7d84e88e6c04c99e1da50966","ant-ling.json":"4979fe79d99ed97382d7ce40170c6132e932e77906de1eb54464c042e7d63633","anthropic.json":"507e001822a65921f50e3d355545435a6427ed079dc1ca91028a448f62d37c5c","azure-openai-responses.json":"2d13ecc23826b5be73f3628fca5f70cc2c5c15ff609b41e4acba8167cd40934b","cerebras.json":"3fd3e19b83ab4be07d27817e25e5be0ffe4158b1394f0311d6a22d9f03847728","cloudflare-ai-gateway.json":"0d51c8703213e583906369957ccf9302b4822859ad08771ac84207c2d5b9b0ca","cloudflare-workers-ai.json":"03b19d69433c843512e953390d51d4578e9b91f19098a9b14ff820c001623598","deepseek.json":"0dcc807a4e5827b488c6ceac87884ff6e735e01cf4f2ddfec9dd812e6fde041b","fireworks.json":"befd3127f292d32e62306da05469e93e10d8b0e6572dbc2df991e3f9671e12f2","github-copilot.json":"c2bd7951844e5aef1c186aec482b99954cfd02f89416de4fda94203cd6f43e11","google-vertex.json":"99d0b89ac9d8dc460ed922236abffbe88c9381af4d35046d2ad3a8f08fa2560c","google.json":"bcf8a8d59ccbb75bc6fb4a261a37ac4b7c806f40ee7313b4411178964be5fa37","groq.json":"868c90a897f75f866e09a585f6aee5cb991e40a9c3281497b5842a23de7d9add","huggingface.json":"d1952ba962c983a9f52a50323cf2475081a69b26b79467b3a9a9a06f8ab68899","kimi-coding.json":"9d73ca15313628bb8cf80c21e6466164e350d68471e2d7205b5e21bcd2c141f3","minimax-cn.json":"8ccd71ff838f4b78bb88809babb0dc32a4fcfaec2bc4f4083841000428df4f77","minimax.json":"253edd4c910a41c8bb252400ba099f3a4de0a8900ce154319288ab091b372987","mistral.json":"44531201e872713923b7544a1f75a048d31fa25292e3e1f9f896f608a52e412d","moonshotai-cn.json":"1e6146ff3477883636448c0f44222f0a52b3c4562ef8f4eecf7e941cdd59d12e","moonshotai.json":"d8d5209873058ddccd37c1f026833e2ea3f9476c3dc9628b4a940d407acc0b2e","nvidia.json":"33c498ab62940fe9ca659826c35cc922a77938a5f7edbe4443c10d9133323e87","openai-codex.json":"c3313710bc6910e6bbcb06d5867247e97ec3fa6c2af9bc780f8a3eefb03e32e1","openai.json":"7f0ec20441abeb6448162581294a5c8a7eb8d1e1ad672a9e13f601483a4f395a","opencode-go.json":"57a677764bc885c83fbbba46ad5d418baabe012a062424a0f6d8d488352102ce","opencode.json":"2cb45e5daef984d1af2c9a9e1306bf4eda6da6b642dc40e67d96e9159afb4405","openrouter.json":"451e75f991e5c02873796a86cd2c4e48eaa5a7bf4ae602006d4d8dce7bab6250","qwen-token-plan-cn.json":"a1495ccc21835c51d438207652f948aa9ecf4a3d784e81deaf313e484bdab1ec","qwen-token-plan.json":"597fae649f549a8ffb0b6a28426ea6761b7ece41a78b6fdef49ca970ac029970","together.json":"7192caa28dc8b59bca1d62d291708903413aac63e44d7b76362294171f2df018","vercel-ai-gateway.json":"61a283a7da10523a4cad819a43cef4932ffc1190d7718732c4d19ef8bedbd90c","xai.json":"4cbdbfbbf915246369b9bacbc6f1feeb56accdac9f3444456343f750547f2f38","xiaomi-token-plan-ams.json":"b1886b741867c90a838c377e86ad64b26ca6b0e349f1a75bc5fd4ed99df03c21","xiaomi-token-plan-cn.json":"11f459b794eddd64a9d9d102f2799c364732b7f0d562e22573f4995a5d1e1a30","xiaomi-token-plan-sgp.json":"0b9953d03b75260aba0ad604cc76d7ed26d6841448819e8c7488bf0d90948d2c","xiaomi.json":"edf39e0edd9dcae23e669635ea782e5870c0b9663d4b918b8ff9bd307cfe35f8","zai-coding-cn.json":"28fcb04ce65b4c6612a6b866902e0c832e18b685e5374578c4e2872569131d39","zai.json":"474670a0cf1109f4c296ea93d2c5c6eb8f53541dc9c0bddbb0e6cb054b971ebe"}}
1+
{"schemaVersion":3,"generatedAt":"2026-07-30T13:13:04.958Z","structureHash":"b5dbf1be4a068c44378ff8d83933d7687dd578dfb665397ecffb89eece418cdb","files":{"alibaba-token-plan.json":"035d203854e829da426a10815b6584f993afe02e5a6e6ced3691af8ac7fee34f","amazon-bedrock.json":"c708d628e0cbfbe019a5a6bd8dce5f2a8935435b7d84e88e6c04c99e1da50966","ant-ling.json":"4979fe79d99ed97382d7ce40170c6132e932e77906de1eb54464c042e7d63633","anthropic.json":"507e001822a65921f50e3d355545435a6427ed079dc1ca91028a448f62d37c5c","azure-openai-responses.json":"2d13ecc23826b5be73f3628fca5f70cc2c5c15ff609b41e4acba8167cd40934b","cerebras.json":"3fd3e19b83ab4be07d27817e25e5be0ffe4158b1394f0311d6a22d9f03847728","cloudflare-ai-gateway.json":"0d51c8703213e583906369957ccf9302b4822859ad08771ac84207c2d5b9b0ca","cloudflare-workers-ai.json":"03b19d69433c843512e953390d51d4578e9b91f19098a9b14ff820c001623598","deepseek.json":"0dcc807a4e5827b488c6ceac87884ff6e735e01cf4f2ddfec9dd812e6fde041b","fireworks.json":"befd3127f292d32e62306da05469e93e10d8b0e6572dbc2df991e3f9671e12f2","github-copilot.json":"c2bd7951844e5aef1c186aec482b99954cfd02f89416de4fda94203cd6f43e11","google-vertex.json":"99d0b89ac9d8dc460ed922236abffbe88c9381af4d35046d2ad3a8f08fa2560c","google.json":"bcf8a8d59ccbb75bc6fb4a261a37ac4b7c806f40ee7313b4411178964be5fa37","groq.json":"868c90a897f75f866e09a585f6aee5cb991e40a9c3281497b5842a23de7d9add","huggingface.json":"d1952ba962c983a9f52a50323cf2475081a69b26b79467b3a9a9a06f8ab68899","kimi-coding.json":"9d73ca15313628bb8cf80c21e6466164e350d68471e2d7205b5e21bcd2c141f3","minimax-cn.json":"8ccd71ff838f4b78bb88809babb0dc32a4fcfaec2bc4f4083841000428df4f77","minimax.json":"253edd4c910a41c8bb252400ba099f3a4de0a8900ce154319288ab091b372987","mistral.json":"44531201e872713923b7544a1f75a048d31fa25292e3e1f9f896f608a52e412d","moonshotai-cn.json":"1e6146ff3477883636448c0f44222f0a52b3c4562ef8f4eecf7e941cdd59d12e","moonshotai.json":"d8d5209873058ddccd37c1f026833e2ea3f9476c3dc9628b4a940d407acc0b2e","nvidia.json":"33c498ab62940fe9ca659826c35cc922a77938a5f7edbe4443c10d9133323e87","openai-codex.json":"c3313710bc6910e6bbcb06d5867247e97ec3fa6c2af9bc780f8a3eefb03e32e1","openai.json":"7f0ec20441abeb6448162581294a5c8a7eb8d1e1ad672a9e13f601483a4f395a","opencode-go.json":"57a677764bc885c83fbbba46ad5d418baabe012a062424a0f6d8d488352102ce","opencode.json":"2cb45e5daef984d1af2c9a9e1306bf4eda6da6b642dc40e67d96e9159afb4405","openrouter.json":"2f35a87725f351c0ccbacc38f6be83743ade79dda63c7e9076a83f9982f41f92","qwen-token-plan-cn.json":"a1495ccc21835c51d438207652f948aa9ecf4a3d784e81deaf313e484bdab1ec","qwen-token-plan.json":"597fae649f549a8ffb0b6a28426ea6761b7ece41a78b6fdef49ca970ac029970","together.json":"7192caa28dc8b59bca1d62d291708903413aac63e44d7b76362294171f2df018","vercel-ai-gateway.json":"a80a831a480e42ef520706a4a900859330ca97712a69c345c8a743bd9ffa6931","xai.json":"4cbdbfbbf915246369b9bacbc6f1feeb56accdac9f3444456343f750547f2f38","xiaomi-token-plan-ams.json":"b1886b741867c90a838c377e86ad64b26ca6b0e349f1a75bc5fd4ed99df03c21","xiaomi-token-plan-cn.json":"11f459b794eddd64a9d9d102f2799c364732b7f0d562e22573f4995a5d1e1a30","xiaomi-token-plan-sgp.json":"0b9953d03b75260aba0ad604cc76d7ed26d6841448819e8c7488bf0d90948d2c","xiaomi.json":"edf39e0edd9dcae23e669635ea782e5870c0b9663d4b918b8ff9bd307cfe35f8","zai-coding-cn.json":"28fcb04ce65b4c6612a6b866902e0c832e18b685e5374578c4e2872569131d39","zai.json":"474670a0cf1109f4c296ea93d2c5c6eb8f53541dc9c0bddbb0e6cb054b971ebe"}}

packages/ai/src/providers/data/openrouter.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

packages/ai/src/providers/data/vercel-ai-gateway.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)