@@ -156,19 +156,42 @@ export async function dispatchSync(
156156 const connectorRows = await db
157157 . select ( {
158158 knowledgeBaseId : knowledgeConnector . knowledgeBaseId ,
159+ connectorArchivedAt : knowledgeConnector . archivedAt ,
160+ connectorDeletedAt : knowledgeConnector . deletedAt ,
159161 workspaceId : knowledgeBase . workspaceId ,
160162 userId : knowledgeBase . userId ,
163+ kbDeletedAt : knowledgeBase . deletedAt ,
161164 } )
162165 . from ( knowledgeConnector )
163166 . innerJoin ( knowledgeBase , eq ( knowledgeBase . id , knowledgeConnector . knowledgeBaseId ) )
164167 . where ( eq ( knowledgeConnector . id , connectorId ) )
165168 . limit ( 1 )
166169
167170 const row = connectorRows [ 0 ]
171+ if ( ! row ) {
172+ logger . warn ( `Skipping sync dispatch: connector not found` , { connectorId, requestId } )
173+ return
174+ }
175+ if ( row . kbDeletedAt ) {
176+ logger . warn ( `Skipping sync dispatch: knowledge base is deleted` , {
177+ connectorId,
178+ knowledgeBaseId : row . knowledgeBaseId ,
179+ requestId,
180+ } )
181+ return
182+ }
183+ if ( row . connectorArchivedAt || row . connectorDeletedAt ) {
184+ logger . warn ( `Skipping sync dispatch: connector is archived or deleted` , {
185+ connectorId,
186+ requestId,
187+ } )
188+ return
189+ }
190+
168191 const tags = [ `connectorId:${ connectorId } ` ]
169- if ( row ? .knowledgeBaseId ) tags . push ( `knowledgeBaseId:${ row . knowledgeBaseId } ` )
170- if ( row ? .workspaceId ) tags . push ( `workspaceId:${ row . workspaceId } ` )
171- if ( row ? .userId ) tags . push ( `userId:${ row . userId } ` )
192+ if ( row . knowledgeBaseId ) tags . push ( `knowledgeBaseId:${ row . knowledgeBaseId } ` )
193+ if ( row . workspaceId ) tags . push ( `workspaceId:${ row . workspaceId } ` )
194+ if ( row . userId ) tags . push ( `userId:${ row . userId } ` )
172195
173196 await knowledgeConnectorSync . trigger (
174197 {
@@ -261,7 +284,8 @@ export async function executeSync(
261284 . limit ( 1 )
262285
263286 if ( connectorRows . length === 0 ) {
264- throw new Error ( `Connector not found: ${ connectorId } ` )
287+ logger . warn ( `Skipping sync: connector ${ connectorId } not found, archived, or deleted` )
288+ return { ...result , error : 'connector_unavailable' }
265289 }
266290
267291 const connector = connectorRows [ 0 ]
@@ -278,7 +302,10 @@ export async function executeSync(
278302 . limit ( 1 )
279303
280304 if ( kbRows . length === 0 ) {
281- throw new Error ( `Knowledge base not found: ${ connector . knowledgeBaseId } ` )
305+ logger . warn (
306+ `Skipping sync: knowledge base ${ connector . knowledgeBaseId } is deleted (connector ${ connectorId } )`
307+ )
308+ return { ...result , error : 'knowledge_base_deleted' }
282309 }
283310
284311 const userId = kbRows [ 0 ] . userId
0 commit comments