psychedelicious
793c7ec832
fix(ui): fix ImportMainModelResponse type
2024-03-01 10:42:33 +11:00
psychedelicious
62c67d7c4b
fix(ui): simplify model install event listeners
2024-03-01 10:42:33 +11:00
psychedelicious
7c41b3439a
fix(ui): fix model install event types
2024-03-01 10:42:33 +11:00
Jennifer Player
cdd2f18bbd
added advanced import forms, not fully working yet
2024-03-01 10:42:33 +11:00
Mary Hipp
e7d7b37896
get positioning/scrolling working for scan results list
2024-03-01 10:42:33 +11:00
Mary Hipp
57a402053e
basic scan working and renders results
2024-03-01 10:42:33 +11:00
Mary Hipp
9ae09e9a7c
add scan model endpoint, break add model into tabs
2024-03-01 10:42:33 +11:00
Mary Hipp
5a12886dbb
update metadata endpoint
2024-03-01 10:42:33 +11:00
maryhipp
5b7633f3c6
allow metadata-less models to be used for GET metadata endpoint
2024-03-01 10:42:33 +11:00
Jennifer Player
68f24d9f0d
added status to import queue model
2024-03-01 10:42:33 +11:00
Jennifer Player
ea364bdf82
delete model imports and prune all finished, update state with socket messages
2024-03-01 10:42:33 +11:00
Mary Hipp
18904f79ef
fix sync model endpoint
2024-03-01 10:42:33 +11:00
Mary Hipp
782d15af13
form error handling
2024-03-01 10:42:33 +11:00
Mary Hipp
86e2b39f0d
finish model update
2024-03-01 10:42:33 +11:00
Jennifer Player
20576deae8
added socket listeners, added more info to ui
2024-03-01 10:42:33 +11:00
Mary Hipp
0a69779df9
edit view for model, depending on type and valid values
2024-03-01 10:42:33 +11:00
Mary Hipp
6b68971f38
hook up Add Model button
2024-03-01 10:42:33 +11:00
Mary Hipp
c46eb72d45
single model view
2024-03-01 10:42:33 +11:00
Jennifer Player
87ce74e05d
added import model form and importqueue
2024-03-01 10:42:33 +11:00
Mary Hipp
c7d462b222
model list, filtering, searching
2024-03-01 10:42:33 +11:00
Mary Hipp
9068400433
workspace for mary and jenn
2024-03-01 10:42:33 +11:00
Mary Hipp
55f3c6e721
get old UI working somewhat with new endpoints
2024-03-01 10:42:33 +11:00
Brandon Rising
c778ab8db4
Allow passing in key on register
2024-03-01 10:42:33 +11:00
Brandon Rising
65b91356d0
Remove passing keys in on register
2024-03-01 10:42:33 +11:00
Brandon Rising
de9287a3e4
Run ruff
2024-03-01 10:42:33 +11:00
Brandon Rising
008716040b
Allow users to run model manager without cuda
2024-03-01 10:42:33 +11:00
psychedelicious
abc569c2dd
fix(ui): roll back utility-types
...
It's `Required` util does not distribute over unions as expected. Also we have `ts-toolbelt` already for some utils.
2024-03-01 10:42:33 +11:00
psychedelicious
3ed2963f43
feat(ui): refactor metadata handling
...
Refactor of metadata recall handling. This is in preparation for a backwards compatibility layer for models.
- Create helpers to fetch a model outside react (e.g. not in a hook)
- Created helpers to parse model metadata
- Renamed a lot of types that were confusing and/or had naming collisions
2024-03-01 10:42:33 +11:00
psychedelicious
79b16596b5
chore(ui): typegen
2024-03-01 10:42:33 +11:00
psychedelicious
239ecfaf79
fix(nodes): make fields on ModelConfigBase
required
...
The setup of `ModelConfigBase` means autogenerated types have critical fields flagged as nullable (like `key` and `base`). Need to manually flag them as required.
2024-03-01 10:42:33 +11:00
psychedelicious
0d9fbe5e04
feat(ui): replace type-fest
with utility-types
...
- The new package has more useful types
- Only used `JsonObject` from `type-fest`; added an implementation of that type
2024-03-01 10:42:33 +11:00
Lincoln Stein
cc41e8912c
several small model install enhancements
...
- Support extended HF repoid syntax in TUI. This allows
installation of subfolders and safetensors files, as in
`XpucT/Deliberate::Deliberate_v5.safetensors`
- Add `error` and `error_traceback` properties to the install
job objects.
- Rename the `heuristic_import` route to `heuristic_install`.
- Fix the example `config` input in the `heuristic_install` route.
2024-03-01 10:42:33 +11:00
Lincoln Stein
1cec0bb179
use official Deliberate download repo
2024-03-01 10:42:33 +11:00
Lincoln Stein
65dd4f4abc
fix repo-id for the Deliberate v5 model
...
prevent lora and embedding file suffixes from being stripped during installation
apply psychedelicious patch to get compel to load proper TI embedding
2024-03-01 10:42:33 +11:00
Lincoln Stein
5bb3aeaccd
remove startup dependency on legacy models.yaml file
2024-03-01 10:42:33 +11:00
dunkeroni
30a374a70f
chore: typing
2024-03-01 10:42:33 +11:00
dunkeroni
07dde92664
chore: typing fix
2024-03-01 10:42:33 +11:00
dunkeroni
06cc57d82a
feat(nodes): added gradient mask node
2024-03-01 10:42:33 +11:00
Brandon Rising
f7fc20459a
Run ruff
2024-03-01 10:42:33 +11:00
Mary Hipp
9269bdd233
rename endpoint for scanning
2024-03-01 10:42:33 +11:00
Brandon Rising
97cfcd2eef
Create /search endpoint, update model object structure in scan model page
2024-03-01 10:42:33 +11:00
psychedelicious
571a86a965
chore(ui): bump deps
...
Notable updates:
- Minor version of RTK includes customizable selectors for RTK Query, so we can remove the patch that was added to ensure only the LRU memoize function was used for perf reasons. Updated to use the LRU memoize function.
- Major version of react-resizable-panels. No breaking changes, works great, and you can now resize all panels when dragging at the intersection point of panels. Cool!
- Minor (?) version of nanostores. `action` API is removed, we were using it in one spot. Fixed.
- @invoke-ai/eslint-config-react has all deps bumped and now has its dependent plugins/configs listed as normal dependencies (as opposed to peer deps). This means we can remove those packages from explicit dev deps.
2024-03-01 10:42:33 +11:00
psychedelicious
dbd929df05
tidy(ui): remove debugging stmt
2024-03-01 10:42:33 +11:00
psychedelicious
b59d23d608
fix(ui): handle new model format for metadata
2024-03-01 10:42:33 +11:00
psychedelicious
9d9b417432
fix(ui): use model names in badges
2024-03-01 10:42:33 +11:00
psychedelicious
34f3a39cc9
fix(nodes): fix TI loading
2024-03-01 10:42:33 +11:00
psychedelicious
e3c23baae9
fix(ui): fix package build
2024-03-01 10:42:33 +11:00
psychedelicious
6a923cce70
feat(ui): do not subscribe to bulk download sio room if baseUrl is set
2024-03-01 10:42:33 +11:00
psychedelicious
c0f0f2f39e
feat(ui): revise bulk download listeners
...
- Use a single listener for all of the to keep them in one spot
- Use the bulk download item name as a toast id so we can update the existing toasts
- Update handling to work with other environments
- Move all bulk download handling from components to listener
2024-03-01 10:42:33 +11:00
psychedelicious
64908eda55
chore(ui): typegen
2024-03-01 10:42:33 +11:00
psychedelicious
a37b60db13
feat(bulk_download): update response model, messages
2024-03-01 10:42:33 +11:00
Stefan Tobler
9e296f6916
implementing download for bulk_download events
2024-03-01 10:42:33 +11:00
Stefan Tobler
ab94484c6c
setting up event listeners for bulk download socket
2024-03-01 10:42:33 +11:00
psychedelicious
cbb997e7d0
tidy(bulk_download): don't store events service separately
...
Using the invoker object directly leaves no ambiguity as to what `_events_bus` actually is.
2024-03-01 10:42:33 +11:00
psychedelicious
98441ad08d
tidy(bulk_download): do not rely on pagination API to get all images for board
...
We can get all images for the board as a list of image names, then pass that to `_image_handler` to get the DTOs, decoupling from the pagination API.
2024-03-01 10:42:33 +11:00
psychedelicious
80c67dd6e0
tidy(bulk_download): nit - use or
as a coalescing operator
...
Just a bit cleaner.
2024-03-01 10:42:33 +11:00
psychedelicious
38af234108
tidy(bulk_download): use single underscore for private attrs
...
Double underscores are used in the app but it doesn't actually do or convey anything that single underscores don't already do. Considered unpythonic except for actual dunder/magic methods.
2024-03-01 10:42:33 +11:00
psychedelicious
2291122c2b
tidy(bulk_download): remove class-level attr annotations
...
These can be misleading as they shadow actual assigned class attributes. This pattern is in the rest of the app but it shouldn't be.
2024-03-01 10:42:33 +11:00
psychedelicious
bf3b10cb1c
tidy(bulk_download): remove extraneous abstract methods
...
`start`, `stop` and `__init__` are not required in implementations of an ABC or service.
2024-03-01 10:42:33 +11:00
psychedelicious
7f8f182a00
tidy(bulk_download): clean up comments
2024-03-01 10:42:33 +11:00
Stefan Tobler
e51867756a
adding bulk_download_item_name to socket events
2024-03-01 10:42:33 +11:00
Stefan Tobler
a8d7cf4e97
refactoring handlers to do null check
2024-03-01 10:42:33 +11:00
Stefan Tobler
037cac8154
removing dependency on an output folder, embrace python temp folder for bulk download
2024-03-01 10:42:33 +11:00
Stefan Tobler
b5a9ed351d
moving the responsibility of cleaning up board names to the service not the route
2024-03-01 10:42:33 +11:00
Stefan Tobler
f15aa562c2
using temp directory for downloads
2024-03-01 10:42:33 +11:00
Stefan Tobler
d0f3571e59
returning the bulk_download_item_name on response for possible polling
2024-03-01 10:42:33 +11:00
Stefan Tobler
b5ca1643a6
narrowing bulk_download stop service scope
2024-03-01 10:42:33 +11:00
Stefan Tobler
79eb871683
cleaning up bulk download zip after the response is complete
2024-03-01 10:42:33 +11:00
Stefan Tobler
7d91426d8f
refactoring bulk_download to be better managed
2024-03-01 10:42:33 +11:00
Stefan Tobler
795fbf0e81
refactoring bulkdownload to consider image category
2024-03-01 10:42:33 +11:00
Stefan Tobler
7114d64b86
fixing issue where default board did not return images
2024-03-01 10:42:33 +11:00
Stefan Tobler
c43ea9f25c
using the board name to download boards
2024-03-01 10:42:33 +11:00
Stefan Tobler
52b0deb179
reworking some of the logic to use a default room, adding endpoint to download file on complete
2024-03-01 10:42:33 +11:00
Stefan Tobler
7ecc18938b
linted and styling
2024-03-01 10:42:33 +11:00
Stefan Tobler
56d2d220a8
implementation of bulkdownload background task
2024-03-01 10:42:33 +11:00
Stefan Tobler
f1967c3393
adding socket events for bulk download
2024-03-01 10:42:33 +11:00
Stefan Tobler
812e24cbd2
groundwork for the bulk_download_service
2024-03-01 10:42:33 +11:00
psychedelicious
8afe328af0
fix(ui): get workflow editor model selects working
2024-03-01 10:42:33 +11:00
psychedelicious
e771c5f467
fix(ui): get refiner model select working
2024-03-01 10:42:33 +11:00
psychedelicious
e7e3045a8a
fix(ui): get vae model select working
2024-03-01 10:42:33 +11:00
psychedelicious
f870f810d5
fix(ui): get embedding select working
2024-03-01 10:42:33 +11:00
psychedelicious
a793103d7a
fix(ui): get lora select working
2024-03-01 10:42:33 +11:00
psychedelicious
7e5a85496e
chore(ui): bump @invoke-ai/ui-library
2024-03-01 10:42:33 +11:00
psychedelicious
ca7e928710
fix(ui): fix low-hanging fruit types
2024-03-01 10:42:33 +11:00
psychedelicious
89fa36a818
chore(nodes): update TODO comment
2024-03-01 10:42:33 +11:00
psychedelicious
e3f9da29ba
tidy(nodes): clean up profiler/stats in processor, better comments
2024-03-01 10:42:33 +11:00
psychedelicious
763debdeeb
fix(nodes): fix typing on stats service context manager
2024-03-01 10:42:33 +11:00
psychedelicious
8bf9fd34ad
fix(nodes): fix model load events
...
was accessing incorrect properties in event data
2024-03-01 10:42:33 +11:00
psychedelicious
0b0cb0ccc6
feat(nodes): making invocation class var in processor
2024-03-01 10:42:33 +11:00
psychedelicious
fa39523b11
feat(nodes): improved error messages in processor
2024-03-01 10:42:33 +11:00
psychedelicious
16676feea8
feat(nodes): make processor thread limit and polling interval configurable
2024-03-01 10:42:33 +11:00
psychedelicious
d53a2a2d4e
chore(nodes): better comments for invocation context
2024-03-01 10:42:33 +11:00
psychedelicious
ccfe6b6bef
chore(nodes): "context_data" -> "data"
...
Changed within InvocationContext, for brevity.
2024-03-01 10:42:33 +11:00
psychedelicious
fdac0c3c9b
refactor(nodes): move is_canceled to context.util
2024-03-01 10:42:33 +11:00
psychedelicious
18adcc1dd2
feat(nodes): add whole queue_item to InvocationContextData
...
No reason to not have the whole thing in there.
2024-03-01 10:42:33 +11:00
psychedelicious
86c50f2d5b
tidy(nodes): remove extraneous comments
2024-03-01 10:42:33 +11:00
psychedelicious
3cfac8b843
feat(nodes): better invocation error messages
2024-03-01 10:42:33 +11:00
psychedelicious
0788b6ecee
chore(nodes): add comments for cancel state
2024-03-01 10:42:33 +11:00
psychedelicious
317d076a1a
feat(nodes): promote is_canceled
to public node API
2024-03-01 10:42:33 +11:00
psychedelicious
725c03cf87
refactor(nodes): merge processors
...
Consolidate graph processing logic into session processor.
With graphs as the unit of work, and the session queue distributing graphs, we no longer need the invocation queue or processor.
Instead, the session processor dequeues the next session and processes it in a simple loop, greatly simplifying the app.
- Remove `graph_execution_manager` service.
- Remove `queue` (invocation queue) service.
- Remove `processor` (invocation processor) service.
- Remove queue-related logic from `Invoker`. It now only starts and stops the services, providing them with access to other services.
- Remove unused `invocation_retrieval_error` and `session_retrieval_error` events, these are no longer needed.
- Clean up stats service now that it is less coupled to the rest of the app.
- Refactor cancellation logic - cancellations now originate from session queue (i.e. HTTP cancel endpoint) and are emitted as events. Processor gets the events and sets the canceled event. Access to this event is provided to the invocation context for e.g. the step callback.
- Remove `sessions` router; it provided access to `graph_executions` but that no longer exists.
2024-03-01 10:42:33 +11:00