From d043ca84bc06c16ff99d2d343607dda3ee5ad0a0 Mon Sep 17 00:00:00 2001 From: Yoan Huang Date: Sat, 1 Aug 2026 10:47:50 +0800 Subject: [PATCH] fix: preserve docx images without availability index --- .../ai/human/tools/docx/adapters/ooxml/blockIndex.ts | 2 +- .../human/tools/docx/adapters/ooxml/semanticTree.ts | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/services/ai/human/tools/docx/adapters/ooxml/blockIndex.ts b/src/main/services/ai/human/tools/docx/adapters/ooxml/blockIndex.ts index f8c068e4..6b2320e2 100644 --- a/src/main/services/ai/human/tools/docx/adapters/ooxml/blockIndex.ts +++ b/src/main/services/ai/human/tools/docx/adapters/ooxml/blockIndex.ts @@ -332,7 +332,7 @@ export const buildBlockIndex = ( relationshipTargets: ReadonlyMap = new Map(), relationshipTypes: ReadonlyMap = new Map(), relationshipTargetModes: ReadonlyMap = new Map(), - availableRelationshipTargetIds: ReadonlySet = new Set() + availableRelationshipTargetIds?: ReadonlySet ): BlockIndex => { const body = getBody(documentDom) const outlineDraft: DocxOutlineBlock[] = [] diff --git a/src/main/services/ai/human/tools/docx/adapters/ooxml/semanticTree.ts b/src/main/services/ai/human/tools/docx/adapters/ooxml/semanticTree.ts index 2dbe3160..ae1928e8 100644 --- a/src/main/services/ai/human/tools/docx/adapters/ooxml/semanticTree.ts +++ b/src/main/services/ai/human/tools/docx/adapters/ooxml/semanticTree.ts @@ -34,7 +34,7 @@ type SemanticTreeContext = { relationshipTargets: ReadonlyMap relationshipTypes: ReadonlyMap relationshipTargetModes: ReadonlyMap - availableRelationshipTargetIds: ReadonlySet + availableRelationshipTargetIds?: ReadonlySet editableNodesById: Map visualsById: Map } @@ -310,6 +310,7 @@ const parseVisual = ( kind === 'image' && relationshipId && targetMode.toLowerCase() !== 'external' && + context.availableRelationshipTargetIds && !context.availableRelationshipTargetIds.has(relationshipId) ) { return null @@ -682,7 +683,7 @@ const createContext = (input: { relationshipTargets: ReadonlyMap relationshipTypes: ReadonlyMap relationshipTargetModes: ReadonlyMap - availableRelationshipTargetIds: ReadonlySet + availableRelationshipTargetIds?: ReadonlySet editableNodesById: Map visualsById: Map }): SemanticTreeContext => ({ ...input }) @@ -698,7 +699,7 @@ export const buildParagraphDetail = (input: { relationshipTargets: ReadonlyMap relationshipTypes: ReadonlyMap relationshipTargetModes: ReadonlyMap - availableRelationshipTargetIds: ReadonlySet + availableRelationshipTargetIds?: ReadonlySet editableNodesById: Map visualsById: Map }): DocxDetailedParagraphBlock => { @@ -726,7 +727,7 @@ export const buildTableDetail = (input: { relationshipTargets: ReadonlyMap relationshipTypes: ReadonlyMap relationshipTargetModes: ReadonlyMap - availableRelationshipTargetIds: ReadonlySet + availableRelationshipTargetIds?: ReadonlySet editableNodesById: Map visualsById: Map }): DocxDetailedTableBlock => { @@ -756,7 +757,7 @@ export const buildCellDetail = (input: { relationshipTargets: ReadonlyMap relationshipTypes: ReadonlyMap relationshipTargetModes: ReadonlyMap - availableRelationshipTargetIds: ReadonlySet + availableRelationshipTargetIds?: ReadonlySet editableNodesById: Map visualsById: Map }): DocxDetailedCellBlock => {