Files
dify/api/clients
Yansong Zhang 12c3bfc6b5 fix(api): regen lifecycle migration + cleanup spec type narrowing
CI failures on PR #36724:

* ``DB Migration Test / db-migration-test-mysql`` — MySQL rejects
  ``server_default`` on TEXT/BLOB columns. The new
  ``composition_layer_specs`` column was declared as ``LongText`` with
  ``server_default = sa.text("'[]'")``. Regenerate the migration via
  ``flask db migrate`` and drop the default; the JSON payload is always
  populated at the ORM layer through ``save_active_snapshot`` so no DB-level
  default is needed. New revision id ``7885bd53f9a9`` replaces
  ``a7b9c8d1e2f3``.

* ``Style Check / Python Style`` (pyrefly) —
  ``clients/agent_backend/request_builder.py:96`` assigned
  ``layer.config`` (typed as ``LayerConfigInput`` which includes
  ``Mapping[str, object] | bytes``) directly to a ``JsonValue`` slot. The
  cleanup-replay pipeline only ever builds RunLayerSpec configs from
  BaseModel-derived models or ``None``, so add an explicit
  ``cast(JsonValue, layer.config)`` for the type system.

Verified: 130 unit tests still pass; alembic upgrade + downgrade roundtrip
clean on local Postgres; pyrefly clean on the touched file.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 18:01:49 +08:00
..
2026-05-19 10:43:23 +00:00