Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3

# Conflicts:
#	.agents/notes/archived/manifest.json
#	.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.i18n.yaml
#	.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.md
#	.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.zh.md
#	.agents/notes/implemented/bug-fix/2026-09-05-nested-terminal-cards.i18n.yaml
#	.agents/notes/implemented/feature/2026-08-11-background-job-completion-wakes-an-idle-owner.i18n.yaml
#	.agents/notes/implemented/testing/2026-09-06-standard-hosted-benchmark-runner.i18n.yaml
#	docs/architecture.i18n.yaml
#	docs/capability-seams.i18n.yaml
#	docs/config-catalog.i18n.yaml
#	docs/cookbook/adding-a-tool.i18n.yaml
#	docs/event-producer-consumer.i18n.yaml
#	docs/module-graph.i18n.yaml
#	docs/persistence-catalog.i18n.yaml
#	docs/subsystems/shell.i18n.yaml
#	packages/client/ui-primitives/README.i18n.yaml
#	packages/jobs/jobs-local/README.i18n.yaml
#	packages/jobs/jobs/README.i18n.yaml
#	packages/jobs/jobs/README.md
#	packages/jobs/jobs/README.zh.md
#	packages/jobs/tool-jobs/README.i18n.yaml
#	packages/shell/tool-bash/README.i18n.yaml
#	packages/shell/tool-pwsh/README.i18n.yaml
This commit is contained in:
Yichen Jiang committed 2026-09-07 10:39:56 +08:00
commit bf91cd855e
3081 files changed
+23929 -12258

No files matched your search

@@ -11,7 +11,7 @@ import type {
import type { FileUploadReceiptId } from '@deepseek-ai/dsh-client-file-upload/types'
import type {} from '@deepseek-ai/dsh-client-file-upload'
import {
ReasoningEffortId, createUserMessage, expandAssistantStream, freezeMessage,
ReasoningEffortId, assistantStreamChunks, createUserMessage, freezeMessage,
} from '@deepseek-ai/dsh-llm'
import type { MessageSource } from '@deepseek-ai/dsh-llm'
import { SessionLogOffset, SessionSeq } from '@deepseek-ai/dsh-session'
@@ -593,8 +593,7 @@ function imageInEvent(
if (found !== undefined) return found
}
if (event.type === 'assistant/message' || event.type === 'assistant/attempt') {
for (const { chunk } of expandAssistantStream(event.data.stream)) {
if (chunk.type !== 'block-end') continue
for (const chunk of assistantStreamChunks(event.data.stream, 'block-end')) {
const found = imageBlockIn([chunk.block], match)
if (found !== undefined) return found
}