psychedelicious
c02be4bdf4
refactor(app): lean on pydantic to get field types in edge validation logic
...
Previously we used python's own type introspection utilties to determine
input and output field types. We can use pydantic to get the field types
in a clearer, more direct way.
This improvement also exposed an awkward behaviour in this utility,
where it would return None when a field doesn't exist. I've added a
comment in the code describing the issue, but changing it would require
some significant changes and I don't want to risk breaking anything.
2025-06-30 23:39:28 +10:00
psychedelicious
ed7772d993
tests(app): add more tests for complex iterate/collect graph topologies
2025-06-30 23:39:28 +10:00
psychedelicious
baae998b5b
tests(app): add failing test for collector edge case
...
squash
squash
2025-06-30 23:39:28 +10:00
DustyShoe
4077ffe595
Fixed a typo
2025-06-30 15:44:23 +10:00
psychedelicious
c1937b1379
chore: ruff
2025-06-30 12:56:51 +10:00
psychedelicious
5c66dfed8e
fix(app): remove errant comment from prev impl
2025-06-30 12:56:51 +10:00
psychedelicious
126dcc96c0
feat(ui): clean up logging and comments in runGraph
2025-06-30 12:56:51 +10:00
psychedelicious
cb9c7b4a28
feat(ui): simplify runGraph logic for error handling
2025-06-30 12:56:51 +10:00
psychedelicious
e8c4f49a14
feat(ui): add .wrap() method to WrappedError
2025-06-30 12:56:51 +10:00
psychedelicious
30fffae637
feat(ui): runGraph settlement callbacks can simply return or throw
2025-06-30 12:56:51 +10:00
psychedelicious
4558a292b6
tests(ui): update runGraph tests for separate options
2025-06-30 12:56:51 +10:00
psychedelicious
825d17441c
feat(ui): separate options arg for runGraph
2025-06-30 12:56:51 +10:00
psychedelicious
9b16504af9
docs(ui): improved runGraph docstring
2025-06-30 12:56:51 +10:00
psychedelicious
46c92fadff
feat(ui): use system logger for runGraph
2025-06-30 12:56:51 +10:00
psychedelicious
c0467b82ac
tests(ui): update runGraph tests for new error state
2025-06-30 12:56:51 +10:00
psychedelicious
6dafa67286
feat(ui): improved logging for runGraph
2025-06-30 12:56:51 +10:00
psychedelicious
eb406aa07e
feat(ui): mark runGraph error properties public readonly
2025-06-30 12:56:51 +10:00
psychedelicious
d9422ffebd
tests(ui): add testes for enriched cancel/timeout errors
2025-06-30 12:56:51 +10:00
psychedelicious
d5c033be4d
feat(ui): enrich cancel/timeout errors when queue item cancel fails
2025-06-30 12:56:51 +10:00
psychedelicious
4662cd6f15
fix(ui): await cancelation of queue item before returning
2025-06-30 12:56:51 +10:00
psychedelicious
a740a22613
feat(ui): runGraph uses settle for all promise handling, better comments
2025-06-30 12:56:51 +10:00
psychedelicious
bf4016b4bc
feat(ui): add getNodes method to Graph
2025-06-30 12:56:51 +10:00
psychedelicious
6fa7c8c2ee
feat(ui): better exception naming and docstrings in runGraph
2025-06-30 12:56:51 +10:00
psychedelicious
ea40f582da
tweak(ui): naming, code style
2025-06-30 12:56:51 +10:00
psychedelicious
01caf56251
feat(ui): clearer naming in WrappedError
2025-06-30 12:56:51 +10:00
psychedelicious
42d577e65a
tests(ui): check for error instance instead of message
2025-06-30 12:56:51 +10:00
psychedelicious
38d80c9ce5
fix(ui): clear cleanupFunctions when finished calling them
2025-06-30 12:56:51 +10:00
psychedelicious
6acaa8abbf
refactor(ui): use deferred promise as workaround to antipattern of async promise executor
2025-06-30 12:56:51 +10:00
psychedelicious
4b84e34599
refactor(ui): better race condition handling in runGraph
2025-06-30 12:56:51 +10:00
psychedelicious
bbd21b1eb2
feat(ui): rename isSettled -> isFinished
2025-06-30 12:56:51 +10:00
psychedelicious
4fa83a6228
feat(ui): better error handling for runGraph
2025-06-30 12:56:51 +10:00
psychedelicious
051876dcff
feat(ui): ensure promise always marked as settled, better comments
2025-06-30 12:56:51 +10:00
psychedelicious
8dc6d0b5ae
feat(ui): use runGraph in canvas
2025-06-30 12:56:51 +10:00
psychedelicious
40e9624954
tests(ui): edge cases in runGraph
2025-06-30 12:56:51 +10:00
psychedelicious
ae27c83dc4
feat(ui): log when cancelation fails
2025-06-30 12:56:51 +10:00
psychedelicious
161059551b
fix(ui): handle errors during cleanup
2025-06-30 12:56:51 +10:00
psychedelicious
c196f8a5d5
tests(ui): add tests for runGraph
2025-06-30 12:56:51 +10:00
psychedelicious
2c6d22664e
feat(ui): use DI to make runGraph testable
2025-06-30 12:56:51 +10:00
psychedelicious
b9ce5389ef
fix(ui): clean up signal
2025-06-30 12:56:51 +10:00
psychedelicious
d1cbf56695
feat(ui): iterate on runGraph
2025-06-30 12:56:51 +10:00
psychedelicious
e379ac12c3
feat(ui): abstraction to make a graph await-able
2025-06-30 12:56:51 +10:00
psychedelicious
aa10373292
feat(ui): loosen typings for Result
2025-06-30 12:56:51 +10:00
psychedelicious
780f3692a0
chore(ui): typegen
2025-06-30 12:56:51 +10:00
psychedelicious
3604dcfdd1
feat(api): return list of enqueued item ids when enqueuing
2025-06-30 12:56:51 +10:00
Jonathan
2b1cffde5e
typegen
2025-06-30 11:28:02 +10:00
Jonathan
83d642ed15
Update flux_denoise.py
...
Fixed version to 4.0.0
2025-06-30 11:28:02 +10:00
Jonathan
455c73235e
Update flux_denoise.py
...
Updated version, removed WithBoard and WithMetadata
2025-06-30 11:28:02 +10:00
psychedelicious
8efef8da41
feat(ui): workflows styling tweaks
2025-06-30 11:17:29 +10:00
psychedelicious
060a9e57b9
fix(ui): prevent NaN from getting into konva internals
2025-06-30 10:43:11 +10:00
skunkworxdark
099d75ca1e
use "\u2581" instead of the character itself for clarity
2025-06-30 10:40:31 +10:00