fix(telegram): stabilize reply dispatch runtime

Summary:
- Add a stable provider-dispatcher dist entry and legacy alias coverage for stale reply-dispatch chunks.
- Make Telegram reasoning stream previews transient after final delivery and harden visible-send reasoning sanitization.
- Document transient /reasoning stream behavior and credit @BunsDev in the changelog.

Verification:
- pnpm test src/agents/tools/message-tool.test.ts src/infra/tsdown-config.test.ts test/scripts/runtime-postbuild.test.ts extensions/telegram/src/bot-message-dispatch.test.ts src/plugin-sdk/channel-streaming.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test src/channels/plugins/module-loader.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- pnpm exec oxfmt --check --threads=1 <changed files>
- git diff --check
- pnpm build
- GitHub PR checks for b8b7a91834
This commit is contained in:
Val Alexander
2026-05-04 01:07:57 -05:00
committed by GitHub
parent 7050af56d4
commit 21ac476904
14 changed files with 88 additions and 21 deletions

View File

@@ -293,6 +293,11 @@ describe("runtime postbuild static assets", () => {
'export * from "./runtime-plugins.runtime-NewHash.js";\n',
"utf8",
);
await fs.writeFile(
path.join(distDir, "provider-dispatcher.js"),
'export * from "./provider-dispatcher-NewHash.js";\n',
"utf8",
);
writeLegacyRootRuntimeCompatAliases({ rootDir });
@@ -302,6 +307,9 @@ describe("runtime postbuild static assets", () => {
expect(
await fs.readFile(path.join(distDir, "runtime-plugins.runtime-CNAfmQRG.js"), "utf8"),
).toBe('export * from "./runtime-plugins.runtime.js";\n');
expect(await fs.readFile(path.join(distDir, "provider-dispatcher-6EQEtc-t.js"), "utf8")).toBe(
'export * from "./provider-dispatcher.js";\n',
);
});
it("writes compatibility aliases for previous gateway shutdown chunk names", async () => {