mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
2f9ebdec69
Some tech debt related to dynamic pydantic schemas for invocations became problematic. Including the invocations and results in the event schemas was breaking pydantic's handling of ref schemas. I don't really understand why - I think it's a pydantic bug in a remote edge case that we are hitting. After many failed attempts I landed on this implementation, which is actually much tidier than what was in there before. - Create pydantic-enabled types for `AnyInvocation` and `AnyInvocationOutput` and use these in place of the janky dynamic unions. Actually, they are kinda the same, but better encapsulated. Use these in `Graph`, `GraphExecutionState`, `InvocationEventBase` and `InvocationCompleteEvent`. - Revise the custom openapi function to work with the new models. - Split out the custom openapi function to a separate file. Add a `post_transform` callback so consumers can customize the output schema. - Update makefile scripts. |
||
---|---|---|
.. | ||
custom_nodes | ||
__init__.py | ||
baseinvocation.py | ||
collections.py | ||
compel.py | ||
constants.py | ||
controlnet_image_processors.py | ||
cv.py | ||
facetools.py | ||
fields.py | ||
image.py | ||
infill.py | ||
ip_adapter.py | ||
latent.py | ||
mask.py | ||
math.py | ||
metadata.py | ||
model.py | ||
noise.py | ||
param_easing.py | ||
primitives.py | ||
prompt.py | ||
sdxl.py | ||
strings.py | ||
t2i_adapter.py | ||
tiles.py | ||
upscale.py | ||
util.py |