mirror of
https://github.com/langgenius/dify.git
synced 2026-09-03 23:47:16 +08:00
Keep the workflow editor mounted after history updates, expose an independent Workflow Access control, and map KnowledgeFS admission failures to actionable localized errors. Add frontend and backend regression coverage for KF-BUG-020 and KF-BUG-021.
29 lines
1.3 KiB
TypeScript
29 lines
1.3 KiB
TypeScript
type KnowledgeRetrievalV2ErrorTranslationKey =
|
|
| 'nodes.knowledgeRetrievalV2.errors.bindingNotEnabled'
|
|
| 'nodes.knowledgeRetrievalV2.errors.permissionsNotReady'
|
|
| 'nodes.knowledgeRetrievalV2.errors.spaceUnavailable'
|
|
| 'nodes.knowledgeRetrievalV2.errors.workflowAccessDisabled'
|
|
|
|
type WorkflowTranslate = (key: KnowledgeRetrievalV2ErrorTranslationKey) => string
|
|
|
|
const BINDING_NOT_ENABLED_MARKER = '[knowledge_fs_binding_not_enabled]'
|
|
const WORKFLOW_ACCESS_DISABLED_MARKER = '[knowledge_fs_workflow_access_disabled]'
|
|
const SPACE_UNAVAILABLE_MARKER = '[knowledge_fs_space_unavailable]'
|
|
const AUTHORIZATION_NOT_READY_MARKER = '[knowledge_fs_authorization_not_ready]'
|
|
|
|
export const localizeKnowledgeRetrievalV2Error = (
|
|
error: string | undefined,
|
|
t: WorkflowTranslate,
|
|
) => {
|
|
if (!error) return error
|
|
if (error.includes(BINDING_NOT_ENABLED_MARKER))
|
|
return t('nodes.knowledgeRetrievalV2.errors.bindingNotEnabled')
|
|
if (error.includes(WORKFLOW_ACCESS_DISABLED_MARKER))
|
|
return t('nodes.knowledgeRetrievalV2.errors.workflowAccessDisabled')
|
|
if (error.includes(SPACE_UNAVAILABLE_MARKER))
|
|
return t('nodes.knowledgeRetrievalV2.errors.spaceUnavailable')
|
|
if (error.includes(AUTHORIZATION_NOT_READY_MARKER))
|
|
return t('nodes.knowledgeRetrievalV2.errors.permissionsNotReady')
|
|
return error
|
|
}
|