There is at least one more issue related to #531, which will require a bit more work (i.e. handling/testing pydantic_v1 and pydantic_v2 schemas in different ways).
The items and additionalItems keywords have been replaced with prefixItems and items where prefixItems has the same functionality as the array-of-schemas for of the old items and the new items keyword has the same functionality as the old additionalItems keyword.
Starting from a task Python function with an argument arg_A: tuple[int, int] = (1, 1), we end up with this kind of JSON Schema:
which currently cannot be loaded in fractal-web, due to error compiling schema Error: strict mode: unknown keyword: "prefixItems".
Since we need to tackle this question on the form-generation side, let's also check whether we should configure ajv differently for the two pydantic_v1/v2 cases, that is by specifying the JSON Schema draft explicitly.
There is at least one more issue related to #531, which will require a bit more work (i.e. handling/testing
pydantic_v1
andpydantic_v2
schemas in different ways).Pydantic V2 generates JSON Schemas that comply with draft 2020-12, which means that they follow the new style for items: https://json-schema.org/draft/2020-12/release-notes#changes-to-items-and-additionalitems. Briefly
Starting from a task Python function with an argument
arg_A: tuple[int, int] = (1, 1)
, we end up with this kind of JSON Schema:which currently cannot be loaded in fractal-web, due to
error compiling schema Error: strict mode: unknown keyword: "prefixItems"
.Since we need to tackle this question on the form-generation side, let's also check whether we should configure ajv differently for the two
pydantic_v1/v2
cases, that is by specifying the JSON Schema draft explicitly.