Skip to content

Commit 2f2128d

Browse files
committed
fix: pass preview pyrefly checks with explicit type narrowing
1 parent 4f2f34c commit 2f2128d

16 files changed

Lines changed: 27 additions & 35 deletions

File tree

‎api/controllers/console/app/workflow.py‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
ConfigDict,
1313
Field,
1414
RootModel,
15-
ValidationError,
1615
field_validator,
1716
model_validator,
1817
)
@@ -663,7 +662,7 @@ def post(self, current_user: Account, app_model: App):
663662
elif "text/plain" in content_type:
664663
try:
665664
args_model = SyncDraftWorkflowPayload.model_validate_json(request.data)
666-
except (ValueError, ValidationError):
665+
except ValueError:
667666
raise InvalidArgumentError("Invalid JSON data")
668667
else:
669668
abort(415)

‎api/controllers/console/datasets/rag_pipeline/rag_pipeline_workflow.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from flask import abort, request
77
from flask_restx import Resource
8-
from pydantic import BaseModel, Field, RootModel, ValidationError
8+
from pydantic import BaseModel, Field, RootModel
99
from sqlalchemy.orm import Session, sessionmaker
1010
from werkzeug.exceptions import BadRequest, Forbidden, InternalServerError, NotFound
1111

@@ -253,7 +253,7 @@ def post(self, current_user: Account, pipeline: Pipeline):
253253
elif "text/plain" in content_type:
254254
try:
255255
payload = DraftWorkflowSyncPayload.model_validate_json(request.data)
256-
except (ValueError, ValidationError):
256+
except ValueError:
257257
raise InvalidArgumentError("Invalid JSON data")
258258
else:
259259
abort(415)

‎api/controllers/console/explore/trial.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
from controllers.console.remote_files import RemoteFileUploadPayload, upload_remote_file
8282
from controllers.console.wraps import cloud_edition_billing_resource_check, model_validate
8383
from controllers.web.error import InvokeRateLimitError as InvokeRateLimitHttpError
84-
from core.app.apps.agent_app.errors import AgentAppGeneratorError, AgentAppNotPublishedError
84+
from core.app.apps.agent_app.errors import AgentAppGeneratorError
8585
from core.app.entities.app_invoke_entities import InvokeFrom
8686
from core.errors.error import (
8787
AppInvokeQuotaExceededError,
@@ -668,7 +668,7 @@ def post(self, req_data: ChatRequest, request_context: RequestContext, trial_app
668668
except services.errors.app_model_config.AppModelConfigBrokenError:
669669
logger.exception("App model config broken.")
670670
raise AppUnavailableError()
671-
except (AgentAppGeneratorError, AgentAppNotPublishedError):
671+
except AgentAppGeneratorError:
672672
raise AppUnavailableError() from None
673673
except ProviderTokenNotInitError as ex:
674674
raise ProviderNotInitializeError(ex.description)

‎api/core/plugin/plugin_service.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
from typing import Literal, Protocol
2626

2727
import zstandard
28-
from pydantic import BaseModel, TypeAdapter, ValidationError
28+
from pydantic import BaseModel, TypeAdapter
2929
from redis import RedisError
3030
from redis.exceptions import LockError
3131
from sqlalchemy import delete, select, update
@@ -336,7 +336,7 @@ def _load_cached_plugin_model_providers_for_generation(
336336
try:
337337
providers = cls._get_or_parse_plugin_model_providers_cache_payload(cached_providers)
338338
return providers, True
339-
except (TypeError, ValueError, ValidationError):
339+
except (TypeError, ValueError):
340340
logger.warning(
341341
"Invalid cached plugin model providers for tenant %s; deleting cache key %s.",
342342
tenant_id,

‎api/core/provider_manager.py‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from collections.abc import Callable, Sequence
88
from dataclasses import asdict, dataclass
99
from enum import StrEnum
10-
from json import JSONDecodeError
1110
from typing import TYPE_CHECKING, Any, Protocol, Self
1211

1312
from pydantic import TypeAdapter, ValidationError
@@ -1493,7 +1492,7 @@ def _get_and_decrypt_credentials(
14931492

14941493
try:
14951494
credentials = _credentials_adapter.validate_json(encrypted_config)
1496-
except (ValueError, JSONDecodeError):
1495+
except ValueError:
14971496
return {}
14981497

14991498
# Decrypt secret variables
@@ -1795,7 +1794,7 @@ def _to_model_settings(
17951794
provider_model_credentials = _credentials_adapter.validate_json(
17961795
load_balancing_model_config.encrypted_config
17971796
)
1798-
except (ValueError, JSONDecodeError):
1797+
except ValueError:
17991798
continue
18001799

18011800
# Get decoding context for decrypting credentials

‎api/core/workflow/file_reference.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def parse_file_reference(reference: str | None) -> FileReference | None:
6262
encoded_payload = reference.removeprefix(_FILE_REFERENCE_PREFIX)
6363
try:
6464
payload = json.loads(base64.urlsafe_b64decode(encoded_payload.encode()))
65-
except (ValueError, json.JSONDecodeError):
65+
except ValueError:
6666
return FileReference(record_id=reference)
6767

6868
record_id = payload.get("record_id")

‎api/libs/oauth.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def decode_oauth_state(state: str | None) -> OAuthState:
9999
padded_state = state + "=" * (-len(state) % 4)
100100
raw_state = base64.urlsafe_b64decode(padded_state.encode("ascii")).decode("utf-8")
101101
return OAUTH_STATE_ADAPTER.validate_python(json.loads(raw_state))
102-
except (binascii.Error, ValueError, UnicodeDecodeError, json.JSONDecodeError, ValidationError):
102+
except (binascii.Error, ValueError):
103103
return {}
104104

105105

‎api/libs/token.py‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@ def _unauthorized():
219219
verified = PassportService().verify(csrf_token)
220220
except Exception:
221221
_unauthorized()
222-
raise # unreachable, but helps the type checker see verified is always bound
223222

224223
if verified.get("sub") != user_id:
225224
_unauthorized()

‎api/repositories/data_source/credential_repository.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from collections.abc import Mapping
44
from typing import cast
55

6-
from pydantic import TypeAdapter, ValidationError
6+
from pydantic import TypeAdapter
77
from sqlalchemy import select, update
88
from sqlalchemy.engine import CursorResult
99
from sqlalchemy.orm import Session, sessionmaker
@@ -23,7 +23,7 @@ def _source_mapping(value: object) -> Mapping[str, object]:
2323
if isinstance(value, str):
2424
return _CREDENTIALS_ADAPTER.validate_json(value)
2525
return _CREDENTIALS_ADAPTER.validate_python(value)
26-
except (TypeError, ValueError, ValidationError):
26+
except (TypeError, ValueError):
2727
return {}
2828

2929

‎api/repositories/knowledge/document_repository.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from collections.abc import Mapping
44

5-
from pydantic import TypeAdapter, ValidationError
5+
from pydantic import TypeAdapter
66
from sqlalchemy import exists, select, update
77
from sqlalchemy.orm import Session, sessionmaker
88

@@ -27,7 +27,7 @@ def _mapping(value: object) -> Mapping[str, object] | None:
2727
if isinstance(value, str):
2828
return _MAPPING_ADAPTER.validate_json(value)
2929
return _MAPPING_ADAPTER.validate_python(value)
30-
except (TypeError, ValueError, ValidationError):
30+
except (TypeError, ValueError):
3131
return {}
3232

3333

0 commit comments

Comments
 (0)