Compare commits

...
Author SHA1 Message Date
Brandon Thomas 5a938ceed1 WIP / Broken early sleep exit during local dev debug cycle 2025-02-11 18:01:39 -05:00
Brandon Thomas 62d708e357 pass tensor dimensions downstream 2025-02-10 23:44:37 -05:00
Brandon Thomas 72083eb030 enforce file types, debugging 2025-02-10 23:14:53 -05:00
Brandon Thomas 62afa22d8c skip image resizes 2025-02-10 22:43:07 -05:00
Brandon Thomas 418b116469 ctrl-c handler, pathing 2025-02-10 21:31:42 -05:00
Brandon Thomas 42c7c70387 resample fps, duration wip 2025-02-10 20:36:07 -05:00
Kasisnu 39c52d5377 animatex: resize args fix, add sqlx migration 2025-02-10 18:12:06 +05:30
Brandon Thomas cea3668cfc dynamic resize behavior 2025-02-06 01:57:57 -05:00
Brandon Thomas 1caf1f38b8 working end-to-end, need to clean up resampling / dimensions / fps 2025-02-06 00:48:52 -05:00
Brandon Thomas f0b2a07613 inference wip 2025-02-05 23:52:01 -05:00
Brandon Thomas 3cd04414f8 auto-kill jobs in dev 2025-02-05 19:37:02 -05:00
Brandon Thomas f3776e953c run pose frame generation 2025-02-05 18:02:00 -05:00
Brandon Thomas d923699009 run stable animator or animate-x 2025-02-05 17:20:17 -05:00
Brandon Thomas f842d795d6 wip 2025-02-05 16:08:55 -05:00
Brandon Thomas 7a1ce7c9fd animate-x http args, refactor job 2025-02-05 14:35:42 -05:00
Brandon Thomas d0a3c02c00 resample input video 2025-02-02 02:50:35 -05:00
Brandon Thomas 32bc400686 local configurability 2025-02-02 00:58:12 -05:00
Brandon Thomas e3973e4ce1 hack fixes for thumbnails and cdn in dev 2025-02-01 23:36:05 -05:00
Brandon Thomas 1d7bc11be3 hack in support for "local CDN" / buckets 2025-01-31 18:51:27 -05:00
Brandon Thomas 5321eb145d fix api bug 2025-01-31 17:53:46 -05:00
Brandon Thomas 48043fb602 resize image 2025-01-31 13:53:50 -05:00
Brandon Thomas 8af2035ee6 fix cors 2025-01-26 02:35:10 -05:00
Kasisnu 1e2f73e44a stable-animator: minor tweaks 2025-01-25 01:19:35 +05:30
Brandon Thomas b49a7225e4 fix build errors 2025-01-24 04:21:39 -05:00
Brandon Thomas de01700359 fix build errors 2025-01-24 04:12:23 -05:00
Brandon Thomas f7990e2b61 fix build errors, codegen db 2025-01-24 03:40:33 -05:00
Brandon Thomas 081307d735 debug sleep, width height 2025-01-24 01:13:53 -05:00
Brandon Thomas 397241fb84 more debugging, more job params 2025-01-24 00:31:38 -05:00
Brandon Thomas dbc0f5f62e fix pathing, deps, etc. (local) 2025-01-23 23:28:58 -05:00
Brandon Thomas b521fa7676 Enqueue jobs properly in dev, dispatch to StableAnimator 2025-01-23 22:42:42 -05:00
Brandon Thomas a67f60d09e debug r2 client in dev, fix startup 2025-01-23 21:02:36 -05:00
Brandon Thomas 2cdf9ce41f build fix 2025-01-23 14:48:51 -05:00
Brandon Thomas 38fb1a4a32 job wip 2025-01-21 23:39:51 -05:00
Brandon Thomas 984fd1a21f wip (need to work on downstream pathing) 2025-01-17 18:46:02 -05:00
Brandon Thomas 8b92dc4099 stub for studio gen 2 inference job 2025-01-16 23:55:13 -05:00
Brandon Thomas 86677b8f97 fixup api docs 2025-01-16 21:12:26 -05:00
Brandon Thomas ed7a9905ee add studio gen2 enqueue endpoint 2025-01-16 20:45:08 -05:00
Kasisnu 1c25c4085b temp switch ST cdn to FY 2024-11-22 23:31:04 +05:30
Kasisnu 91e739d7c4 update FY bucket paths in places I missed the first time 2024-11-22 13:56:41 +05:30
Kasisnu 40a82142bf update FY bucket paths 2024-11-22 13:40:21 +05:30
Kasisnu f6454035d2 enable cog-video for staff only 2024-11-14 19:42:53 +05:30
Kasisnu e93a8664c1 add f5 and seed vc to list jobs handler length exemptions 2024-10-23 19:13:38 +05:30
Kasisnu 0ef4333013 seed-vc: fix source/reference audio mixup 2024-10-23 18:55:07 +05:30
Kasisnu cd11d0aa4e seed-vc: public model type enum extension 2024-10-23 17:48:25 +05:30
Kasisnu e8644d3b82 seed-vc: minor tweaks in inference 2024-10-23 17:05:54 +05:30
Kasisnu 806f70d7ba fix lots of unused imports 2024-10-23 13:41:03 +05:30
Kasisnu b6eb0e9394 super basic seed_vc inference integration 2024-10-23 13:41:03 +05:30
Kasisnu 02050ef86c build a musl variant of rust-gpu 2024-10-21 21:53:20 +05:30
Kasisnu 9b698d155e previews: some tweaks 2024-10-19 14:59:50 +05:30
Kasisnu ed359164ff sigh, add the f5-tts inference_category to inference job loop 2024-10-18 21:17:05 +05:30
Kasisnu 2da81d47a7 sigh, add an f5-tts inference_category 2024-10-18 21:06:40 +05:30
Kasisnu cb1253f509 some tweaks to f5 inference category 2024-10-18 18:16:11 +05:30
Kasisnu f21da59530 some tweaks to f5 inference 2024-10-18 17:18:03 +05:30
Kasisnu 4ebb7fe282 some tweaks to f5 inference 2024-10-18 16:28:05 +05:30
Kasisnu 83764e2381 disable fast previews while focussing on f5 2024-10-18 13:52:37 +05:30
Kasisnu 475ed299db super basic f5 integration 2024-10-18 13:52:37 +05:30
Kasisnu 53786bf9b9 rust: bump up version 2024-10-17 20:47:07 +05:30
Kasisnu 3a7fcc1595 uploads: reduce max concurrent uploads 2024-10-17 18:40:17 +05:30
Kasisnu 770293af49 chore: update hakari deps 2024-10-17 16:37:26 +05:30
Kasisnu bb19960c02 studio previews: faster concurrent uploads 2024-10-17 16:37:26 +05:30
Brandon Thomas f3cde45f33 storyteller render cors 2024-10-06 12:00:07 -04:00
Brandon Thomas 6adb104e58 cors for board.storyteller.ai 2024-10-04 01:02:45 -04:00
Brandon Thomas 3a1220853d sort tags 2024-10-03 10:19:51 -04:00
Brandon Thomas b1732a0d11 fix builds 2024-10-03 09:08:56 -04:00
Brandon Thomas c767a17da7 fix api 2024-10-03 00:45:07 -04:00
Brandon Thomas a2a7a10d0c clean up queries 2024-10-02 23:59:22 -04:00
Brandon Thomas d6ac0c9d0b fix deletion of tags 2024-10-02 23:54:45 -04:00
Brandon Thomas ea90bb6758 fixup queries 2024-10-02 21:44:24 -04:00
Brandon Thomas 252576b88a document endpoints 2024-10-02 17:25:05 -04:00
Brandon Thomas f7ed250c7c list tags endpoint, mount routes 2024-10-02 17:20:51 -04:00
Brandon Thomas 0b5530c8a3 tag editing endpoint 2024-10-02 13:03:26 -04:00
Brandon Thomas 606a439352 all queries for tags 2024-10-02 02:32:20 -04:00
Brandon Thomas aec5675784 almost all of the queries needed for tags 2024-10-02 01:46:42 -04:00
Brandon Thomas db05b61c51 search algorithm evaluation 2024-10-01 20:27:33 -04:00
Brandon Thomas 7141aa028f assert on popular voices 2024-10-01 20:19:58 -04:00
Brandon Thomas 90bfb2c2bf query testing harness 2024-10-01 20:03:42 -04:00
Brandon Thomas 7f43e98f07 refactor es search 2024-10-01 10:53:47 -04:00
Brandon Thomas 9ebd040d59 check up on models not annotated with language 2024-09-30 23:40:31 -04:00
Kasisnu f890f8781c style transfer: disable cancellation watcher 2024-09-30 20:11:48 +05:30
Kasisnu 3e35db2f8e style transfer: disable keepalive 2024-09-30 19:27:47 +05:30
Brandon Thomas 4b53df69a0 sort and threshold search 2024-09-30 03:35:35 -04:00
Brandon Thomas bca8925f31 codegen 2024-09-29 19:21:35 -04:00
Brandon Thomas d0a51f0344 elasticsearch weights search reads from appropriate field 2024-09-29 19:18:02 -04:00
Brandon Thomas 4397e29886 report language in model weights (get, list endpoints) 2024-09-29 19:02:12 -04:00
Brandon Thomas ac4a7f4612 update model language 2024-09-29 01:51:12 -04:00
Brandon Thomas 87a768890a switch update weights handler to mysql connection 2024-09-29 01:24:56 -04:00
Brandon Thomas 9bfd0330a9 migrations to add language tags to models 2024-09-29 00:54:12 -04:00
Brandon Thomas a8766e9620 signups by source 2024-09-29 00:38:43 -04:00
Brandon Thomas 3b3b218e0c move to databox dir 2024-09-28 23:29:59 -04:00
Brandon Thomas 1f595f3d64 new metric to track 2024-09-28 23:29:32 -04:00
Brandon Thomas 7297f77334 fail faster 2024-09-28 00:45:56 -04:00
Brandon Thomas 7186f37841 handle failures in thread (#374) 2024-09-28 00:42:06 -04:00
Brandon Thomas 767a2a38da replace mysql_pool with connection reuse in style transfer 2024-09-28 00:13:31 -04:00
Brandon Thomas d43bffc0a2 change half of mysql_pool refs to connections in style transfer job 2024-09-27 23:51:53 -04:00
Brandon Thomas ec0514187a oncall query, remove SD enqueue from API 2024-09-27 15:33:57 -04:00
Brandon Thomas a840e3c97e make sure dummy-service can continue serving during outages 2024-09-27 00:51:36 -04:00
dependabot[bot] be1ea1e4f0 Bump bcrypt from 0.15.0 to 0.15.1 (#363)
Bumps [bcrypt](https://github.com/Keats/rust-bcrypt) from 0.15.0 to
0.15.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Keats/rust-bcrypt/commit/b05e4f6097fac16cbb2c7a04d80fd53d20d37257"><code>b05e4f6</code></a>
Ready for release</li>
<li><a
href="https://github.com/Keats/rust-bcrypt/commit/ca0cb647536f5274c9cdd8018f22922ec72556ff"><code>ca0cb64</code></a>
Raise the MSRV to 1.60.0</li>
<li><a
href="https://github.com/Keats/rust-bcrypt/commit/cc34991354e5df9cca673637ba64782da4363145"><code>cc34991</code></a>
Upgrade base64 to 0.22</li>
<li><a
href="https://github.com/Keats/rust-bcrypt/commit/87fc59e917bcb6cf3f3752fc7f2b4c659d415597"><code>87fc59e</code></a>
Replace unmaintained actions-rs/* actions in CI workflows (<a
href="https://redirect.github.com/Keats/rust-bcrypt/issues/81">#81</a>)</li>
<li>See full diff in <a
href="https://github.com/Keats/rust-bcrypt/compare/v0.15.0...v0.15.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bcrypt&package-manager=cargo&previous-version=0.15.0&new-version=0.15.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

You can trigger a rebase of this PR by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

> **Note**
> Automatic rebases have been disabled on this pull request as it has
been open for over 30 days.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-27 00:26:47 -04:00
dependabot[bot] 2a3ec1e761 Bump diesel from 2.2.1 to 2.2.4 (#370)
Bumps [diesel](https://github.com/diesel-rs/diesel) from 2.2.1 to 2.2.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/diesel-rs/diesel/blob/v2.2.4/CHANGELOG.md">diesel's
changelog</a>.</em></p>
<blockquote>
<h2>[2.2.4] 2024-09-3</h2>
<h3>Fixed</h3>
<ul>
<li>Fix an issue where empty queries could trigger undefined behaviour
in the sqlite backend</li>
</ul>
<h2>[2.2.3] 2024-08-23</h2>
<h3>Fixed</h3>
<ul>
<li>Support for libsqlite3-sys 0.30.0</li>
<li>Fixed a possible vulnerability in how Diesel handled protocol level
bind parameters.
See the <a
href="http://web.archive.org/web/20240812130923/https://media.defcon.org/DEF%20CON%2032/DEF%20CON%2032%20presentations/DEF%20CON%2032%20-%20Paul%20Gerste%20-%20SQL%20Injection%20Isn&#x27;t%20Dead%20Smuggling%20Queries%20at%20the%20Protocol%20Level.pdf%3E">SQL
Injection isn't Dead: Smuggling Queries at Protocol Level</a>
presentation from DEF CON for details</li>
<li>Fixed an issue with a possibly ambiguous trait resolution in
<code>#[derive(QueryableByName)]</code></li>
</ul>
<h2>[2.2.2] 2024-07-19</h2>
<h3>Fixed</h3>
<ul>
<li>Support for libsqlite3-sys 0.29.0</li>
<li>Fixed a potential panic in the sqlite cursor implementation</li>
<li>Fixed support for rust numeric operators with columns of the type
<code>Numeric</code></li>
<li>Removed the <code>SerializedDatabase::new</code> function due to
unsoundness</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/diesel-rs/diesel/commit/291e66df874e4069c998700ba1a378f0109c3746"><code>291e66d</code></a>
Prepare a 2.2.4 release</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/46ede3f0600c8ac829f69c864eaf5cbddf88359a"><code>46ede3f</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4224">#4224</a>
from weiznich/fix/4223</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/8fb58634b39d8d9a632337df57b3336c7a388c54"><code>8fb5863</code></a>
Also bump diesel-cli to 2.2.3 to fix the cargo dist build</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/4c0e1f765c1216d6f829940ecc857af74b18d841"><code>4c0e1f7</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4195">#4195</a>
from weiznich/prepare/2.2.3</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/fcd602f3f9f0d104cbf65a73f61ee20742d8324a"><code>fcd602f</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4130">#4130</a>
from Ten0/remove_unused_NoCombinationClause</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/5c52a823bba7cef828ff4460b4bc3a97b1de9751"><code>5c52a82</code></a>
Prepare a diesel 2.2.3 release</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/3b624edcac5bb2018155582420260e3d85be3674"><code>3b624ed</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4170">#4170</a>
from weiznich/prevent_protocol_level_size_overflows</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/1a61cd3921620bfe3c2e81c50f94d091360d8ce5"><code>1a61cd3</code></a>
Update cargo-dist to 0.21.1</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/48cc9e6950e032dd955634ba89e6c98ae38b7515"><code>48cc9e6</code></a>
use try_from in range</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/501e7e297a47a455c229e2967b8b49e135bfcdbd"><code>501e7e2</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4166">#4166</a>
from guissalustiano/remove_cast_in_array</li>
<li>Additional commits viewable in <a
href="https://github.com/diesel-rs/diesel/compare/v2.2.1...v2.2.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=diesel&package-manager=cargo&previous-version=2.2.1&new-version=2.2.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-27 00:26:28 -04:00
Brandon Thomas f4a3ccc0fb update deps 2024-09-27 00:15:51 -04:00
Brandon Thomas 8b9d3d2cc0 update s3 client 2024-09-26 23:57:25 -04:00
Brandon Thomas 9ef54a3d55 consolidate *all* pathing, remove "buckets" crate 2024-09-26 23:23:08 -04:00
Brandon Thomas aebe2f9892 consolidate pathing 2024-09-26 22:51:45 -04:00
Brandon Thomas 47a72bed0f more bucket consolidation 2024-09-26 22:19:13 -04:00
Brandon Thomas 7af123b2ad cleanup 2024-09-26 21:47:15 -04:00
Brandon Thomas 8c8ad1d2e5 more bucket pathing consolidation 2024-09-26 21:07:40 -04:00
Brandon Thomas cea2a3d0f1 start refactoring / consolidating bucket paths 2024-09-26 20:32:01 -04:00
Brandon Thomas 134402c536 begin building bucket path crate to consolidate bucket configs 2024-09-26 10:42:28 -04:00
Brandon Thomas 63298b5154 don't generate potentially offensive usernames 2024-09-26 09:43:25 -04:00
Brandon Thomas ad258b7ba6 POST not GET for rename user 2024-09-26 09:29:54 -04:00
Brandon Thomas 499c1b6c2e document edit username handler 2024-09-26 01:23:21 -04:00
Brandon Thomas 649558e91d codegen db 2024-09-26 00:08:28 -04:00
Brandon Thomas ca2dee55ab fixup 2024-09-26 00:06:04 -04:00
Brandon Thomas 1edb7d10fc forgot username validation 2024-09-25 21:10:12 -04:00
Brandon Thomas b6e94089d9 update username endpoint 2024-09-25 21:07:27 -04:00
Brandon Thomas 8091da6d3c refactor 2024-09-25 18:46:57 -04:00
Brandon Thomas 2986385bfb refactor 2024-09-25 18:35:59 -04:00
Brandon Thomas 2b40807dd2 fail open 2024-09-25 18:21:40 -04:00
Brandon Thomas d2f24e3f8c rename modules 2024-09-25 13:54:27 -04:00
Brandon Thomas 21162c3df5 update sso details if changed, refactor 2024-09-25 13:46:33 -04:00
Brandon Thomas 6bd31c7075 source 2024-09-25 13:12:10 -04:00
Brandon Thomas c0627eee28 rename column, more sso wip 2024-09-25 12:38:30 -04:00
Brandon Thomas 26eedbcfb3 more user sso work 2024-09-25 01:50:28 -04:00
Brandon Thomas 37d922510d cleanup, new user columns 2024-09-24 23:23:07 -04:00
Brandon Thomas b167280a64 notes on algorithm 2024-09-24 22:44:33 -04:00
Brandon Thomas e9103cafb8 refactor SSO handler into branches/modules 2024-09-24 22:10:47 -04:00
Brandon Thomas 61811e4ef2 transactor handle connection; session creation 2024-09-24 20:49:13 -04:00
Brandon Thomas 03679b15eb populate new fields 2024-09-24 20:19:14 -04:00
Brandon Thomas f4d620ac4f user table migrations 2024-09-24 20:06:25 -04:00
Brandon Thomas 7f2afe59c0 generic transactor 2024-09-24 19:43:52 -04:00
Brandon Thomas 966e311d24 sso wip refactor 2024-09-24 19:18:39 -04:00
Brandon Thomas 010d5f8790 sso wip 2024-09-24 19:18:39 -04:00
Brandon Thomas 6607460f39 table to store google sign in information 2024-09-24 19:18:39 -04:00
Kasisnu e4198e8ac6 studio previews: re-enable previews for studio endponit 2024-09-24 20:38:22 +05:30
Kasisnu acd71fa2cd studio previews: fix url join for media urls 2024-09-24 20:38:22 +05:30
Kasisnu bae0355a86 studio previews: slightly better logic to detect frame reuploads 2024-09-24 19:39:36 +05:30
Brandon Thomas 999051f83f verification options 2024-09-22 16:56:06 -04:00
Brandon Thomas a1a4e7e9df make jwt handling more errorful 2024-09-22 16:31:14 -04:00
Brandon Thomas d728b678c8 test data for jwk signing 2024-09-22 14:57:28 -04:00
Brandon Thomas a223d64db7 refresh and cache certs in account creation flow 2024-09-20 18:04:03 -04:00
Kasisnu f1482c0076 Zzzzzzzs 2024-09-20 13:30:44 +05:30
Brandon Thomas deb0ebc5e9 document endpoints 2024-09-20 03:36:31 -04:00
Brandon Thomas bf538b55d1 new create user account (WIP) 2024-09-20 03:32:00 -04:00
Brandon Thomas 47ffa5696a use any key in the key set 2024-09-20 01:55:29 -04:00
Brandon Thomas f6e4eec00d refactor package 2024-09-20 01:27:10 -04:00
Brandon Thomas 8b1f4b3005 update payload 2024-09-20 00:39:02 -04:00
Brandon Thomas 32c50cb3c6 Google Sign In support (WIP) 2024-09-19 23:38:04 -04:00
Brandon Thomas 774f7e7e3a report runtime in jobs 2024-09-19 15:48:45 -04:00
Brandon Thomas c4f51c9fae cover images for bookmarks (should be done now) 2024-09-19 14:57:44 -04:00
Kasisnu 6266985577 temporarily disable generating previews 2024-09-19 19:21:25 +05:30
Brandon Thomas ac899f2b56 module refactor 2024-09-19 01:50:34 -04:00
Brandon Thomas bc4cf3617c module refactor 2024-09-19 01:15:43 -04:00
Brandon Thomas 0ee2d9548a refactor modules 2024-09-19 01:10:03 -04:00
Brandon Thomas 67bf6e436e update api docs, alter media file cover images 2024-09-19 00:35:21 -04:00
Brandon Thomas c4e4d8e12b add media links like struct to weights cover images 2024-09-18 23:30:32 -04:00
Brandon Thomas 5c5fd10d60 bookmarks: query media file cover images, media links 2024-09-18 15:54:38 -04:00
Brandon Thomas d7155e55d7 cors for image board 2024-09-18 13:17:51 -04:00
Brandon Thomas c956ea1239 need to upgrade sqlx to enable slow connection logging 2024-09-17 13:43:33 -04:00
Brandon Thomas bc5cd46633 analysis on media files 2024-09-17 13:13:07 -04:00
Brandon Thomas f3be7bf0f4 more username formats 2024-09-16 20:37:50 -04:00
Brandon Thomas 3a3f1aef14 random username function (for later) 2024-09-16 20:27:11 -04:00
Brandon Thomas ec4fc294a9 Random username, needs work 2024-09-16 19:46:41 -04:00
Brandon Thomas 05df706251 aggressively log list featured media files 2024-09-16 14:10:37 -04:00
Brandon Thomas 0db061455a report cloudflare ray id / trace id 2024-09-16 13:11:42 -04:00
Brandon Thomas b2015685f7 iterate over files with comments 2024-09-16 03:30:53 -04:00
Brandon Thomas 5bff23f479 add media links to all job endpoints 2024-09-16 02:33:33 -04:00
Brandon Thomas c5494afef7 remove suboptimal words we won't want to use as username atoms 2024-09-16 02:13:15 -04:00
Brandon Thomas d74f902965 sort username atom lists 2024-09-16 00:23:52 -04:00
Brandon Thomas 9214b8ffa5 add files for random username atoms 2024-09-16 00:22:22 -04:00
Brandon Thomas 1aefd1be11 upload original zip if debug header present 2024-09-15 15:13:48 -04:00
Brandon Thomas dd954d7ef0 add more logging to studio_shot 2024-09-15 15:03:10 -04:00
Brandon Thomas a8991a1a24 write AVT cookie from new app state endpoint 2024-09-15 13:39:05 -04:00
Brandon Thomas d4f4648dc2 w2l analysis, remove garbage from email-sender-job 2024-09-13 07:01:50 -04:00
Brandon Thomas 63143121f6 add lipsync details to jobs endpoints 2024-09-12 14:18:51 -04:00
Brandon Thomas c2f7cd8ca5 fix docs 2024-09-11 21:00:04 -04:00
Brandon Thomas b8870f6cdf form validations 2024-09-11 20:56:01 -04:00
Brandon Thomas 6ad695bfe9 video upload: resample frame rate + trim (WIP) 2024-09-11 20:37:07 -04:00
Brandon Thomas 166d5aab3b doc endpoint 2024-09-11 00:00:01 -04:00
Brandon Thomas d04bffdb84 cleanup new monolithic endpoint 2024-09-10 23:49:43 -04:00
Brandon Thomas 89ff405318 reshape app state endpoint 2024-09-10 23:13:51 -04:00
Brandon Thomas 87f70d507f include premium account info in the endpoint 2024-09-10 18:35:04 -04:00
Brandon Thomas 9dfaf44ac9 doc comment 2024-09-10 18:15:51 -04:00
Brandon Thomas ba003aded1 new monolithic app status endpoint (WIP) to reduce frontend issues 2024-09-10 17:59:45 -04:00
Brandon Thomas a3e12de516 misc: analytics query, don't overwrite updated at, etc. 2024-09-10 16:02:08 -04:00
Brandon Thomas 77359f1bd4 update product categories 2024-09-09 20:00:49 -04:00
Brandon Thomas 4dbf2b3b45 rename product categories so they sort and group better for analysis 2024-09-09 16:17:30 -04:00
Brandon Thomas 60117ad8dc analytics query 2024-09-09 15:45:47 -04:00
Brandon Thomas 4500b2ebfc fix face fusion video titles 2024-09-08 23:28:24 -04:00
Brandon Thomas 716abbe553 change estimate again 2024-09-08 22:23:43 -04:00
Brandon Thomas a57244a4be fix query nullability, codegen 2024-09-08 22:04:13 -04:00
Brandon Thomas 021ca222ae lipsync usage, better estimate for lipsync jobs 2024-09-08 21:50:33 -04:00
Brandon Thomas a330a18e54 analysis of usage 2024-09-08 19:22:48 -04:00
Kasisnu 1a06cdbf6b hotfix: modelweights search query 2024-09-08 20:26:16 +05:30
Brandon Thomas fd5384431e codegen db 2024-09-08 02:34:22 -04:00
Brandon Thomas 5c6abb59d4 add model use counts to all endpoints 2024-09-08 02:29:54 -04:00
Brandon Thomas f95759cd24 write cached model usage counts to elasticsearch 2024-09-07 15:03:40 -04:00
Brandon Thomas 5218cbadec update log lines 2024-09-07 14:28:09 -04:00
Brandon Thomas 7df5dc63ce codegen db 2024-09-07 03:04:36 -04:00
Brandon Thomas 0cee5e5fcc update cached model usage counts 2024-09-07 03:01:23 -04:00
Brandon Thomas bc67dcf878 don't re-establish connection if we already have one 2024-09-07 00:33:05 -04:00
Brandon Thomas 7b5ced8302 update analytics job to skip rewriting model_usage_counts 2024-09-07 00:19:41 -04:00
Brandon Thomas d3ebc80cbf analytics job now updates model_weight_usage_counts 2024-09-06 23:11:50 -04:00
Brandon Thomas aa30e1bf57 tokio sleep 2024-09-06 22:33:32 -04:00
Brandon Thomas 5a25995be5 refactor job so we can use multiple threads 2024-09-06 22:29:32 -04:00
Brandon Thomas 091429b727 start to refactor analytics-job 2024-09-06 22:08:29 -04:00
Brandon Thomas e1e93b9109 notes 2024-09-06 22:03:42 -04:00
Brandon Thomas fe32f985e3 migrations: not in aws, cached usage count 2024-09-06 00:26:07 -04:00
Brandon Thomas 171958ba1e fix scoping by product category 2024-09-05 21:23:43 -04:00
Brandon Thomas 3793da5bf8 document 2024-09-05 21:11:19 -04:00
Brandon Thomas 14ee33649b update docs 2024-09-05 21:01:36 -04:00
Brandon Thomas 6e1a597fd4 add media_links to cover images 2024-09-05 20:55:32 -04:00
Brandon Thomas 382a2105cf media_links in media files APIs (except cover images) 2024-09-05 20:44:16 -04:00
Brandon Thomas 483652f1da fully tested media links 2024-09-05 20:16:15 -04:00
Brandon Thomas e4d807ac6a media links (wip) 2024-09-05 20:07:11 -04:00
Brandon Thomas 0663fd77d1 fix inference category for face fusion 2024-09-05 12:41:18 -04:00
Brandon Thomas 292ff5d970 new media links for migration (wip) 2024-09-05 12:41:18 -04:00
Kasisnu 14f63c5f7d lipsync: make minor tweaks to match params 2024-09-05 16:54:22 +05:30
Brandon Thomas 20aac52cb7 fix job dispatch 2024-09-05 01:07:15 -04:00
Brandon Thomas 0dbc056546 auto-configure jobs with job type 2024-09-05 00:55:27 -04:00
Brandon Thomas c65bcef4c0 fix rvc job config 2024-09-05 00:48:05 -04:00
Brandon Thomas 676b7e9cc0 new RVC dispatching 2024-09-04 23:54:52 -04:00
Brandon Thomas b6a0c70058 refactor module 2024-09-04 21:51:51 -04:00
Brandon Thomas d2169f7221 don't process comfy workflow upload jobs! 2024-09-04 21:39:23 -04:00
Brandon Thomas 27e30fd17a webcam param on live portrait 2024-09-04 20:30:35 -04:00
Brandon Thomas 5b91a1396a refactor, codegen db 2024-09-03 23:36:57 -04:00
Brandon Thomas 8e326ac101 calculate legacy tts usages 2024-09-03 19:19:08 -04:00
Brandon Thomas 4815fce4be query logging 2024-09-03 00:27:34 -04:00
Brandon Thomas 5599ce2383 fix backfill query, improve logging 2024-09-03 00:25:14 -04:00
Brandon Thomas 06f80c794c much more efficient backfill 2024-09-02 23:36:22 -04:00
Brandon Thomas 8c7a666129 http docs for face fusion enqueue 2024-09-02 22:36:07 -04:00
Brandon Thomas 4b681f68b6 endpoint to enqueue face fusion 2024-09-02 22:28:58 -04:00
Brandon Thomas 11bbeefe1b fix storyteller web with face fusion enums 2024-09-02 22:14:21 -04:00
Brandon Thomas 4631b2b6d2 face fusion jobs (largely copy pasted from live portrait) 2024-09-02 22:03:36 -04:00
Brandon Thomas 5ee766d4e1 codegen db, misc 2024-09-02 20:25:08 -04:00
Brandon Thomas 65028539c6 fix multithreading 2024-09-02 02:34:22 -04:00
Brandon Thomas c27a505ab3 multithreaded 2024-09-02 02:23:22 -04:00
Brandon Thomas 1b82c4bc61 log progress 2024-09-02 02:01:43 -04:00
Brandon Thomas 59a0780e94 add retry logic 2024-09-02 01:54:00 -04:00
Brandon Thomas 9e0b19155d don't continue to pull connections from the pool 2024-09-02 01:38:04 -04:00
Brandon Thomas 447fcc7a65 query all models on all dates 2024-09-02 01:03:54 -04:00
Brandon Thomas cf11948462 walk all tokens for backfilling 2024-09-02 00:21:36 -04:00
Brandon Thomas 3045d1a848 insert records into new table 2024-09-01 20:42:59 -04:00
Brandon Thomas 281a0454c1 correct calculations 2024-09-01 20:33:08 -04:00
Brandon Thomas 41cd1576fd get count of usages while supporting old token formats 2024-09-01 20:24:10 -04:00
Brandon Thomas 8b8b739b3a backfill cli wip 2024-09-01 19:12:26 -04:00
Brandon Thomas 95ca2b53e7 new model stats table, results of long-running query 2024-09-01 17:19:39 -04:00
Brandon Thomas 045a4a9996 union all tts models query 2024-09-01 01:50:02 -04:00
Brandon Thomas 52f3024767 more analysis 2024-09-01 00:46:02 -04:00
Brandon Thomas 58a69e280a more analysis 2024-08-31 20:54:25 -04:00
Brandon Thomas 2e88c56a04 more top user analysis 2024-08-31 20:07:55 -04:00
Brandon Thomas 736f4a24b1 useful analytics queries 2024-08-31 19:16:04 -04:00
Brandon Thomas 83d5ae9e13 working on correctly attributing product categories 2024-08-31 02:45:16 -04:00
Brandon Thomas 0bc48d413f categorize studio jobs 2024-08-31 01:00:34 -04:00
Brandon Thomas 917053e9f8 stable diffusion jobs coming through? more analysis... 2024-08-31 00:53:51 -04:00
Brandon Thomas bdbedc56ed cors for video board 2024-08-30 15:51:54 -04:00
Brandon Thomas 40a13182f7 analytics queries (wip) 2024-08-30 04:09:27 -04:00
Brandon Thomas 08a6a1516c track model downloads too 2024-08-30 01:19:30 -04:00
Brandon Thomas 52c348be83 start tracking inference job product category for easier analytics 2024-08-30 01:09:41 -04:00
Brandon Thomas 4cb8226117 enum for job product category 2024-08-30 00:35:20 -04:00
Brandon Thomas 65f0718fb2 filter featured media by product category 2024-08-29 01:06:34 -04:00
Brandon Thomas 6a30d0c0d2 correct docs - there is an index on this column 2024-08-28 23:59:46 -04:00
Brandon Thomas b43c54123f migration for jobs storage flag 2024-08-28 22:11:26 -04:00
Brandon Thomas 4714e5cbee Four new migrations to run 2024-08-28 22:05:05 -04:00
Brandon Thomas 2c3d1fa26a docs on endpoint 2024-08-28 18:08:52 -04:00
Brandon Thomas 748e8a6d3e INSECURE HACK TO BYPASS CORS UGH 2024-08-28 18:06:13 -04:00
Brandon Thomas b7091b8b07 heuristic for frame type 2024-08-28 01:50:21 -04:00
Brandon Thomas d2bb9d538d query to update uploaded files 2024-08-28 01:25:28 -04:00
Brandon Thomas 90e54650bc update documentation 2024-08-27 19:42:13 -04:00
Brandon Thomas edf204711b set is_user_upload flag in more places 2024-08-27 19:25:26 -04:00
Brandon Thomas 59c0f2246a write media_files.is_user_upload from handlers 2024-08-27 19:06:41 -04:00
Brandon Thomas f8a092c21c codegen db, fix build errors 2024-08-27 18:46:54 -04:00
Brandon Thomas b32f14a19c remove upload flag from API for listing featured media files 2024-08-27 18:32:38 -04:00
Brandon Thomas d810760641 add is_user_upload + system_file bools to list media file endpoints 2024-08-27 18:28:27 -04:00
Brandon Thomas 63a4285830 don't return raw http responses 2024-08-27 17:39:19 -04:00
Brandon Thomas 56ac11801d new bool fields in es-update-job and media file search endpoints 2024-08-27 17:15:03 -04:00
Brandon Thomas 73d57b3a1f is_user_upload, is_system... fields in media file GET endpoints 2024-08-27 17:03:39 -04:00
Brandon Thomas 57f9e6708d add url slug + migration token to legacy TTS so we can canonicalize 2024-08-27 16:42:13 -04:00
Brandon Thomas bc21102c20 Add databox analytics queries 2024-08-27 16:14:31 -04:00
Brandon Thomas 7178843565 fix vocoder query 2024-08-27 01:12:56 -04:00
Brandon Thomas 04c5c6c294 package upgrades 2024-08-27 00:54:38 -04:00
Brandon Thomas 5debd5f1da codegen db 2024-08-27 00:46:21 -04:00
Brandon Thomas bd4ce9fd50 make sure we can still query for old models by token 2024-08-27 00:44:52 -04:00
Brandon Thomas 7a03631743 add url slug to model weights endpoints 2024-08-26 22:33:59 -04:00
Brandon Thomas 129ff91d9b remove unicode control chars 2024-08-26 21:01:35 -04:00
Brandon Thomas e5a7e2046d more test cases for title cleaning 2024-08-26 20:31:26 -04:00
Brandon Thomas 79a13d043e model title to slug 2024-08-26 16:49:17 -04:00
Brandon Thomas f49e080e34 codegen db 2024-08-25 22:05:37 -04:00
Brandon Thomas 518fe20bcd more cleanup 2024-08-25 22:04:08 -04:00
Brandon Thomas 7be3e6d4bc kill container_common crate 2024-08-25 21:45:41 -04:00
Brandon Thomas a5f435ae71 kill off dead result type 2024-08-25 21:18:42 -04:00
Brandon Thomas 6f0a97e362 write is_intermediate_system_file flag 2024-08-25 19:32:53 -04:00
Brandon Thomas bede3246e9 store scene token in engine render record 2024-08-25 19:21:20 -04:00
Brandon Thomas 0d2580f481 share code for generic media file insert 2024-08-25 19:02:17 -04:00
Brandon Thomas 8a8fae1380 codegen db 2024-08-25 18:02:02 -04:00
Brandon Thomas 35904deb0a refactor media file insert queries 2024-08-25 18:00:28 -04:00
Brandon Thomas 949f57a82a document new endpoint 2024-08-25 14:13:42 -04:00
Brandon Thomas f50934bdcc accept fps and scene source arguments (not saved to db yet) 2024-08-25 14:10:21 -04:00
Brandon Thomas 1b64903283 refactor insert query 2024-08-25 12:52:06 -04:00
Brandon Thomas 46447448fc studio zipped shots - ffmpg + upload work 2024-08-25 12:26:22 -04:00
Brandon Thomas ba369dab95 studio shot handler WIP - handle zip archives 2024-08-25 11:32:35 -04:00
Brandon Thomas 3121eb75ac refactor user session functions module 2024-08-23 20:50:23 -04:00
Brandon Thomas 7a45f57588 re-sort deprecated endpoint docs 2024-08-23 20:46:56 -04:00
Brandon Thomas 65fce3fb9c use Json<T> for upload endpoints 2024-08-23 20:44:22 -04:00
Brandon Thomas 983846dbc4 tag media file upload routes together 2024-08-23 20:30:28 -04:00
Brandon Thomas 5cb1e789da Add two new columns to media_files: watermark, upload 2024-08-23 02:35:27 -04:00
Brandon Thomas 007882edd6 document the new indices 2024-08-23 00:30:57 -04:00
Brandon Thomas 8b9526d13d document insert statements 2024-08-22 23:28:43 -04:00
Brandon Thomas 14c4935355 migrations to add indices (already run in prod!) 2024-08-22 23:20:54 -04:00
Brandon Thomas 532a33ef65 no longer prevent 'test' from being used in usernames 2024-08-22 23:07:53 -04:00
Brandon Thomas b5ae9fce14 make bare metal live portrait script more general 2024-08-21 21:58:52 -04:00
Brandon Thomas 1223ae8c0d script to launch live portrait on local dev bare metal 2024-08-21 21:53:08 -04:00
Brandon Thomas 9aa21aa757 rename functions one final time to be more ergonomic 2024-08-21 17:09:15 -04:00
Brandon Thomas 4c01430de2 delete lists of "possible" files 2024-08-21 17:01:27 -04:00
Brandon Thomas becc3e2c8f shared function to delete all files 2024-08-21 16:33:08 -04:00
Brandon Thomas e2c78c7054 rename file deletion functions for more general use 2024-08-21 16:16:30 -04:00
Brandon Thomas 1b9a735756 refactor file deletion module 2024-08-21 16:04:42 -04:00
Brandon Thomas 15a783d508 safe delete on failures 2024-08-20 20:52:48 -04:00
Brandon Thomas f1971e1063 configure all watermark parameters 2024-08-19 21:28:32 -04:00
Brandon Thomas 15b89cc7d8 bucket URLs for model weight cover images 2024-08-19 18:35:42 -04:00
Brandon Thomas d2de0db63f bucket URLs for all media file endpoints 2024-08-19 18:04:57 -04:00
Brandon Thomas 22785aa78b strongly typed URL 2024-08-19 16:39:25 -04:00
Brandon Thomas 9d09b6c21e report final URL to frontend for media files (WIP) 2024-08-19 03:22:22 -04:00
Brandon Thomas 7c6356b701 hostname detection not working with URI - use host header 2024-08-18 03:46:49 -04:00
Brandon Thomas f08d239445 log branding decision 2024-08-18 03:19:34 -04:00
Brandon Thomas 3ceefd7fa7 add watermark to live portrait 2024-08-18 03:13:59 -04:00
Brandon Thomas 55a64c7e3c Script for running live portrait on bare metal (ick) 2024-08-18 03:13:26 -04:00
Brandon Thomas 3cd74a5d9c watermark type on studio job 2024-08-17 09:58:26 -04:00
Brandon Thomas 393ef4ff27 live portrait metadata in media files batch get endpoint 2024-08-16 22:41:36 -04:00
Brandon Thomas 98b999121a add response data for live portrait, if encoded in the db 2024-08-16 22:34:40 -04:00
Brandon Thomas 4204e167ba codegen db, include live portrait tokens in media file 2024-08-16 20:50:55 -04:00
Brandon Thomas 2b100f2aaa replace old SD json metadata with new polymorphic enum struct 2024-08-16 20:40:56 -04:00
Brandon Thomas 6fda5cc12c inner payload for media files 2024-08-16 20:05:02 -04:00
Kasisnu 2a4a693466 temp inference category for LP so Bombay is unblocked 2024-08-16 14:44:08 +05:30
Brandon Thomas 6346eb3f96 refactor inference args module 2024-08-16 02:07:49 -04:00
Brandon Thomas bf679d4e33 don't call ffprobe twice 2024-08-16 01:46:19 -04:00
Brandon Thomas ef256a1dd9 codegen db 2024-08-16 00:59:58 -04:00
Brandon Thomas 2914c2574e clean up live portrait record insert metadata, add title 2024-08-16 00:54:21 -04:00
Brandon Thomas b7fccc7c7c Implement TTL Sieve to replace permanently stuck Sieve 2024-08-15 23:34:07 -04:00
Brandon Thomas 53bbcee54d don't doubly decode polymorphic args for each job detail 2024-08-15 22:56:01 -04:00
Brandon Thomas 64c990b66e add live portrait details to the other two job status endpoints 2024-08-15 22:37:47 -04:00
Brandon Thomas 029394ebd0 add live portrait metadata to session jobs 2024-08-15 22:31:54 -04:00
Brandon Thomas da6bbbe745 refactor inference job module 2024-08-15 21:20:44 -04:00
Brandon Thomas 6e8cdefe5c HTTP GET version of model weight search 2024-08-13 23:10:06 -04:00
Brandon Thomas cdea155523 refactor weights handlers module 2024-08-13 22:47:41 -04:00
Brandon Thomas 7a85207745 better visibility into failing to load env config files 2024-08-11 20:38:15 -04:00
Kasisnu 0e517845bb live portrait: pass stdout/err correctly 2024-08-09 17:00:12 +05:30
Kasisnu 9208f4cad5 stream and write stdout/err logs for comfy runs 2024-08-09 16:14:53 +05:30
Brandon Thomas 9a8f0e9780 more test cases for ffprobe 2024-08-09 02:15:09 -04:00
Brandon Thomas e6e6b523fc doc 2024-08-09 01:56:20 -04:00
Brandon Thomas 268c7cd8a1 move db error classification to From<> 2024-08-09 01:54:41 -04:00
Brandon Thomas d701f0a437 report 400s instead of 500s on duplicate idempotency tokens 2024-08-09 01:48:31 -04:00
Brandon Thomas 61033712c8 cleanup 2024-08-09 00:16:15 -04:00
Brandon Thomas cf42710ade use ffprobe to decode video info 2024-08-09 00:13:17 -04:00
Brandon Thomas 948db59d84 remove binaries from build 2024-08-08 23:11:11 -04:00
Brandon Thomas d909a7e0c6 update cpu build container to include ffmpeg and better cache stages 2024-08-08 22:52:54 -04:00
Brandon Thomas 6790133f96 revert some changes to media libs (don't include symphonia) 2024-08-08 22:52:37 -04:00
Brandon Thomas 61ef340e27 debug video 2024-08-08 22:24:21 -04:00
Brandon Thomas 4a914f8829 debug uploaded video 2024-08-08 22:06:11 -04:00
Brandon Thomas 9cb340b194 debug video error 2024-08-08 21:26:04 -04:00
Brandon Thomas bda8cb5e10 emit ffprobe on video upload 2024-08-08 20:31:35 -04:00
Brandon Thomas 6d4adfe60f cleanup analytics queries 2024-08-08 17:44:39 -04:00
Brandon Thomas b3be085994 safer migration for model weights elasticsearch 2024-08-08 17:22:46 -04:00
Brandon Thomas 6b0ebe666e codegen db 2024-08-08 16:44:40 -04:00
Brandon Thomas 72fb4c77e9 update featured bool for model search 2024-08-08 16:36:05 -04:00
Brandon Thomas a70b94d7cb add "is_featured" to get weight 2024-08-08 16:20:42 -04:00
Brandon Thomas 897034657d scoping types and categories for list featured weights 2024-08-08 14:08:38 -04:00
Brandon Thomas 31d40907fd handle justin downloads 2024-08-07 20:45:14 -04:00
Brandon Thomas 8c3ae9c72c truncate seconds passed from frontend 2024-08-07 19:50:23 -04:00
Brandon Thomas 2ee6822bac truncate audio 2024-08-07 19:17:44 -04:00
Brandon Thomas 7f95c86e31 decode audio info for gptsovits 2024-08-07 18:48:00 -04:00
Brandon Thomas f570672272 codegen db 2024-08-07 18:35:18 -04:00
Brandon Thomas 753f61cbce insert gptsovits records with correct metadata 2024-08-07 18:33:41 -04:00
Brandon Thomas 68a581e4b9 move/organize ffmpeg common commands 2024-08-07 17:30:04 -04:00
Brandon Thomas a73a0638a0 heuristic gptsovits file extraction 2024-08-07 16:16:39 -04:00
Brandon Thomas d8db78bf7f tests for gptsovits archives 2024-08-07 01:57:06 -04:00
Brandon Thomas b2a9cdc830 fix gptsovits output file pathing 2024-08-06 21:41:43 -04:00
Brandon Thomas c803be4ed4 provide reference language 2024-08-06 20:23:35 -04:00
Brandon Thomas 9d3984e071 log errors when gptsovits fails 2024-08-06 19:23:03 -04:00
Brandon Thomas d276748ebe enqueue GPTsovits models for download 2024-08-06 15:43:54 -04:00
Brandon Thomas b45c83ff1e missing env configs cause local dev startup failures 2024-08-06 13:12:49 -04:00
Brandon Thomas 1a22f81f7f handle reference audio + transcript not existing 2024-08-06 13:04:12 -04:00
Kasisnu 9d03cd71a8 some fixes 2024-08-06 21:20:46 +05:30
Kasisnu e5ae0a9a83 hmm: fast previews, large patches :// 2024-08-06 21:20:46 +05:30
Kasisnu f731bce142 funky dev setup 2024-08-06 21:20:46 +05:30
Brandon Thomas 72a18875ea upload reference transcript file 2024-08-04 23:59:03 -04:00
Brandon Thomas 4fda4cdda5 record file size 2024-08-04 23:45:23 -04:00
Brandon Thomas a2969215b9 share env var copying code 2024-08-03 11:19:59 -04:00
Brandon Thomas be8822dce4 fix errors, codegen db 2024-08-01 21:20:39 -04:00
Brandon Thomas 617f500039 fix model weight search 2024-08-01 21:01:23 -04:00
Brandon Thomas 62f7279870 update recent model weights records 2024-08-01 20:03:00 -04:00
dependabot[bot] d2e9140b50 Bump quick-xml from 0.35.0 to 0.36.1 (#362)
Bumps [quick-xml](https://github.com/tafia/quick-xml) from 0.35.0 to
0.36.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tafia/quick-xml/releases">quick-xml's
releases</a>.</em></p>
<blockquote>
<h2>v0.36.1 - Read binary from XML</h2>
<h2>What's Changed</h2>
<h3>New Features</h3>
<ul>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/623">#623</a>:
Added <code>Reader::stream()</code> that can be used to read arbitrary
data from the inner reader while track position for XML reader.</li>
</ul>
<p><a
href="https://redirect.github.com/tafia/quick-xml/issues/623">#623</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/issues/623">tafia/quick-xml#623</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tafia/quick-xml/compare/v0.36.0...v0.36.1">https://github.com/tafia/quick-xml/compare/v0.36.0...v0.36.1</a></p>
<h2>v0.36.0 - Compatibility with Adobe Flash</h2>
<h2>What's Changed</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/781">#781</a>:
Fix conditions to start CDATA section. Only uppercase
<code>&lt;![CDATA[</code> can start it.
Previously any case was allowed.</li>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/780">#780</a>:
Fixed incorrect <code>.error_position()</code> when encountering syntax
error for open or self-closed tag.</li>
</ul>
<h3>Misc Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/780">#780</a>:
<code>reader::Parser</code>, <code>reader::ElementParser</code> and
<code>reader::PiParser</code> moved to the new module
<code>parser</code>.</li>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/776">#776</a>:
Allow to have attributes in the end tag for compatibility reasons with
Adobe Flash XML parser.</li>
</ul>
<p><a
href="https://redirect.github.com/tafia/quick-xml/issues/776">#776</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/issues/776">tafia/quick-xml#776</a>
<a
href="https://redirect.github.com/tafia/quick-xml/issues/780">#780</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/pull/780">tafia/quick-xml#780</a>
<a
href="https://redirect.github.com/tafia/quick-xml/issues/781">#781</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/pull/781">tafia/quick-xml#781</a></p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tafia/quick-xml/compare/v0.35.0...v0.36.0">https://github.com/tafia/quick-xml/compare/v0.35.0...v0.36.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tafia/quick-xml/blob/master/Changelog.md">quick-xml's
changelog</a>.</em></p>
<blockquote>
<h2>0.36.1 -- 2024-07-23</h2>
<h3>New Features</h3>
<ul>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/623">#623</a>:
Added <code>Reader::stream()</code> that can be used to read arbitrary
data
from the inner reader while track position for XML reader.</li>
</ul>
<p><a
href="https://redirect.github.com/tafia/quick-xml/issues/623">#623</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/issues/623">tafia/quick-xml#623</a></p>
<h2>0.36.0 -- 2024-07-08</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/781">#781</a>:
Fix conditions to start CDATA section. Only uppercase
<code>&lt;![CDATA[</code> can start it.
Previously any case was allowed.</li>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/780">#780</a>:
Fixed incorrect <code>.error_position()</code> when encountering syntax
error for open or self-closed tag.</li>
</ul>
<h3>Misc Changes</h3>
<ul>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/780">#780</a>:
<code>reader::Parser</code>, <code>reader::ElementParser</code> and
<code>reader::PiParser</code> moved to the new module
<code>parser</code>.</li>
<li><a
href="https://redirect.github.com/tafia/quick-xml/issues/776">#776</a>:
Allow to have attributes in the end tag for compatibility reasons with
Adobe Flash XML parser.</li>
</ul>
<p><a
href="https://redirect.github.com/tafia/quick-xml/issues/776">#776</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/issues/776">tafia/quick-xml#776</a>
<a
href="https://redirect.github.com/tafia/quick-xml/issues/780">#780</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/pull/780">tafia/quick-xml#780</a>
<a
href="https://redirect.github.com/tafia/quick-xml/issues/781">#781</a>:
<a
href="https://redirect.github.com/tafia/quick-xml/pull/781">tafia/quick-xml#781</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tafia/quick-xml/commit/2f3824a1d265ac0b683aa485683ad00ddbc5c092"><code>2f3824a</code></a>
Release 0.36.1</li>
<li><a
href="https://github.com/tafia/quick-xml/commit/21360fe4026d0058e7640f8c9b4afd9dc6eb4d28"><code>21360fe</code></a>
Merge pull request <a
href="https://redirect.github.com/tafia/quick-xml/issues/783">#783</a>
from Mingun/binary-stream</li>
<li><a
href="https://github.com/tafia/quick-xml/commit/b1126631f887aed92967654b6a1cc36b63a6ac7d"><code>b112663</code></a>
Implement ability to read data directly from the underlying reader</li>
<li><a
href="https://github.com/tafia/quick-xml/commit/10ddcb7e943351fa72dda30ffd51db40463663e8"><code>10ddcb7</code></a>
Release 0.36.0</li>
<li><a
href="https://github.com/tafia/quick-xml/commit/959eb55e2d049a2094c3a48b54312b765fa0b2bc"><code>959eb55</code></a>
Merge pull request <a
href="https://redirect.github.com/tafia/quick-xml/issues/780">#780</a>
from Mingun/end-attributes</li>
<li><a
href="https://github.com/tafia/quick-xml/commit/6a48a28f4cc182112d9005f66f8ab4336ace3293"><code>6a48a28</code></a>
Allow to have attributes in closing tags (compatibility with the Adobe
Flash ...</li>
<li><a
href="https://github.com/tafia/quick-xml/commit/45e8be4eab0fb91a532d59cb017a039a74ab6262"><code>45e8be4</code></a>
Use <code>.error_position()</code> instead of
<code>.buffer_position()</code> in examples where err...</li>
<li><a
href="https://github.com/tafia/quick-xml/commit/df65be07e401d759ed9e8faf211bc20f7e8fbf53"><code>df65be0</code></a>
Fix incorrect <code>.error_position()</code> when encountering syntax
error for open or ...</li>
<li><a
href="https://github.com/tafia/quick-xml/commit/ecc7ef37629b77db48260738ddb73def97ad8344"><code>ecc7ef3</code></a>
Actually check that .error_position() is correct</li>
<li><a
href="https://github.com/tafia/quick-xml/commit/d387ed7416af516034b1952375ac01ee7a0a513a"><code>d387ed7</code></a>
Move <code>Parser</code>, <code>ElementParser</code> and
<code>PiParser</code> to the new module <code>parser</code>.</li>
<li>Additional commits viewable in <a
href="https://github.com/tafia/quick-xml/compare/v0.35.0...v0.36.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=quick-xml&package-manager=cargo&previous-version=0.35.0&new-version=0.36.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-01 18:08:09 -04:00
Brandon Thomas 7f856321a7 update es-update-job to include db read time 2024-08-01 17:55:32 -04:00
Brandon Thomas f807239a44 retain all tts job results 2024-08-01 15:05:06 -04:00
Brandon Thomas b6279776af queries 2024-07-30 13:54:29 -04:00
Brandon Thomas 844554f2e7 restore old URL 2024-07-27 00:39:17 -04:00
Brandon Thomas e87baf2d7f fix missing enum variant 2024-07-26 23:23:28 -04:00
dependabot[bot] 89c8f354e6 Bump zerovec-derive from 0.10.2 to 0.10.3 (#356)
Bumps [zerovec-derive](https://github.com/unicode-org/icu4x) from 0.10.2
to 0.10.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/unicode-org/icu4x/blob/main/CHANGELOG.md">zerovec-derive's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>icu4x 1.5.x</h2>
<ul>
<li><code>icu_calendar</code>
<ul>
<li>(1.5.1) Fix Japanese calendar Gregorian era year 0 (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4968">unicode-org/icu4x#4968</a>)</li>
<li>(1.5.2) Enforce C,packed, not just packed, on ULE types, fixing for
incoming changes to <code>repr(Rust)</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5049">unicode-org/icu4x#5049</a>)</li>
</ul>
</li>
<li><code>icu_datetime</code>
<ul>
<li>(1.5.1) Fix incorrect assertion in week-of-year formatting (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4977">unicode-org/icu4x#4977</a>)</li>
</ul>
</li>
<li><code>icu_casemap</code>
<ul>
<li>(1.5.1) Enforce C,packed, not just packed, on ULE types, fixing for
incoming changes to <code>repr(Rust)</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5049">unicode-org/icu4x#5049</a>)</li>
</ul>
</li>
<li><code>icu_capi</code>
<ul>
<li>(1.5.1) Fix situations in which <code>libc_alloc</code> is specified
as a dependency (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5119">unicode-org/icu4x#5119</a>)</li>
</ul>
</li>
<li><code>icu_properties</code>
<ul>
<li>(1.5.1) Enforce C,packed, not just packed, on ULE types, fixing for
incoming changes to <code>repr(Rust)</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5049">unicode-org/icu4x#5049</a>)</li>
</ul>
</li>
<li><code>zerovec</code>
<ul>
<li>(0.10.3) Fix size regression by making <code>twox-hash</code> dep
<code>no_std</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5007">unicode-org/icu4x#5007</a>)</li>
<li>(0.10.3) Enforce C,packed, not just packed, on ULE types, fixing for
incoming changes to <code>repr(Rust)</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5049">unicode-org/icu4x#5049</a>)</li>
<li>(0.10.4) Enforce C,packed on OptionVarULE (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5143">unicode-org/icu4x#5143</a>)</li>
</ul>
</li>
<li><code>zerovec_derive</code>
<ul>
<li>(0.10.3) Enforce C,packed, not just packed, on ULE types, fixing for
incoming changes to <code>repr(Rust)</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5049">unicode-org/icu4x#5049</a>)</li>
</ul>
</li>
</ul>
<h2>icu4x 1.5 (May 28, 2024)</h2>
<ul>
<li>Components
<ul>
<li>General
<ul>
<li>Compiled data updated to CLDR 45 and ICU 75 (unicode-org#4782)</li>
</ul>
</li>
<li><code>icu_calendar</code>
<ul>
<li>Fix duration offsetting and negative-year bugs in several calendars
including Chinese, Islamic, Coptic, Ethiopian, and Hebrew (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4904">#4904</a>)</li>
<li>Improved approximation for Persian calendrical calculations (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4713">unicode-org/icu4x#4713</a>)</li>
<li>Fix weekday calculations in negative ISO years (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4894">unicode-org/icu4x#4894</a>)</li>
<li>New <code>DateTime::local_unix_epoch()</code> convenience
constructor (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4479">unicode-org/icu4x#4479</a>)</li>
<li>Add caching for all islamic calendars (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4785">unicode-org/icu4x#4785</a>)</li>
<li>Add caching for chinese based calendars (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4411">unicode-org/icu4x#4411</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4468">unicode-org/icu4x#4468</a>)</li>
<li>Switch Hebrew to faster keviyah/Four Gates calculations (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4504">unicode-org/icu4x#4504</a>)</li>
<li>Replace 2820-year with 33-year cycle in Persian calendar, with
override table (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4770">unicode-org/icu4x#4770</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4775">unicode-org/icu4x#4775</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4796">unicode-org/icu4x#4796</a>)</li>
<li>Fix bugs in several calendars with new continuity test (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4904">unicode-org/icu4x#4904</a>)</li>
<li>Fix year 2319 in the Chinese calendar (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4929">unicode-org/icu4x#4929</a>)</li>
<li>Fix ISO weekday calculations in negative years (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4894">unicode-org/icu4x#4894</a>)</li>
</ul>
</li>
<li><code>icu_collections</code>
<ul>
<li>Switch from <code>wasmer</code> to <code>wasmi</code> in
<code>icu_codepointtrie_builder</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4621">unicode-org/icu4x#4621</a>)</li>
</ul>
</li>
<li><code>icu_normalizer</code>
<ul>
<li>Make UTS 46 normalization non-experimental (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4712">#4712</a>)</li>
</ul>
</li>
<li><code>icu_datetime</code>
<ul>
<li>Experimental &quot;neo&quot; datetime formatter with support for
semantic skeleta and fine-grained data slicing (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/1317">unicode-org/icu4x#1317</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/issues/3347">unicode-org/icu4x#3347</a>)</li>
<li><code>Writeable</code> and <code>Display</code> implementations now
don't return <code>fmt::Error</code>s that don't originate from the
<code>fmt::Write</code> anymore (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4732">#4732</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4851">#4851</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4863">#4863</a>)</li>
<li>Make <code>CldrCalendar</code> trait sealed except with experimental
feature (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4392">unicode-org/icu4x#4392</a>)</li>
<li><code>FormattedDateTime</code> and
<code>FormattedZonedDateTime</code> now implement <code>Clone</code> and
<code>Copy</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4476">unicode-org/icu4x#4476</a>)</li>
</ul>
</li>
<li><code>icu_experimental</code></li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/unicode-org/icu4x/commits/ind/zerovec-derive@0.10.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zerovec-derive&package-manager=cargo&previous-version=0.10.2&new-version=0.10.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/storytold/storyteller-rust/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-26 23:09:22 -04:00
dependabot[bot] 74ac5d76ee Bump rustls from 0.21.9 to 0.21.12 (#350)
Bumps [rustls](https://github.com/rustls/rustls) from 0.21.9 to 0.21.12.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rustls/rustls/commit/3633152cc557cceadb0f71fa7226e6051fb6a9ee"><code>3633152</code></a>
Cargo: v0.21.11 -&gt; v0.21.12</li>
<li><a
href="https://github.com/rustls/rustls/commit/0baaeba7a8b7961108810fe0ae108d3dc45cf35e"><code>0baaeba</code></a>
proj: MSRV 1.61 -&gt; 1.63</li>
<li><a
href="https://github.com/rustls/rustls/commit/6fd691a1018297e7299b91eb2a840da579c286df"><code>6fd691a</code></a>
tls13: fix clippy::unnecessary_lazy_evaluations finding</li>
<li><a
href="https://github.com/rustls/rustls/commit/6da53375a2910e7dda1752b3d2072a77f1a00e39"><code>6da5337</code></a>
Test for illegal IP address in server name extension</li>
<li><a
href="https://github.com/rustls/rustls/commit/75f8857db71f128fb521e77135744c97453a6e4b"><code>75f8857</code></a>
Ignore server_name extension containing IP address</li>
<li><a
href="https://github.com/rustls/rustls/commit/7b8d1dbc1e666dc4d83640c64e96d257d39cfda4"><code>7b8d1db</code></a>
Prepare 0.21.11</li>
<li><a
href="https://github.com/rustls/rustls/commit/ebcb4782f23b4edf9b10a7065d9e8d4362439d9c"><code>ebcb478</code></a>
complete_io: bail out if progress is impossible</li>
<li><a
href="https://github.com/rustls/rustls/commit/20f35dfb6d3c353294c562723d4cb6639a8bd01b"><code>20f35df</code></a>
Regression test for <code>complete_io</code> infinite loop bug</li>
<li><a
href="https://github.com/rustls/rustls/commit/2f2aae15a4293639669291ab2b257835a2d4bdca"><code>2f2aae1</code></a>
Don't specially handle unauthenticated close_notify alerts</li>
<li><a
href="https://github.com/rustls/rustls/commit/e163587b985c894a6ce651992b91eb6897edde8b"><code>e163587</code></a>
Don't deny warnings from nightly clippy</li>
<li>Additional commits viewable in <a
href="https://github.com/rustls/rustls/compare/v/0.21.9...v/0.21.12">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls&package-manager=cargo&previous-version=0.21.9&new-version=0.21.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/storytold/storyteller-rust/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-26 23:09:04 -04:00
dependabot[bot] d5869f094b Bump zerovec from 0.10.2 to 0.10.4 (#354)
[//]: # (dependabot-start)
⚠️  **Dependabot is rebasing this PR** ⚠️ 

Rebasing might not happen immediately, so don't worry if this takes some
time.

Note: if you make any changes to this PR yourself, they will take
precedence over the rebase.

---

[//]: # (dependabot-end)

Bumps [zerovec](https://github.com/unicode-org/icu4x) from 0.10.2 to
0.10.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/unicode-org/icu4x/blob/main/CHANGELOG.md">zerovec's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>icu4x 1.5.x</h2>
<ul>
<li><code>icu_calendar</code>
<ul>
<li>(1.5.1) Fix Japanese calendar Gregorian era year 0 (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4968">unicode-org/icu4x#4968</a>)</li>
<li>(1.5.2) Enforce C,packed, not just packed, on ULE types, fixing for
incoming changes to <code>repr(Rust)</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5049">unicode-org/icu4x#5049</a>)</li>
</ul>
</li>
<li><code>icu_datetime</code>
<ul>
<li>(1.5.1) Fix incorrect assertion in week-of-year formatting (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4977">unicode-org/icu4x#4977</a>)</li>
</ul>
</li>
<li><code>icu_casemap</code>
<ul>
<li>(1.5.1) Enforce C,packed, not just packed, on ULE types, fixing for
incoming changes to <code>repr(Rust)</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5049">unicode-org/icu4x#5049</a>)</li>
</ul>
</li>
<li><code>icu_capi</code>
<ul>
<li>(1.5.1) Fix situations in which <code>libc_alloc</code> is specified
as a dependency (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5119">unicode-org/icu4x#5119</a>)</li>
</ul>
</li>
<li><code>icu_properties</code>
<ul>
<li>(1.5.1) Enforce C,packed, not just packed, on ULE types, fixing for
incoming changes to <code>repr(Rust)</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5049">unicode-org/icu4x#5049</a>)</li>
</ul>
</li>
<li><code>zerovec</code>
<ul>
<li>(0.10.3) Fix size regression by making <code>twox-hash</code> dep
<code>no_std</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5007">unicode-org/icu4x#5007</a>)</li>
<li>(0.10.3) Enforce C,packed, not just packed, on ULE types, fixing for
incoming changes to <code>repr(Rust)</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5049">unicode-org/icu4x#5049</a>)</li>
<li>(0.10.4) Enforce C,packed on OptionVarULE (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5143">unicode-org/icu4x#5143</a>)</li>
</ul>
</li>
<li><code>zerovec_derive</code>
<ul>
<li>(0.10.3) Enforce C,packed, not just packed, on ULE types, fixing for
incoming changes to <code>repr(Rust)</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/5049">unicode-org/icu4x#5049</a>)</li>
</ul>
</li>
</ul>
<h2>icu4x 1.5 (May 28, 2024)</h2>
<ul>
<li>Components
<ul>
<li>General
<ul>
<li>Compiled data updated to CLDR 45 and ICU 75 (unicode-org#4782)</li>
</ul>
</li>
<li><code>icu_calendar</code>
<ul>
<li>Fix duration offsetting and negative-year bugs in several calendars
including Chinese, Islamic, Coptic, Ethiopian, and Hebrew (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4904">#4904</a>)</li>
<li>Improved approximation for Persian calendrical calculations (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4713">unicode-org/icu4x#4713</a>)</li>
<li>Fix weekday calculations in negative ISO years (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4894">unicode-org/icu4x#4894</a>)</li>
<li>New <code>DateTime::local_unix_epoch()</code> convenience
constructor (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4479">unicode-org/icu4x#4479</a>)</li>
<li>Add caching for all islamic calendars (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4785">unicode-org/icu4x#4785</a>)</li>
<li>Add caching for chinese based calendars (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4411">unicode-org/icu4x#4411</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4468">unicode-org/icu4x#4468</a>)</li>
<li>Switch Hebrew to faster keviyah/Four Gates calculations (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4504">unicode-org/icu4x#4504</a>)</li>
<li>Replace 2820-year with 33-year cycle in Persian calendar, with
override table (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4770">unicode-org/icu4x#4770</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4775">unicode-org/icu4x#4775</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4796">unicode-org/icu4x#4796</a>)</li>
<li>Fix bugs in several calendars with new continuity test (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4904">unicode-org/icu4x#4904</a>)</li>
<li>Fix year 2319 in the Chinese calendar (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4929">unicode-org/icu4x#4929</a>)</li>
<li>Fix ISO weekday calculations in negative years (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4894">unicode-org/icu4x#4894</a>)</li>
</ul>
</li>
<li><code>icu_collections</code>
<ul>
<li>Switch from <code>wasmer</code> to <code>wasmi</code> in
<code>icu_codepointtrie_builder</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4621">unicode-org/icu4x#4621</a>)</li>
</ul>
</li>
<li><code>icu_normalizer</code>
<ul>
<li>Make UTS 46 normalization non-experimental (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4712">#4712</a>)</li>
</ul>
</li>
<li><code>icu_datetime</code>
<ul>
<li>Experimental &quot;neo&quot; datetime formatter with support for
semantic skeleta and fine-grained data slicing (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/1317">unicode-org/icu4x#1317</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/issues/3347">unicode-org/icu4x#3347</a>)</li>
<li><code>Writeable</code> and <code>Display</code> implementations now
don't return <code>fmt::Error</code>s that don't originate from the
<code>fmt::Write</code> anymore (<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4732">#4732</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4851">#4851</a>,
<a
href="https://redirect.github.com/unicode-org/icu4x/issues/4863">#4863</a>)</li>
<li>Make <code>CldrCalendar</code> trait sealed except with experimental
feature (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4392">unicode-org/icu4x#4392</a>)</li>
<li><code>FormattedDateTime</code> and
<code>FormattedZonedDateTime</code> now implement <code>Clone</code> and
<code>Copy</code> (<a
href="https://redirect.github.com/unicode-org/icu4x/pull/4476">unicode-org/icu4x#4476</a>)</li>
</ul>
</li>
<li><code>icu_experimental</code></li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/unicode-org/icu4x/commits/ind/zerovec@0.10.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zerovec&package-manager=cargo&previous-version=0.10.2&new-version=0.10.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/storytold/storyteller-rust/network/alerts).

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-26 23:08:47 -04:00
KasisnuandBrandon Thomas d8d13daad5 gptsovits: enqueue uploads api, inference job supports uploading & tts inference (#359)
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2024-07-26 23:07:56 -04:00
Brandon Thomas cef5d79bb1 watermark branding from hostname 2024-07-26 22:42:58 -04:00
Brandon Thomas 595ff3260e remove dead routes 2024-07-26 22:11:40 -04:00
Brandon Thomas 9cb2d3f74e dimensions wip 2024-07-26 18:04:11 -04:00
Brandon Thomas ce0fb4bf9e dimensions for live portrait 2024-07-25 19:16:58 -04:00
Brandon Thomas 8fc89f993e public model type in API 2024-07-25 17:41:40 -04:00
Brandon Thomas 7babe2d122 new media file model types 2024-07-25 16:30:41 -04:00
Brandon Thomas cdb3b706cf clean up origin category a little 2024-07-25 16:09:49 -04:00
Brandon Thomas 2a6254522e write media file product category for VST and Studio 2024-07-25 15:47:25 -04:00
Brandon Thomas e637af4398 Fix product categories (TODO: implement in jobs / upload endpoints) 2024-07-25 15:18:16 -04:00
Brandon Thomas 78f60cd782 documentation + begin removing media file subtype 2024-07-25 15:05:57 -04:00
Brandon Thomas 990e65abc9 upload3d feature flag 2024-07-24 19:47:44 -04:00
Brandon Thomas a6fc62810e query is long for scrollback 2024-07-23 23:45:50 -04:00
Brandon Thomas b6344a681f all payload types 2024-07-21 10:24:04 -04:00
Brandon Thomas 0454db0aa7 get the maximum use between stores 2024-07-21 10:03:44 -04:00
Brandon Thomas 233523c6b5 premium store is self-contained 2024-07-21 09:51:02 -04:00
Brandon Thomas e5e93364ae usage tracker wip 2024-07-21 09:25:04 -04:00
Brandon Thomas f17a9a034f premium keys 2024-07-21 00:17:47 -04:00
Brandon Thomas a06b583488 user token premium redis key 2024-07-21 00:09:16 -04:00
Brandon Thomas 96021d4507 add redis_schema lib (wip) 2024-07-20 23:51:11 -04:00
Brandon Thomas 7686eff0c1 better response type typing, less boilerplate 2024-07-19 23:44:45 -04:00
Brandon Thomas 705013f5e0 top models analytics query 2024-07-18 21:31:34 -04:00
Kasisnu 3f48bb217c fix: thumbnails outptu extension for requests (#360) 2024-07-18 21:31:47 +05:30
Brandon Thomas f72b4c973e updated queue stats endpoint 2024-07-17 16:49:45 -04:00
Brandon Thomas 5300902939 report on other queue stats 2024-07-17 16:26:30 -04:00
Kasisnu 9036f0993a make making thumbnails easier (#358) 2024-07-17 22:00:19 +05:30
Brandon Thomas 783ffef82c permanently fail on face detection errors 2024-07-17 08:04:24 -04:00
Brandon Thomas 5153bda209 fix command line arg 2024-07-16 22:34:42 -04:00
Brandon Thomas 0fdfc3b8fc move server "state" / configs to module 2024-07-16 22:28:43 -04:00
Brandon Thomas 17ce397d09 fixup args 2024-07-16 22:10:57 -04:00
Brandon Thomas 278d821207 reorganize file modules 2024-07-16 22:08:02 -04:00
Brandon Thomas 6352f710e0 cleanup and reorganize job code 2024-07-16 22:02:55 -04:00
Brandon Thomas e76d30caf7 make downloader common code 2024-07-16 21:39:25 -04:00
Brandon Thomas 576af78b2c input is image argument 2024-07-16 21:31:43 -04:00
Brandon Thomas d88ace6706 don't log routing tag mismatch 2024-07-16 21:08:31 -04:00
Brandon Thomas 13fe465740 fix job selection for empty scoping 2024-07-16 20:34:06 -04:00
Brandon Thomas 00ad03a819 analytics query 2024-07-16 20:25:03 -04:00
Brandon Thomas de36342731 fix model scoping for empty string 2024-07-16 19:52:15 -04:00
Brandon Thomas dafeb616a5 scope jobs by type 2024-07-16 19:10:26 -04:00
Brandon Thomas 9708e91137 public-facing inference job type 2024-07-16 17:37:58 -04:00
Brandon Thomas 06ac75a569 let users use upscaler 2024-07-16 15:54:20 -04:00
Brandon Thomas 142519b97f fix api docs 2024-07-16 15:29:14 -04:00
Brandon Thomas 8639788706 rename live portrait endpoint 2024-07-16 15:11:36 -04:00
Brandon Thomas 6af2b3f173 add support for mp4 image planes 2024-07-16 13:27:13 -04:00
Brandon Thomas 2bee82f0ae connect the last few pieces 2024-07-16 03:45:24 -04:00
Brandon Thomas 7c5ba2542c inference job - upload results 2024-07-16 03:28:39 -04:00
Brandon Thomas 7644c6813c new enum to begin field deprecation 2024-07-16 02:54:39 -04:00
Brandon Thomas 84c5ae9d18 move inference job CLI so we can reuse it 2024-07-16 02:01:32 -04:00
Brandon Thomas cc41641b2b extractor 2024-07-16 00:26:11 -04:00
Brandon Thomas b573860068 cleanup dead code, polymorphic args extraction 2024-07-16 00:00:17 -04:00
Brandon Thomas c40ffa7346 refactor module names 2024-07-15 22:58:18 -04:00
Brandon Thomas 93ce89e060 cleanup job 2024-07-15 22:54:22 -04:00
Brandon Thomas 59c4574d4d dead code 2024-07-15 22:33:18 -04:00
Brandon Thomas 6ad5a39bba reorganize workflow job module 2024-07-15 22:26:02 -04:00
Brandon Thomas 6f568087c6 share request/response 2024-07-15 21:00:17 -04:00
Brandon Thomas 5111254eaf extra test 2024-07-15 20:22:18 -04:00
Brandon Thomas 1ae84a406d use cinematic fix 2024-07-15 20:20:55 -04:00
Brandon Thomas f49e49832b document new endpoints 2024-07-15 20:11:02 -04:00
Brandon Thomas 0bf9e7b5aa share media token cleaning 2024-07-15 20:00:40 -04:00
Brandon Thomas 92338e5f66 mount workflow routes 2024-07-15 19:41:45 -04:00
Brandon Thomas e09130a1b5 remove unused portrait workflow args 2024-07-15 18:31:20 -04:00
Brandon Thomas 0465f5236f enable cinematic 2024-07-15 17:56:54 -04:00
Brandon Thomas 12cf9730f8 share debug + routing tag headers 2024-07-15 17:16:54 -04:00
Brandon Thomas bfa842b123 add new endpoints (wip) 2024-07-15 17:01:13 -04:00
Brandon Thomas 3faf22e9c5 comments 2024-07-15 16:03:04 -04:00
Brandon Thomas d87814bc41 make this clearer 2024-07-15 09:52:03 -04:00
Brandon Thomas cf057d26ec fix enum compile error 2024-07-15 09:49:23 -04:00
Brandon Thomas 2d294ce7ad enum for LivePortrait 2024-07-15 01:33:42 -04:00
Brandon Thomas 4e6285acd2 use publicweightstype in server 2024-07-15 01:27:04 -04:00
Brandon Thomas 114cdc10a0 prepare to hide some public-facing enums 2024-07-15 01:01:55 -04:00
Brandon Thomas 53e7ca28c6 new enum variant for gpt_so_vits 2024-07-14 22:10:16 -04:00
Brandon Thomas 854fe4b340 fix query 2024-07-13 23:35:45 -04:00
Brandon Thomas 330712407d anlaytics query 2024-07-13 23:24:51 -04:00
Brandon Thomas b708e5f9f6 allow people access to outputs even without studio access 2024-07-13 13:38:26 -04:00
Brandon Thomas 4146e922d8 analytics query 2024-07-12 23:48:46 -04:00
Brandon Thomas 1789918913 codegen build fix 2024-07-12 12:10:40 -04:00
Brandon Thomas 357691be20 report cached results 2024-07-12 10:18:35 -04:00
Brandon Thomas 8889299cc7 in-memory cache featured item list 2024-07-12 01:29:58 -04:00
Brandon Thomas a4023278bc add sieve 2024-07-12 00:37:59 -04:00
Brandon Thomas 73119ac9e3 fix compile errors 2024-07-12 00:01:34 -04:00
Brandon Thomas ec46833726 enroll new users in studio 2024-07-11 23:59:40 -04:00
Brandon Thomas e63ec3ae34 fix string quoting 2024-07-11 00:42:28 -04:00
Brandon Thomas aabaf0a5a5 fix query 2024-07-10 23:01:40 -04:00
Brandon Thomas 4146261806 cleanup 2024-07-10 21:57:39 -04:00
Brandon Thomas 10cc6198d9 fix pathing... 2024-07-10 21:25:51 -04:00
Brandon Thomas b8fb1b9a5e cleanup pathing (wip) (#357) 2024-07-10 20:59:18 -04:00
1139 changed files with 43326 additions and 7070 deletions
+2 -1
View File
@@ -12,8 +12,9 @@ db.secrets
db_secrets.toml
env-secrets
production_database_secret_connect.sh
script/production_database_secret_connect.sh
production_database_secret_query.sh
script/production_database_secret_backup.sh
script/production_database_secret_connect.sh
production_database_voice_clone_report_download.sh
secrets.toml
secrets.yaml
+3
View File
@@ -3,6 +3,8 @@
<words>
<w>arpabet</w>
<w>backfill</w>
<w>backfilling</w>
<w>backfills</w>
<w>blendshapes</w>
<w>canonicalized</w>
<w>canonicalizing</w>
@@ -48,6 +50,7 @@
<w>unpermitted</w>
<w>upserting</w>
<w>upserts</w>
<w>upvoted</w>
<w>vits</w>
<w>vocoded</w>
<w>vocoder</w>
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n maybe_origin_model_type = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n maybe_style_transfer_source_media_file_token = ?,\n maybe_scene_source_media_file_token = ?,\n\n maybe_title = ?,\n maybe_prompt_token = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_generated_on_prem = ?,\n generated_by_worker = ?,\n generated_by_cluster = ?\n\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 25
},
"nullable": []
},
"hash": "039c24023c93deacc0b09fbbfe747821ba9f7e06bc17f651628edf1a82f5feb6"
}
@@ -1,47 +0,0 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n maybe_model_type as queue_type,\n count(*) as pending_job_count,\n NOW() as present_time\n FROM (\n SELECT\n token,\n maybe_model_type\n FROM generic_inference_jobs\n WHERE status IN (\"pending\", \"attempt_failed\")\n AND maybe_model_type IS NOT NULL\n UNION\n SELECT\n token,\n maybe_model_type\n FROM generic_inference_jobs\n WHERE status IN (\"started\")\n AND created_at > (CURDATE() - INTERVAL 15 MINUTE)\n AND maybe_model_type IS NOT NULL\n) as generic_inner\nGROUP BY queue_type\nUNION\nSELECT\n \"legacy_tts\" as queue_type,\n count(*) as pending_job_count,\n NOW() as present_time\nFROM (\n SELECT\n token\n FROM tts_inference_jobs\n WHERE status IN (\"pending\", \"attempt_failed\")\n UNION\n SELECT\n token\n FROM tts_inference_jobs\n WHERE status IN (\"started\")\n AND created_at > (CURDATE() - INTERVAL 15 MINUTE)\n) as legacy_inner\nGROUP BY queue_type\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "queue_type",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "pending_job_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 21
}
},
{
"ordinal": 2,
"name": "present_time",
"type_info": {
"type": "Datetime",
"flags": "NOT_NULL",
"char_set": 224,
"max_size": 76
}
}
],
"parameters": {
"Right": 0
},
"nullable": [
true,
false,
false
]
},
"hash": "074307d7cd5c9a6f27e4d5ecce3072dcd13914a6f7f5f27f0f7232ae6c4813b4"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n maybe_title = ?,\n maybe_duration_millis = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_scene_source_media_file_token = ?,\n is_intermediate_system_file = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n ",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n maybe_title = ?,\n maybe_duration_millis = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_scene_source_media_file_token = ?,\n is_intermediate_system_file = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_user_upload = TRUE,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n ",
"describe": {
"columns": [],
"parameters": {
@@ -8,5 +8,5 @@
},
"nullable": []
},
"hash": "87f078eae38376e8d3bab9001908a5ac3a406ed79d8434ea452c194b56df80fe"
"hash": "28cac5883464613d29bedbf7308a71c258f1bf4abb8f5ca3ae320db34c137955"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE tts.token = ?\n ",
"query": "\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_migration_new_model_weights_token,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE\n tts.token = ?\n AND tts.user_deleted_at IS NULL\n AND tts.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
@@ -265,6 +265,16 @@
},
{
"ordinal": 26,
"name": "maybe_migration_new_model_weights_token",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 27,
"name": "maybe_custom_vocoder_token",
"type_info": {
"type": "VarString",
@@ -274,7 +284,7 @@
}
},
{
"ordinal": 27,
"ordinal": 28,
"name": "maybe_custom_vocoder_title",
"type_info": {
"type": "VarString",
@@ -284,7 +294,7 @@
}
},
{
"ordinal": 28,
"ordinal": 29,
"name": "maybe_custom_vocoder_creator_user_token",
"type_info": {
"type": "VarString",
@@ -294,7 +304,7 @@
}
},
{
"ordinal": 29,
"ordinal": 30,
"name": "maybe_custom_vocoder_creator_username",
"type_info": {
"type": "VarString",
@@ -304,7 +314,7 @@
}
},
{
"ordinal": 30,
"ordinal": 31,
"name": "maybe_custom_vocoder_creator_display_name",
"type_info": {
"type": "VarString",
@@ -314,7 +324,7 @@
}
},
{
"ordinal": 31,
"ordinal": 32,
"name": "maybe_custom_vocoder_creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -324,7 +334,7 @@
}
},
{
"ordinal": 32,
"ordinal": 33,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -334,7 +344,7 @@
}
},
{
"ordinal": 33,
"ordinal": 34,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -344,7 +354,7 @@
}
},
{
"ordinal": 34,
"ordinal": 35,
"name": "creator_ip_address_creation",
"type_info": {
"type": "VarString",
@@ -354,7 +364,7 @@
}
},
{
"ordinal": 35,
"ordinal": 36,
"name": "creator_ip_address_last_update",
"type_info": {
"type": "VarString",
@@ -364,7 +374,7 @@
}
},
{
"ordinal": 36,
"ordinal": 37,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -374,7 +384,7 @@
}
},
{
"ordinal": 37,
"ordinal": 38,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -420,6 +430,7 @@
true,
true,
true,
true,
false,
false,
false,
@@ -428,5 +439,5 @@
true
]
},
"hash": "481493c8b377197b5f596d7ee842ab4b580da384a2fa8ed330082515b7990d58"
"hash": "295ac99103e49c817d545d5a7b8a819a839885245c60f8ce2c13a73155917942"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\n UPDATE model_weights\n SET\n cached_usage_count = ?,\n updated_at = updated_at\n WHERE token = ?\n LIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "29821815aab3a511e67aa29de17e7ccae17d71a7d88230221eb6b2ce6bde5edb"
}
@@ -0,0 +1,399 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.maybe_ietf_language_tag,\n wt.maybe_ietf_primary_language_subtag,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n wt.cached_usage_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n LEFT OUTER JOIN featured_items\n ON featured_items.entity_type = \"model_weight\"\n AND featured_items.entity_token = wt.token\n AND featured_items.deleted_at IS NULL\n WHERE\n wt.token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "title",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 2,
"name": "weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 4,
"name": "maybe_description_markdown",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 5,
"name": "maybe_description_rendered_html",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 6,
"name": "maybe_ietf_language_tag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 7,
"name": "maybe_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 48
}
},
{
"ordinal": 8,
"name": "creator_ip_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 160
}
},
{
"ordinal": 9,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 10,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 11,
"name": "creator_username",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 12,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 13,
"name": "creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 14,
"name": "maybe_last_update_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 15,
"name": "original_download_url",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 2048
}
},
{
"ordinal": 16,
"name": "original_filename",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 17,
"name": "file_size_bytes",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 18,
"name": "file_checksum_sha2",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 19,
"name": "public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 20,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 21,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 22,
"name": "maybe_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 23,
"name": "maybe_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 24,
"name": "maybe_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 25,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 26,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 27,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 28,
"name": "cached_usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 20
}
},
{
"ordinal": 29,
"name": "is_featured",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 30,
"name": "version",
"type_info": {
"type": "Long",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 11
}
},
{
"ordinal": 31,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 32,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 33,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 34,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
false,
true,
true,
true,
true,
false,
false,
false,
false,
false,
false,
true,
true,
true,
false,
false,
false,
true,
true,
true,
true,
true,
true,
true,
true,
false,
false,
false,
false,
false,
true,
true
]
},
"hash": "29fe7f8464257537840d7f095ec01f850d79f970109549d14978fc3bed7cef32"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n token as `token: tokens::tokens::users::UserToken`,\n username,\n email_address,\n password_hash as `password_hash: crate::queries::users::user::lookup_user_for_login_result::VecBytes`,\n password_version,\n is_banned\nFROM users\nWHERE username = ?\nLIMIT 1\n ",
"query": "\nSELECT\n token as `token: tokens::tokens::users::UserToken`,\n username,\n display_name,\n username_is_not_customized,\n email_address,\n password_hash as `password_hash: crate::queries::users::user::get::lookup_user_for_login_result::VecBytes`,\n password_version,\n is_banned,\n maybe_feature_flags\nFROM users\nWHERE username = ?\nLIMIT 1\n ",
"describe": {
"columns": [
{
@@ -25,6 +25,26 @@
},
{
"ordinal": 2,
"name": "display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 3,
"name": "username_is_not_customized",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 4,
"name": "email_address",
"type_info": {
"type": "VarString",
@@ -34,8 +54,8 @@
}
},
{
"ordinal": 3,
"name": "password_hash: crate::queries::users::user::lookup_user_for_login_result::VecBytes",
"ordinal": 5,
"name": "password_hash: crate::queries::users::user::get::lookup_user_for_login_result::VecBytes",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
@@ -44,7 +64,7 @@
}
},
{
"ordinal": 4,
"ordinal": 6,
"name": "password_version",
"type_info": {
"type": "Long",
@@ -54,7 +74,7 @@
}
},
{
"ordinal": 5,
"ordinal": 7,
"name": "is_banned",
"type_info": {
"type": "Tiny",
@@ -62,6 +82,16 @@
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 8,
"name": "maybe_feature_flags",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
}
],
"parameters": {
@@ -73,8 +103,11 @@
false,
false,
false,
false
false,
false,
false,
true
]
},
"hash": "5795b8579a458706077b1fa95e4627b90eac6606bde543b6406233d081fd0eb5"
"hash": "2bc80729a61545b39cc633ca79af612ce611d358b32149405340d985060d4bbe"
}
@@ -0,0 +1,36 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n t.token as `token: tokens::tokens::tags::TagToken`,\n t.tag_value\n\nFROM\n tags AS t\nJOIN tag_uses AS u\n ON t.token = u.tag_token\nWHERE\n u.entity_type = ?\n AND u.entity_token = ?\n AND u.maybe_deleted_at IS NULL\nORDER BY t.id DESC\nLIMIT 500\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::tags::TagToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "tag_value",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
}
],
"parameters": {
"Right": 2
},
"nullable": [
false,
false
]
},
"hash": "3929e9fe74e75fad7252681880c6c3bd7e76e96b0bf603f77f6a9b2d4fcda18d"
}
@@ -0,0 +1,25 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n COUNT(*) as record_count\n FROM media_files as f\n left outer join model_weights as w\n on f.maybe_origin_model_token = w.token\n left outer join model_weights as w_old\n on f.maybe_origin_model_token = w_old.maybe_migration_old_model_token\n WHERE (w.token = ? OR w_old.token = ?)\n AND f.created_at >= ?\n AND f.created_at < ? + INTERVAL 1 DAY\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "record_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 21
}
}
],
"parameters": {
"Right": 4
},
"nullable": [
false
]
},
"hash": "3bbfaf131b5228c10320e915f553f845142920b16dc7d36f8640481760405d96"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nDELETE FROM tag_uses\nWHERE entity_type = ?\nAND entity_token = ?\nLIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "41b16ccf04ef1ffb8b48bc59edf9389f61f54b871f6361f35529706b98d419ec"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO users\nSET\n token = ?,\n username = ?,\n display_name = ?,\n\n username_is_generated = ?,\n username_is_not_customized = ?,\n\n email_address = ?,\n email_gravatar_hash = ?,\n\n email_confirmed = FALSE,\n email_confirmed_by_google = ?,\n\n profile_markdown = ?,\n profile_rendered_html = ?,\n user_role_slug = ?,\n\n password_hash = ?,\n is_without_password = ?,\n\n maybe_feature_flags = ?,\n\n ip_address_creation = ?,\n ip_address_last_login = ?,\n ip_address_last_update = ?,\n\n maybe_source = ?,\n\n maybe_signup_method = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 19
},
"nullable": []
},
"hash": "453f0386cfe34e533501ba29dc2022fc449266f9858f16886bde9a0df6b82026"
}
@@ -0,0 +1,25 @@
{
"db_name": "MySQL",
"query": "\nSELECT NOW() as database_time\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "database_time",
"type_info": {
"type": "Datetime",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 0
},
"nullable": [
false
]
},
"hash": "47a6c402aad596530aef2c71c1e621bf73a386d754a79c5150cd30dc8ee2170f"
}
@@ -0,0 +1,399 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.maybe_ietf_language_tag,\n wt.maybe_ietf_primary_language_subtag,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n wt.cached_usage_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n LEFT OUTER JOIN featured_items\n ON featured_items.entity_type = \"model_weight\"\n AND featured_items.entity_token = wt.token\n AND featured_items.deleted_at IS NULL\n WHERE\n wt.token = ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "title",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 2,
"name": "weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 4,
"name": "maybe_description_markdown",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 5,
"name": "maybe_description_rendered_html",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 6,
"name": "maybe_ietf_language_tag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 7,
"name": "maybe_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 48
}
},
{
"ordinal": 8,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 9,
"name": "creator_username",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 10,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 11,
"name": "creator_gravatar_hash",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 12,
"name": "creator_ip_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 160
}
},
{
"ordinal": 13,
"name": "creator_set_visibility: enums::common::visibility::Visibility",
"type_info": {
"type": "String",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | ENUM",
"char_set": 224,
"max_size": 28
}
},
{
"ordinal": 14,
"name": "maybe_last_update_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 15,
"name": "original_download_url",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 2048
}
},
{
"ordinal": 16,
"name": "original_filename",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 17,
"name": "file_size_bytes",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 18,
"name": "file_checksum_sha2",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 19,
"name": "public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 20,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 21,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 22,
"name": "maybe_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 23,
"name": "maybe_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 24,
"name": "maybe_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 64
}
},
{
"ordinal": 25,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 26,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 27,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
"flags": "UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 28,
"name": "cached_usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 20
}
},
{
"ordinal": 29,
"name": "is_featured",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 30,
"name": "version",
"type_info": {
"type": "Long",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 11
}
},
{
"ordinal": 31,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 32,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 33,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 34,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
false,
true,
true,
true,
true,
false,
false,
false,
false,
false,
false,
true,
true,
true,
false,
false,
false,
true,
true,
true,
true,
true,
true,
true,
true,
false,
false,
false,
false,
false,
true,
true
]
},
"hash": "53c90f5230aa202aead37a224ec70e350172bc0ec4eeaebde22878ca4aa0f695"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_media_subtype = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_user_upload = TRUE,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n\nON DUPLICATE KEY UPDATE\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_media_subtype = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n is_user_upload = TRUE,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 39
},
"nullable": []
},
"hash": "55706e6ac35be221b9d9c6e8b247812944c61941964bb53815d31dc30d506be8"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n m.maybe_mime_type,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n AND m.user_deleted_at IS NULL\n AND m.mod_deleted_at IS NULL\n ",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n m.maybe_mime_type,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n m.is_user_upload,\n m.is_intermediate_system_file,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.extra_file_modification_info,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n AND m.user_deleted_at IS NULL\n AND m.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
@@ -255,6 +255,26 @@
},
{
"ordinal": 25,
"name": "is_user_upload",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL | MULTIPLE_KEY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 26,
"name": "is_intermediate_system_file",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL | MULTIPLE_KEY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 27,
"name": "maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
@@ -264,7 +284,7 @@
}
},
{
"ordinal": 26,
"ordinal": 28,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
@@ -274,7 +294,7 @@
}
},
{
"ordinal": 27,
"ordinal": 29,
"name": "maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
@@ -284,7 +304,7 @@
}
},
{
"ordinal": 28,
"ordinal": 30,
"name": "maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
@@ -294,7 +314,7 @@
}
},
{
"ordinal": 29,
"ordinal": 31,
"name": "maybe_model_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -304,7 +324,7 @@
}
},
{
"ordinal": 30,
"ordinal": 32,
"name": "maybe_model_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -314,7 +334,7 @@
}
},
{
"ordinal": 31,
"ordinal": 33,
"name": "maybe_model_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -324,7 +344,7 @@
}
},
{
"ordinal": 32,
"ordinal": 34,
"name": "maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
@@ -334,7 +354,7 @@
}
},
{
"ordinal": 33,
"ordinal": 35,
"name": "maybe_model_weight_creator_username",
"type_info": {
"type": "VarString",
@@ -344,7 +364,7 @@
}
},
{
"ordinal": 34,
"ordinal": 36,
"name": "maybe_model_weight_creator_display_name",
"type_info": {
"type": "VarString",
@@ -354,7 +374,7 @@
}
},
{
"ordinal": 35,
"ordinal": 37,
"name": "maybe_model_weight_creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -364,7 +384,17 @@
}
},
{
"ordinal": 36,
"ordinal": 38,
"name": "extra_file_modification_info",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 39,
"name": "public_bucket_directory_hash",
"type_info": {
"type": "VarString",
@@ -374,7 +404,7 @@
}
},
{
"ordinal": 37,
"ordinal": 40,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -384,7 +414,7 @@
}
},
{
"ordinal": 38,
"ordinal": 41,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -394,7 +424,7 @@
}
},
{
"ordinal": 39,
"ordinal": 42,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
@@ -404,7 +434,7 @@
}
},
{
"ordinal": 40,
"ordinal": 43,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
@@ -414,7 +444,7 @@
}
},
{
"ordinal": 41,
"ordinal": 44,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
@@ -424,7 +454,7 @@
}
},
{
"ordinal": 42,
"ordinal": 45,
"name": "is_featured",
"type_info": {
"type": "LongLong",
@@ -434,21 +464,21 @@
}
},
{
"ordinal": 43,
"ordinal": 46,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 44,
"ordinal": 47,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
@@ -483,6 +513,9 @@
true,
true,
false,
false,
false,
true,
true,
true,
true,
@@ -505,5 +538,5 @@
false
]
},
"hash": "58cb3fd03fb215b1d323f6aa6a5fd713900b9d931700c4226a1d9713b5e469c7"
"hash": "57fa22e6cd4e82b801605c96eac21babd78df3df361b3be566993b78a46efef2"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO users (\n token,\n username,\n display_name,\n email_address,\n email_gravatar_hash,\n profile_markdown,\n profile_rendered_html,\n user_role_slug,\n password_hash,\n ip_address_creation,\n ip_address_last_login,\n ip_address_last_update,\n maybe_source\n)\nVALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 13
},
"nullable": []
},
"hash": "58a2d6d0c5541049cc954e3ac09b3aaef894ca55e1cb7444b72f429394022f12"
}
@@ -0,0 +1,25 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n sum(usage_count) as total_usage_count\nFROM\n model_weight_usage_counts\nWHERE\n token = ?\nGROUP BY token\nLIMIT 1\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "total_usage_count",
"type_info": {
"type": "NewDecimal",
"flags": "BINARY",
"char_set": 63,
"max_size": 33
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
true
]
},
"hash": "5c95ce504e15853d238e8133753efe45180c9ee57f9f5431be9c1e88a77e4824"
}
@@ -0,0 +1,36 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n cached_usage_count\n FROM model_weights\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "cached_usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 20
}
}
],
"parameters": {
"Right": 0
},
"nullable": [
false,
false
]
},
"hash": "5f24dfda13a53f434f87e9826a3a943bf29f58d85a6efb35c1b9ea9e94785ec9"
}
@@ -0,0 +1,47 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n job_type as queue_type,\n count(*) as pending_job_count,\n NOW() as present_time\n FROM (\n SELECT\n token,\n job_type\n FROM generic_inference_jobs\n WHERE status IN (\"pending\", \"attempt_failed\")\n AND job_type IS NOT NULL\n UNION\n SELECT\n token,\n job_type\n FROM generic_inference_jobs\n WHERE status IN (\"started\")\n AND created_at > (CURDATE() - INTERVAL 15 MINUTE)\n AND job_type IS NOT NULL\n) as generic_inner\nGROUP BY queue_type\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "queue_type",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "pending_job_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 21
}
},
{
"ordinal": 2,
"name": "present_time",
"type_info": {
"type": "Datetime",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 0
},
"nullable": [
true,
false,
false
]
},
"hash": "73dc054488b2fa3efc923d3a90914a1450b73e99a377562484a0498ccce1676f"
}
@@ -0,0 +1,168 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n g.token as `token: tokens::tokens::google_sign_in_accounts::GoogleSignInAccountToken`,\n\n g.subject,\n\n g.maybe_user_token as `maybe_user_token: tokens::tokens::users::UserToken`,\n\n g.email_address,\n g.is_email_verified,\n\n g.maybe_locale,\n g.maybe_name,\n g.maybe_given_name,\n g.maybe_family_name,\n\n g.created_at,\n g.updated_at,\n\n u.username as maybe_username,\n u.display_name as maybe_user_display_name,\n u.username_is_not_customized\n\nFROM google_sign_in_accounts AS g\nLEFT OUTER JOIN users AS u\n ON g.maybe_user_token = u.token\n\nWHERE\n g.subject = ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::google_sign_in_accounts::GoogleSignInAccountToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "subject",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 2,
"name": "maybe_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 3,
"name": "email_address",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 4,
"name": "is_email_verified",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 5,
"name": "maybe_locale",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 6,
"name": "maybe_name",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 7,
"name": "maybe_given_name",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 8,
"name": "maybe_family_name",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
},
{
"ordinal": 9,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 10,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 11,
"name": "maybe_username",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 12,
"name": "maybe_user_display_name",
"type_info": {
"type": "VarString",
"flags": "BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 13,
"name": "username_is_not_customized",
"type_info": {
"type": "Tiny",
"flags": "",
"char_set": 63,
"max_size": 1
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
true,
false,
false,
true,
true,
true,
true,
false,
false,
true,
true,
true
]
},
"hash": "76d9a995b3cecfcb39f1a41bb4896c4e317716dbde6b5f678bd9fd458544ab78"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n WHERE\n wt.token = ?\n ",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n w_extension.ietf_language_tag as maybe_ietf_language_tag,\n w_extension.ietf_primary_language_subtag as maybe_ietf_primary_language_subtag,\n w_extension.maybe_default_pretrained_vocoder as `maybe_default_pretrained_vocoder: crate::column_types::vocoder_type::VocoderType`,\n w_extension.text_pipeline_type as maybe_text_pipeline_type,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n\n LEFT OUTER JOIN model_weights_extension_tts_details as w_extension\n ON w_extension.model_weights_token = wt.token\n\n WHERE\n wt.maybe_migration_old_model_token = ?\n ",
"describe": {
"columns": [
{
@@ -265,6 +265,46 @@
},
{
"ordinal": 26,
"name": "maybe_ietf_language_tag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 27,
"name": "maybe_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 48
}
},
{
"ordinal": 28,
"name": "maybe_default_pretrained_vocoder: crate::column_types::vocoder_type::VocoderType",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 29,
"name": "maybe_text_pipeline_type",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 30,
"name": "version",
"type_info": {
"type": "Long",
@@ -274,7 +314,7 @@
}
},
{
"ordinal": 27,
"ordinal": 31,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -284,7 +324,7 @@
}
},
{
"ordinal": 28,
"ordinal": 32,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -294,7 +334,7 @@
}
},
{
"ordinal": 29,
"ordinal": 33,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -304,7 +344,7 @@
}
},
{
"ordinal": 30,
"ordinal": 34,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -344,6 +384,10 @@
true,
true,
true,
true,
true,
true,
true,
false,
false,
false,
@@ -351,5 +395,5 @@
true
]
},
"hash": "e32645b06d20a0037c3ca3d514b56af2dba8396f11a4c2a93ee4fab9b4579fc3"
"hash": "7fe0ebaab55fdbfd4ab447e872e95a4def5888a0bb9f237d8a13bac8336a534b"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nUPDATE generic_inference_jobs\nSET\n status = 'cancelled_by_user',\n retry_at = NULL\nWHERE status IN (\n 'pending',\n 'started',\n 'attempt_failed'\n )\nLIMIT 100\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 0
},
"nullable": []
},
"hash": "84320887e8157a450ad46ec0843071c60c054eab61958a9148789ed76cd476e3"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\n INSERT INTO media_files\n SET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?, \n origin_product_category = ?, \n maybe_origin_model_type = ?, \n maybe_origin_model_token = ?, \n maybe_origin_filename = ?,\n\n is_batch_generated = ?,\n maybe_batch_token = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n maybe_duration_millis = ?,\n maybe_audio_encoding = ?, \n maybe_video_encoding = ?, \n maybe_frame_width = ?, \n maybe_frame_height = ?,\n maybe_prompt_token = ?,\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?, \n maybe_public_bucket_prefix = ?, \n maybe_public_bucket_extension = ?, \n extra_file_modification_info = ?, \n\n maybe_creator_user_token = ?, \n maybe_creator_anonymous_visitor_token = ?, \n\n creator_ip_address = ?, \n creator_set_visibility = ?, \n\n maybe_creator_file_synthetic_id = ?, \n maybe_creator_category_synthetic_id = ?,\n\n maybe_mod_user_token = ?, \n is_generated_on_prem = ?, \n generated_by_worker = ?, \n generated_by_cluster = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 33
},
"nullable": []
},
"hash": "870ce367da8e3beb53578c6e3d44ff686ef9a23932f4d90c9083acd702127960"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n jobs.token as `job_token: tokens::tokens::generic_inference_jobs::InferenceJobToken`,\n\n jobs.status as `status: enums::common::job_status_plus::JobStatusPlus`,\n jobs.attempt_count,\n\n jobs.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n jobs.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n jobs.creator_ip_address,\n\n jobs.inference_category as `inference_category: enums::by_table::generic_inference_jobs::inference_category::InferenceCategory`,\n jobs.maybe_model_type,\n jobs.maybe_model_token,\n jobs.maybe_raw_inference_text,\n jobs.maybe_inference_args,\n\n jobs.frontend_failure_category as `maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory`,\n\n jobs.on_success_result_entity_type as maybe_result_entity_type,\n jobs.on_success_result_entity_token as maybe_result_entity_token,\n\n model_weights.title as maybe_model_weights_title,\n tts_models.title as maybe_tts_model_title,\n voice_conversion_models.title as maybe_voice_conversion_model_title,\n\n tts_results.public_bucket_wav_audio_path as maybe_tts_public_bucket_path,\n voice_conversion_results.public_bucket_hash as maybe_voice_conversion_public_bucket_hash,\n\n media_files.public_bucket_directory_hash as maybe_media_file_public_bucket_directory_hash,\n media_files.maybe_public_bucket_prefix as maybe_media_file_public_bucket_prefix,\n media_files.maybe_public_bucket_extension as maybe_media_file_public_bucket_extension,\n\n jobs.assigned_worker as maybe_assigned_worker,\n jobs.assigned_cluster as maybe_assigned_cluster,\n\n jobs.is_keepalive_required,\n\n jobs.created_at,\n jobs.updated_at,\n\n jobs.first_started_at as maybe_first_started_at,\n jobs.successfully_completed_at as maybe_successfully_completed_at,\n\n NOW() as database_clock\n\nFROM generic_inference_jobs as jobs\n\nLEFT OUTER JOIN model_weights ON jobs.maybe_model_token = model_weights.token\nLEFT OUTER JOIN tts_models ON jobs.maybe_model_token = tts_models.token\nLEFT OUTER JOIN voice_conversion_models ON jobs.maybe_model_token = voice_conversion_models.token\n\nLEFT OUTER JOIN tts_results ON jobs.on_success_result_entity_token = tts_results.token\nLEFT OUTER JOIN voice_conversion_results ON jobs.on_success_result_entity_token = voice_conversion_results.token\nLEFT OUTER JOIN media_files ON jobs.on_success_result_entity_token = media_files.token\n\nWHERE jobs.token = ?\n ",
"query": "\nSELECT\n jobs.token as `job_token: tokens::tokens::generic_inference_jobs::InferenceJobToken`,\n\n jobs.status as `status: enums::common::job_status_plus::JobStatusPlus`,\n jobs.attempt_count,\n\n jobs.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n jobs.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n jobs.creator_ip_address,\n\n jobs.product_category as `product_category: enums::by_table::generic_inference_jobs::inference_job_product_category::InferenceJobProductCategory`,\n jobs.inference_category as `inference_category: enums::by_table::generic_inference_jobs::inference_category::InferenceCategory`,\n jobs.maybe_model_type,\n jobs.maybe_model_token,\n jobs.maybe_raw_inference_text,\n jobs.maybe_inference_args,\n\n jobs.frontend_failure_category as `maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory`,\n\n jobs.on_success_result_entity_type as maybe_result_entity_type,\n jobs.on_success_result_entity_token as maybe_result_entity_token,\n\n model_weights.title as maybe_model_weights_title,\n tts_models.title as maybe_tts_model_title,\n voice_conversion_models.title as maybe_voice_conversion_model_title,\n\n tts_results.public_bucket_wav_audio_path as maybe_tts_public_bucket_path,\n voice_conversion_results.public_bucket_hash as maybe_voice_conversion_public_bucket_hash,\n\n media_files.public_bucket_directory_hash as maybe_media_file_public_bucket_directory_hash,\n media_files.maybe_public_bucket_prefix as maybe_media_file_public_bucket_prefix,\n media_files.maybe_public_bucket_extension as maybe_media_file_public_bucket_extension,\n\n jobs.assigned_worker as maybe_assigned_worker,\n jobs.assigned_cluster as maybe_assigned_cluster,\n\n jobs.is_keepalive_required,\n\n jobs.created_at,\n jobs.updated_at,\n\n jobs.first_started_at as maybe_first_started_at,\n jobs.successfully_completed_at as maybe_successfully_completed_at,\n\n NOW() as database_clock\n\nFROM generic_inference_jobs as jobs\n\nLEFT OUTER JOIN model_weights ON jobs.maybe_model_token = model_weights.token\nLEFT OUTER JOIN tts_models ON jobs.maybe_model_token = tts_models.token\nLEFT OUTER JOIN voice_conversion_models ON jobs.maybe_model_token = voice_conversion_models.token\n\nLEFT OUTER JOIN tts_results ON jobs.on_success_result_entity_token = tts_results.token\nLEFT OUTER JOIN voice_conversion_results ON jobs.on_success_result_entity_token = voice_conversion_results.token\nLEFT OUTER JOIN media_files ON jobs.on_success_result_entity_token = media_files.token\n\nWHERE jobs.token = ?\n ",
"describe": {
"columns": [
{
@@ -65,6 +65,16 @@
},
{
"ordinal": 6,
"name": "product_category: enums::by_table::generic_inference_jobs::inference_job_product_category::InferenceJobProductCategory",
"type_info": {
"type": "VarString",
"flags": "MULTIPLE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 7,
"name": "inference_category: enums::by_table::generic_inference_jobs::inference_category::InferenceCategory",
"type_info": {
"type": "VarString",
@@ -74,7 +84,7 @@
}
},
{
"ordinal": 7,
"ordinal": 8,
"name": "maybe_model_type",
"type_info": {
"type": "VarString",
@@ -84,7 +94,7 @@
}
},
{
"ordinal": 8,
"ordinal": 9,
"name": "maybe_model_token",
"type_info": {
"type": "VarString",
@@ -94,7 +104,7 @@
}
},
{
"ordinal": 9,
"ordinal": 10,
"name": "maybe_raw_inference_text",
"type_info": {
"type": "Blob",
@@ -104,7 +114,7 @@
}
},
{
"ordinal": 10,
"ordinal": 11,
"name": "maybe_inference_args",
"type_info": {
"type": "Blob",
@@ -114,7 +124,7 @@
}
},
{
"ordinal": 11,
"ordinal": 12,
"name": "maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory",
"type_info": {
"type": "VarString",
@@ -124,7 +134,7 @@
}
},
{
"ordinal": 12,
"ordinal": 13,
"name": "maybe_result_entity_type",
"type_info": {
"type": "VarString",
@@ -134,7 +144,7 @@
}
},
{
"ordinal": 13,
"ordinal": 14,
"name": "maybe_result_entity_token",
"type_info": {
"type": "VarString",
@@ -144,7 +154,7 @@
}
},
{
"ordinal": 14,
"ordinal": 15,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
@@ -154,7 +164,7 @@
}
},
{
"ordinal": 15,
"ordinal": 16,
"name": "maybe_tts_model_title",
"type_info": {
"type": "VarString",
@@ -164,7 +174,7 @@
}
},
{
"ordinal": 16,
"ordinal": 17,
"name": "maybe_voice_conversion_model_title",
"type_info": {
"type": "VarString",
@@ -174,7 +184,7 @@
}
},
{
"ordinal": 17,
"ordinal": 18,
"name": "maybe_tts_public_bucket_path",
"type_info": {
"type": "VarString",
@@ -184,7 +194,7 @@
}
},
{
"ordinal": 18,
"ordinal": 19,
"name": "maybe_voice_conversion_public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -194,7 +204,7 @@
}
},
{
"ordinal": 19,
"ordinal": 20,
"name": "maybe_media_file_public_bucket_directory_hash",
"type_info": {
"type": "VarString",
@@ -204,7 +214,7 @@
}
},
{
"ordinal": 20,
"ordinal": 21,
"name": "maybe_media_file_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -214,7 +224,7 @@
}
},
{
"ordinal": 21,
"ordinal": 22,
"name": "maybe_media_file_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -224,7 +234,7 @@
}
},
{
"ordinal": 22,
"ordinal": 23,
"name": "maybe_assigned_worker",
"type_info": {
"type": "VarString",
@@ -234,7 +244,7 @@
}
},
{
"ordinal": 23,
"ordinal": 24,
"name": "maybe_assigned_cluster",
"type_info": {
"type": "VarString",
@@ -244,7 +254,7 @@
}
},
{
"ordinal": 24,
"ordinal": 25,
"name": "is_keepalive_required",
"type_info": {
"type": "Tiny",
@@ -254,17 +264,17 @@
}
},
{
"ordinal": 25,
"ordinal": 26,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 26,
"ordinal": 27,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -274,7 +284,7 @@
}
},
{
"ordinal": 27,
"ordinal": 28,
"name": "maybe_first_started_at",
"type_info": {
"type": "Timestamp",
@@ -284,7 +294,7 @@
}
},
{
"ordinal": 28,
"ordinal": 29,
"name": "maybe_successfully_completed_at",
"type_info": {
"type": "Timestamp",
@@ -294,7 +304,7 @@
}
},
{
"ordinal": 29,
"ordinal": 30,
"name": "database_clock",
"type_info": {
"type": "Datetime",
@@ -314,6 +324,7 @@
true,
true,
false,
true,
false,
true,
true,
@@ -340,5 +351,5 @@
false
]
},
"hash": "e5121d132d93ec43e48197e00b19040a50ff2942224dc70b0faa0ec988aee7cf"
"hash": "90366e1705a0343bdfe4fc472d701b8e1dbd3a2dabedaadb633ac3542de72fa7"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO model_weight_usage_counts\nSET\n token = ?,\n on_date = ?,\n usage_count = ?\n\n\nON DUPLICATE KEY UPDATE\n usage_count = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 4
},
"nullable": []
},
"hash": "99e69537a33dd54d4c4433f24863e1749f544152578d503fc86d0503a425ae8d"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO generic_inference_jobs\nSET\n token = ?,\n uuid_idempotency_token = ?,\n\n job_type = ?,\n\n inference_category = ?,\n maybe_model_type = ?,\n maybe_model_token = ?,\n\n maybe_input_source_token = ?,\n maybe_input_source_token_type = ?,\n\n maybe_download_url = ?,\n maybe_cover_image_media_file_token = ?,\n\n maybe_raw_inference_text = ?,\n\n maybe_inference_args = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n priority_level = ?,\n is_keepalive_required = ?,\n max_duration_seconds = ?,\n\n is_debug_request = ?,\n maybe_routing_tag = ?,\n\n status = \"pending\"\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 21
},
"nullable": []
},
"hash": "9b4c6f0d0db1c92e4d3eed8d572fa92c885bad4adcc053ae490b3a76c6c116d4"
}
@@ -0,0 +1,47 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n distinct coalesce(w.token, w_old.token) as token,\n mwuc.usage_count as maybe_previously_cached_model_use_count,\n COUNT(*) as usage_count\nFROM\n media_files as f\nLEFT OUTER JOIN model_weights as w\n ON f.maybe_origin_model_token = w.token\nLEFT OUTER JOIN model_weights as w_old\n ON f.maybe_origin_model_token = w_old.maybe_migration_old_model_token\nLEFT OUTER JOIN model_weight_usage_counts as mwuc\n ON coalesce(w.token, w_old.token) = mwuc.token\n AND mwuc.on_date = ?\nWHERE f.maybe_origin_model_token IS NOT NULL\n AND f.created_at >= ?\n AND f.created_at < ? + INTERVAL 1 DAY\nGROUP BY coalesce(w.token, w_old.token), mwuc.usage_count\nORDER BY usage_count DESC\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "maybe_previously_cached_model_use_count",
"type_info": {
"type": "Long",
"flags": "MULTIPLE_KEY | UNSIGNED",
"char_set": 63,
"max_size": 10
}
},
{
"ordinal": 2,
"name": "usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 21
}
}
],
"parameters": {
"Right": 3
},
"nullable": [
true,
true,
false
]
},
"hash": "9e99e21963271f4ab229a9efba566340ce1a33375762cc140f941885f2772cfb"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n token as `token: tokens::tokens::users::UserToken`,\n username,\n email_address,\n password_hash as `password_hash: crate::queries::users::user::lookup_user_for_login_result::VecBytes`,\n password_version,\n is_banned\nFROM users\nWHERE email_address = ?\nLIMIT 1\n ",
"query": "\nSELECT\n token as `token: tokens::tokens::users::UserToken`,\n username,\n display_name,\n username_is_not_customized,\n email_address,\n password_hash as `password_hash: crate::queries::users::user::get::lookup_user_for_login_result::VecBytes`,\n password_version,\n is_banned,\n maybe_feature_flags\nFROM users\nWHERE email_address = ?\nLIMIT 1\n ",
"describe": {
"columns": [
{
@@ -25,6 +25,26 @@
},
{
"ordinal": 2,
"name": "display_name",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 80
}
},
{
"ordinal": 3,
"name": "username_is_not_customized",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 4,
"name": "email_address",
"type_info": {
"type": "VarString",
@@ -34,8 +54,8 @@
}
},
{
"ordinal": 3,
"name": "password_hash: crate::queries::users::user::lookup_user_for_login_result::VecBytes",
"ordinal": 5,
"name": "password_hash: crate::queries::users::user::get::lookup_user_for_login_result::VecBytes",
"type_info": {
"type": "String",
"flags": "NOT_NULL | BINARY | NO_DEFAULT_VALUE",
@@ -44,7 +64,7 @@
}
},
{
"ordinal": 4,
"ordinal": 6,
"name": "password_version",
"type_info": {
"type": "Long",
@@ -54,7 +74,7 @@
}
},
{
"ordinal": 5,
"ordinal": 7,
"name": "is_banned",
"type_info": {
"type": "Tiny",
@@ -62,6 +82,16 @@
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 8,
"name": "maybe_feature_flags",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 1020
}
}
],
"parameters": {
@@ -73,8 +103,11 @@
false,
false,
false,
false
false,
false,
false,
true
]
},
"hash": "e8705ee9b3bc3213e806946fef651e9bb8c2cb5cc2ac8eff3eaed82d9a88f90e"
"hash": "a5b0ee8755f5bd81dc330e63fa8a1c02e6397e7914f4041d90b2bc9cfc249c17"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO generic_inference_jobs\nSET\n token = ?,\n uuid_idempotency_token = ?,\n\n job_type = ?,\n\n product_category = ?,\n\n inference_category = ?,\n maybe_model_type = ?,\n maybe_model_token = ?,\n\n maybe_input_source_token = ?,\n maybe_input_source_token_type = ?,\n\n maybe_download_url = ?,\n maybe_cover_image_media_file_token = ?,\n\n maybe_raw_inference_text = ?,\n\n maybe_inference_args = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n priority_level = ?,\n is_keepalive_required = ?,\n max_duration_seconds = ?,\n\n is_debug_request = ?,\n maybe_routing_tag = ?,\n\n status = \"pending\"\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 22
},
"nullable": []
},
"hash": "b48e80845d80a6c07099918807d0495b8d70dca339cb1332e05bb3943fbb24c4"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n WHERE\n wt.token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"query": "\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n w_extension.ietf_language_tag as maybe_ietf_language_tag,\n w_extension.ietf_primary_language_subtag as maybe_ietf_primary_language_subtag,\n w_extension.maybe_default_pretrained_vocoder as `maybe_default_pretrained_vocoder: crate::column_types::vocoder_type::VocoderType`,\n w_extension.text_pipeline_type as maybe_text_pipeline_type,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n\n LEFT OUTER JOIN model_weights_extension_tts_details as w_extension\n ON w_extension.model_weights_token = wt.token\n\n WHERE\n wt.maybe_migration_old_model_token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"describe": {
"columns": [
{
@@ -265,6 +265,46 @@
},
{
"ordinal": 26,
"name": "maybe_ietf_language_tag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 27,
"name": "maybe_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 48
}
},
{
"ordinal": 28,
"name": "maybe_default_pretrained_vocoder: crate::column_types::vocoder_type::VocoderType",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 29,
"name": "maybe_text_pipeline_type",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 30,
"name": "version",
"type_info": {
"type": "Long",
@@ -274,7 +314,7 @@
}
},
{
"ordinal": 27,
"ordinal": 31,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -284,7 +324,7 @@
}
},
{
"ordinal": 28,
"ordinal": 32,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -294,7 +334,7 @@
}
},
{
"ordinal": 29,
"ordinal": 33,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -304,7 +344,7 @@
}
},
{
"ordinal": 30,
"ordinal": 34,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -344,6 +384,10 @@
true,
true,
true,
true,
true,
true,
true,
false,
false,
false,
@@ -351,5 +395,5 @@
true
]
},
"hash": "0220f288c06686874df87ec163533be64cc000634920d58e7fa7a7d156cbfcae"
"hash": "bde5d2fed3508fb2c289fe583f35b0d6e6bb38d15da0271aaed761cbc342dac3"
}
@@ -0,0 +1,36 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n distinct coalesce(w.token, w_new.token) as token,\n COUNT(*) as usage_count\nFROM\n tts_results as r\nLEFT OUTER JOIN model_weights as w\n ON r.model_token = w.maybe_migration_old_model_token\nLEFT OUTER JOIN model_weights as w_new\n ON r.model_token = w_new.token\nWHERE r.created_at >= ?\n AND r.created_at < ? + INTERVAL 1 DAY\nGROUP BY coalesce(w.token, w_new.token)\nORDER BY usage_count DESC\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 21
}
}
],
"parameters": {
"Right": 2
},
"nullable": [
true,
false
]
},
"hash": "bf1345a4d296a2696588203f10527f6ad8a9c5d08528017729421a7b3ab776ff"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\n INSERT INTO media_files\n SET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n is_user_upload = ?,\n is_intermediate_system_file = ?,\n\n origin_category = ?, \n origin_product_category = ?, \n maybe_origin_model_type = ?, \n maybe_origin_model_token = ?, \n maybe_origin_filename = ?,\n\n is_batch_generated = ?,\n maybe_batch_token = ?,\n\n maybe_mime_type = ?,\n file_size_bytes = ?,\n maybe_duration_millis = ?,\n maybe_audio_encoding = ?, \n maybe_video_encoding = ?, \n maybe_frame_width = ?, \n maybe_frame_height = ?,\n maybe_prompt_token = ?,\n checksum_sha2 = ?,\n\n maybe_title = ?,\n maybe_text_transcript = ?,\n\n maybe_scene_source_media_file_token = ?,\n\n public_bucket_directory_hash = ?, \n maybe_public_bucket_prefix = ?, \n maybe_public_bucket_extension = ?, \n\n maybe_creator_user_token = ?, \n maybe_creator_anonymous_visitor_token = ?, \n\n creator_ip_address = ?, \n creator_set_visibility = ?, \n\n maybe_creator_file_synthetic_id = ?, \n maybe_creator_category_synthetic_id = ?,\n\n extra_file_modification_info = ?,\n\n maybe_mod_user_token = ?, \n is_generated_on_prem = ?, \n generated_by_worker = ?, \n generated_by_cluster = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 38
},
"nullable": []
},
"hash": "c58f414b5e4d0f0420d1894e2f40311e5613919f49f3ac91f81f5fc2bef1bea8"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO tags\nSET\n token = ?,\n tag_value = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 2
},
"nullable": []
},
"hash": "c7e848e4c906a34ac5a4ad8cc73354baa8d5cd81170dd06d66d7f414505d538b"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nUPDATE google_sign_in_accounts\nSET\n email_address = ?,\n is_email_verified = ?,\n\n maybe_locale = ?,\n\n maybe_name = ?,\n maybe_given_name = ?,\n maybe_family_name = ?,\n\n ip_address_update = ?,\n\n version = version + 1\nWHERE\n subject = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 8
},
"nullable": []
},
"hash": "cf30aa779c25b42e51b38f7301c7a1b19e5586a10d21fad5bf05e4edde481a65"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n w.id,\n w.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n\n w.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n w.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n w.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n w.title,\n\n cover_image.token as `maybe_cover_image_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n w.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n extension_tts.ietf_language_tag as maybe_tts_ietf_language_tag,\n extension_tts.ietf_primary_language_subtag as maybe_tts_ietf_primary_language_subtag,\n\n extension_vc.ietf_language_tag as maybe_vc_ietf_language_tag,\n extension_vc.ietf_primary_language_subtag as maybe_vc_ietf_primary_language_subtag,\n\n w.created_at,\n w.updated_at,\n w.user_deleted_at,\n w.mod_deleted_at\n\nFROM model_weights as w\n\nJOIN users\n ON users.token = w.creator_user_token\n\nLEFT OUTER JOIN model_weights_extension_tts_details as extension_tts\n ON extension_tts.model_weights_token = w.token\nLEFT OUTER JOIN model_weights_extension_voice_conversion_details as extension_vc\n ON extension_vc.model_weights_token = w.token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weights\"\n AND entity_stats.entity_token = w.token\nLEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = w.maybe_cover_image_media_file_token\n\nWHERE\n w.id > ?\nORDER BY id ASC\nLIMIT ?\n ",
"query": "\nSELECT\n w.id,\n w.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n\n w.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n w.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n w.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n w.title,\n\n w.maybe_ietf_language_tag,\n w.maybe_ietf_primary_language_subtag,\n\n cover_image.token as `maybe_cover_image_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n w.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n w.cached_usage_count,\n\n extension_tts.ietf_language_tag as maybe_tts_ietf_language_tag,\n extension_tts.ietf_primary_language_subtag as maybe_tts_ietf_primary_language_subtag,\n\n extension_vc.ietf_language_tag as maybe_vc_ietf_language_tag,\n extension_vc.ietf_primary_language_subtag as maybe_vc_ietf_primary_language_subtag,\n\n w.created_at,\n w.updated_at,\n w.user_deleted_at,\n w.mod_deleted_at,\n\n NOW() as database_read_time\n\nFROM model_weights as w\n\nJOIN users\n ON users.token = w.creator_user_token\n\nLEFT OUTER JOIN model_weights_extension_tts_details as extension_tts\n ON extension_tts.model_weights_token = w.token\nLEFT OUTER JOIN model_weights_extension_voice_conversion_details as extension_vc\n ON extension_vc.model_weights_token = w.token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = w.token\nLEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = w.maybe_cover_image_media_file_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = \"model_weight\"\n AND featured_items.entity_token = w.token\n AND featured_items.deleted_at IS NULL\n\nWHERE\n w.id > ?\nORDER BY id ASC\nLIMIT ?\n ",
"describe": {
"columns": [
{
@@ -65,6 +65,26 @@
},
{
"ordinal": 6,
"name": "maybe_ietf_language_tag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 256
}
},
{
"ordinal": 7,
"name": "maybe_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
"flags": "BINARY",
"char_set": 224,
"max_size": 48
}
},
{
"ordinal": 8,
"name": "maybe_cover_image_media_file_token: tokens::tokens::media_files::MediaFileToken",
"type_info": {
"type": "VarString",
@@ -74,7 +94,7 @@
}
},
{
"ordinal": 7,
"ordinal": 9,
"name": "maybe_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -84,7 +104,7 @@
}
},
{
"ordinal": 8,
"ordinal": 10,
"name": "maybe_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -94,7 +114,7 @@
}
},
{
"ordinal": 9,
"ordinal": 11,
"name": "maybe_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -104,7 +124,7 @@
}
},
{
"ordinal": 10,
"ordinal": 12,
"name": "creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
@@ -114,7 +134,7 @@
}
},
{
"ordinal": 11,
"ordinal": 13,
"name": "creator_username",
"type_info": {
"type": "VarString",
@@ -124,7 +144,7 @@
}
},
{
"ordinal": 12,
"ordinal": 14,
"name": "creator_display_name",
"type_info": {
"type": "VarString",
@@ -134,7 +154,7 @@
}
},
{
"ordinal": 13,
"ordinal": 15,
"name": "creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -144,7 +164,17 @@
}
},
{
"ordinal": 14,
"ordinal": 16,
"name": "is_featured",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 17,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
@@ -154,7 +184,7 @@
}
},
{
"ordinal": 15,
"ordinal": 18,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
@@ -164,7 +194,7 @@
}
},
{
"ordinal": 16,
"ordinal": 19,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
@@ -174,7 +204,17 @@
}
},
{
"ordinal": 17,
"ordinal": 20,
"name": "cached_usage_count",
"type_info": {
"type": "LongLong",
"flags": "NOT_NULL | UNSIGNED",
"char_set": 63,
"max_size": 20
}
},
{
"ordinal": 21,
"name": "maybe_tts_ietf_language_tag",
"type_info": {
"type": "VarString",
@@ -184,7 +224,7 @@
}
},
{
"ordinal": 18,
"ordinal": 22,
"name": "maybe_tts_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
@@ -194,7 +234,7 @@
}
},
{
"ordinal": 19,
"ordinal": 23,
"name": "maybe_vc_ietf_language_tag",
"type_info": {
"type": "VarString",
@@ -204,7 +244,7 @@
}
},
{
"ordinal": 20,
"ordinal": 24,
"name": "maybe_vc_ietf_primary_language_subtag",
"type_info": {
"type": "VarString",
@@ -214,7 +254,7 @@
}
},
{
"ordinal": 21,
"ordinal": 25,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -224,7 +264,7 @@
}
},
{
"ordinal": 22,
"ordinal": 26,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -234,7 +274,7 @@
}
},
{
"ordinal": 23,
"ordinal": 27,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -244,7 +284,7 @@
}
},
{
"ordinal": 24,
"ordinal": 28,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -252,6 +292,16 @@
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 29,
"name": "database_read_time",
"type_info": {
"type": "Datetime",
"flags": "NOT_NULL | BINARY",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
@@ -268,6 +318,9 @@
true,
true,
true,
true,
true,
false,
false,
false,
false,
@@ -275,6 +328,7 @@
true,
true,
true,
false,
true,
true,
true,
@@ -282,8 +336,9 @@
false,
false,
true,
true
true,
false
]
},
"hash": "6040227c139f6e2972734515b0a904d2a7b04bbf1a419677fc19287a0757ae21"
"hash": "d0f9d2cf4176c3f7f8fbff66eb6ff9415d989afc2b5944629a7bcea4b5a822f3"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE\n tts.token = ?\n AND tts.user_deleted_at IS NULL\n AND tts.mod_deleted_at IS NULL\n ",
"query": "\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_migration_new_model_weights_token,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE tts.token = ?\n ",
"describe": {
"columns": [
{
@@ -265,6 +265,16 @@
},
{
"ordinal": 26,
"name": "maybe_migration_new_model_weights_token",
"type_info": {
"type": "VarString",
"flags": "UNIQUE_KEY | BINARY",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 27,
"name": "maybe_custom_vocoder_token",
"type_info": {
"type": "VarString",
@@ -274,7 +284,7 @@
}
},
{
"ordinal": 27,
"ordinal": 28,
"name": "maybe_custom_vocoder_title",
"type_info": {
"type": "VarString",
@@ -284,7 +294,7 @@
}
},
{
"ordinal": 28,
"ordinal": 29,
"name": "maybe_custom_vocoder_creator_user_token",
"type_info": {
"type": "VarString",
@@ -294,7 +304,7 @@
}
},
{
"ordinal": 29,
"ordinal": 30,
"name": "maybe_custom_vocoder_creator_username",
"type_info": {
"type": "VarString",
@@ -304,7 +314,7 @@
}
},
{
"ordinal": 30,
"ordinal": 31,
"name": "maybe_custom_vocoder_creator_display_name",
"type_info": {
"type": "VarString",
@@ -314,7 +324,7 @@
}
},
{
"ordinal": 31,
"ordinal": 32,
"name": "maybe_custom_vocoder_creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -324,7 +334,7 @@
}
},
{
"ordinal": 32,
"ordinal": 33,
"name": "created_at",
"type_info": {
"type": "Timestamp",
@@ -334,7 +344,7 @@
}
},
{
"ordinal": 33,
"ordinal": 34,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
@@ -344,7 +354,7 @@
}
},
{
"ordinal": 34,
"ordinal": 35,
"name": "creator_ip_address_creation",
"type_info": {
"type": "VarString",
@@ -354,7 +364,7 @@
}
},
{
"ordinal": 35,
"ordinal": 36,
"name": "creator_ip_address_last_update",
"type_info": {
"type": "VarString",
@@ -364,7 +374,7 @@
}
},
{
"ordinal": 36,
"ordinal": 37,
"name": "mod_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -374,7 +384,7 @@
}
},
{
"ordinal": 37,
"ordinal": 38,
"name": "user_deleted_at",
"type_info": {
"type": "Timestamp",
@@ -420,6 +430,7 @@
true,
true,
true,
true,
false,
false,
false,
@@ -428,5 +439,5 @@
true
]
},
"hash": "0049a4b3dd3770564c3a466ade7479f0a11508bd4a48b2344b28ff0a20e0b9ca"
"hash": "d2d05678aa1c4c3b2d95bbb2ed563c2fc8b587c0480354a42f11409d9671afbe"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO google_sign_in_accounts\nSET\n token = ?,\n subject = ?,\n\n maybe_user_token = ?,\n\n email_address = ?,\n is_email_verified = ?,\n\n maybe_locale = ?,\n\n maybe_name = ?,\n maybe_given_name = ?,\n maybe_family_name = ?,\n\n ip_address_creation = ?,\n ip_address_update = ?\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 11
},
"nullable": []
},
"hash": "e034a43787bce2ac2db23dee2e640d527f82b29133d29a3d3803aab905f9cab6"
}
@@ -1,12 +0,0 @@
{
"db_name": "MySQL",
"query": "\nINSERT INTO media_files\nSET\n token = ?,\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_media_subtype = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n\nON DUPLICATE KEY UPDATE\n\n media_class = ?,\n media_type = ?,\n\n origin_category = ?,\n origin_product_category = ?,\n\n maybe_engine_category = ?,\n maybe_animation_type = ?,\n\n maybe_media_subtype = ?,\n maybe_mime_type = ?,\n file_size_bytes = ?,\n\n checksum_sha2 = ?,\n\n public_bucket_directory_hash = ?,\n maybe_public_bucket_prefix = ?,\n maybe_public_bucket_extension = ?,\n\n maybe_creator_user_token = ?,\n maybe_creator_anonymous_visitor_token = ?,\n creator_ip_address = ?,\n\n creator_set_visibility = ?,\n\n maybe_creator_file_synthetic_id = ?,\n maybe_creator_category_synthetic_id = ?,\n\n maybe_origin_model_type = NULL,\n maybe_origin_model_token = NULL\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 39
},
"nullable": []
},
"hash": "e670551074f3beeccb217e1b88d5ca5da7b2fe152466ff3ae526855ba5791e60"
}
@@ -0,0 +1,12 @@
{
"db_name": "MySQL",
"query": "\nUPDATE users\nSET\n username = ?,\n display_name = ?,\n username_is_not_customized = ?,\n ip_address_last_update = ?,\n version = version + 1\nWHERE\n token = ?\nLIMIT 1\n ",
"describe": {
"columns": [],
"parameters": {
"Right": 5
},
"nullable": []
},
"hash": "f41980bd0f7e5ba680315095c773b406e589ea6e72b5c284a14440c5d1c57811"
}
@@ -0,0 +1,58 @@
{
"db_name": "MySQL",
"query": "\n SELECT\n token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n created_at,\n updated_at\n FROM model_weights\n WHERE\n updated_at > ?\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | UNIQUE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 1,
"name": "weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | NO_DEFAULT_VALUE",
"char_set": 224,
"max_size": 128
}
},
{
"ordinal": 2,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 3,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
}
],
"parameters": {
"Right": 1
},
"nullable": [
false,
false,
false,
false
]
},
"hash": "f68d01ee1339c0a1ea8301fcc74359e981c20abebd7024844bea6e1b9486b458"
}
@@ -1,6 +1,6 @@
{
"db_name": "MySQL",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n m.maybe_mime_type,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n ",
"query": "\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n m.maybe_mime_type,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n m.is_user_upload,\n m.is_intermediate_system_file,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.extra_file_modification_info,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n ",
"describe": {
"columns": [
{
@@ -255,6 +255,26 @@
},
{
"ordinal": 25,
"name": "is_user_upload",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL | MULTIPLE_KEY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 26,
"name": "is_intermediate_system_file",
"type_info": {
"type": "Tiny",
"flags": "NOT_NULL | MULTIPLE_KEY",
"char_set": 63,
"max_size": 1
}
},
{
"ordinal": 27,
"name": "maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken",
"type_info": {
"type": "VarString",
@@ -264,7 +284,7 @@
}
},
{
"ordinal": 26,
"ordinal": 28,
"name": "maybe_model_weights_title",
"type_info": {
"type": "VarString",
@@ -274,7 +294,7 @@
}
},
{
"ordinal": 27,
"ordinal": 29,
"name": "maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType",
"type_info": {
"type": "VarString",
@@ -284,7 +304,7 @@
}
},
{
"ordinal": 28,
"ordinal": 30,
"name": "maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory",
"type_info": {
"type": "VarString",
@@ -294,7 +314,7 @@
}
},
{
"ordinal": 29,
"ordinal": 31,
"name": "maybe_model_cover_image_public_bucket_hash",
"type_info": {
"type": "VarString",
@@ -304,7 +324,7 @@
}
},
{
"ordinal": 30,
"ordinal": 32,
"name": "maybe_model_cover_image_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -314,7 +334,7 @@
}
},
{
"ordinal": 31,
"ordinal": 33,
"name": "maybe_model_cover_image_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -324,7 +344,7 @@
}
},
{
"ordinal": 32,
"ordinal": 34,
"name": "maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken",
"type_info": {
"type": "VarString",
@@ -334,7 +354,7 @@
}
},
{
"ordinal": 33,
"ordinal": 35,
"name": "maybe_model_weight_creator_username",
"type_info": {
"type": "VarString",
@@ -344,7 +364,7 @@
}
},
{
"ordinal": 34,
"ordinal": 36,
"name": "maybe_model_weight_creator_display_name",
"type_info": {
"type": "VarString",
@@ -354,7 +374,7 @@
}
},
{
"ordinal": 35,
"ordinal": 37,
"name": "maybe_model_weight_creator_gravatar_hash",
"type_info": {
"type": "String",
@@ -364,7 +384,17 @@
}
},
{
"ordinal": 36,
"ordinal": 38,
"name": "extra_file_modification_info",
"type_info": {
"type": "Blob",
"flags": "BLOB | BINARY",
"char_set": 224,
"max_size": 262140
}
},
{
"ordinal": 39,
"name": "public_bucket_directory_hash",
"type_info": {
"type": "VarString",
@@ -374,7 +404,7 @@
}
},
{
"ordinal": 37,
"ordinal": 40,
"name": "maybe_public_bucket_prefix",
"type_info": {
"type": "VarString",
@@ -384,7 +414,7 @@
}
},
{
"ordinal": 38,
"ordinal": 41,
"name": "maybe_public_bucket_extension",
"type_info": {
"type": "VarString",
@@ -394,7 +424,7 @@
}
},
{
"ordinal": 39,
"ordinal": 42,
"name": "maybe_ratings_positive_count",
"type_info": {
"type": "Long",
@@ -404,7 +434,7 @@
}
},
{
"ordinal": 40,
"ordinal": 43,
"name": "maybe_ratings_negative_count",
"type_info": {
"type": "Long",
@@ -414,7 +444,7 @@
}
},
{
"ordinal": 41,
"ordinal": 44,
"name": "maybe_bookmark_count",
"type_info": {
"type": "Long",
@@ -424,7 +454,7 @@
}
},
{
"ordinal": 42,
"ordinal": 45,
"name": "is_featured",
"type_info": {
"type": "LongLong",
@@ -434,21 +464,21 @@
}
},
{
"ordinal": 43,
"ordinal": 46,
"name": "created_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP",
"char_set": 63,
"max_size": 19
}
},
{
"ordinal": 44,
"ordinal": 47,
"name": "updated_at",
"type_info": {
"type": "Timestamp",
"flags": "NOT_NULL | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"flags": "NOT_NULL | MULTIPLE_KEY | BINARY | TIMESTAMP | ON_UPDATE_NOW",
"char_set": 63,
"max_size": 19
}
@@ -483,6 +513,9 @@
true,
true,
false,
false,
false,
true,
true,
true,
true,
@@ -505,5 +538,5 @@
false
]
},
"hash": "f1861dc84015b5c753cb5c31313c747386bce56983108fd6a01815d02d429630"
"hash": "f6c37066ab3e508050e81cf3bea38cc708b05c5c59ba1c322dcfb775e4b9e7a6"
}
Generated
+888 -441
View File
File diff suppressed because it is too large Load Diff
+6 -3
View File
@@ -3,10 +3,9 @@ resolver = "2"
members = [
# Types: common strongly-typed tokens, ids, payloads, etc.
# Also common cloud buckets and other "strongly typed" configs.
"crates/_types/buckets",
"crates/_types/composite_identifiers",
"crates/_types/enums",
"crates/_types/enums_public",
"crates/_types/reusable_types", # TODO(bt, 2022-12-21): Deprecate
"crates/_types/tokens",
@@ -14,6 +13,7 @@ members = [
"crates/cli/devenv/dev-database-seed",
"crates/cli/devenv/dev-upload-media-file",
"crates/cli/devenv/scrape-test",
"crates/cli/production/db-backfill",
"crates/cli/production/db-backup",
"crates/cli/production/db-cleanup",
"crates/cli/production/elasticsearch-cli",
@@ -26,8 +26,10 @@ members = [
"crates/lib/actix_helpers",
"crates/lib/api_clients/cloud_storage",
"crates/lib/api_clients/google_drive_common",
"crates/lib/api_clients/google_sign_in",
"crates/lib/api_clients/thumbnail_generator",
"crates/lib/bootstrap",
"crates/lib/bucket_paths",
"crates/lib/caching/memory_caching",
"crates/lib/caching/redis_caching",
"crates/lib/concurrency",
@@ -37,8 +39,8 @@ members = [
"crates/lib/data/datetimes",
"crates/lib/data/primitives",
"crates/lib/deprecated/config", # TODO(bt, 2023-02-13): Deprecate or repurpose
"crates/lib/deprecated/container_common", # TODO(bt, 2023-02-13): Pull apart and rehome pieces
"crates/lib/deprecated/http_server_common", # TODO(bt, 2023-03-20): Move useful pieces to actix_helpers
"crates/lib/dimensions",
"crates/lib/easyenv", # NB: Vendored version of https://github.com/echelon/easyenv.rs that we'll improve.
"crates/lib/elasticsearch_schema",
"crates/lib/email_sender",
@@ -59,6 +61,7 @@ members = [
"crates/lib/password",
"crates/lib/prompt_engineering",
"crates/lib/redis_common",
"crates/lib/redis_schema",
"crates/lib/server_environment",
"crates/lib/sqlx_mysql_helpers",
"crates/lib/storyteller_root",
+56
View File
@@ -0,0 +1,56 @@
# -*- mode: Python -*-
if k8s_context() != 'black1':
fail("failing early to avoid overwriting prod")
local_resource('storyteller-web-binary',
cmd='SQLX_OFFLINE=true cargo build --release --bin storyteller-web --target=x86_64-unknown-linux-musl',
)
local_resource('inference-job-binary',
cmd='SQLX_OFFLINE=true cargo build --release --bin inference-job --target=x86_64-unknown-linux-musl',
)
allow_k8s_contexts('black1')
sync_src_crates = sync('./crates', '/storyteller-rust/source/crates')
sync_src_sql = sync('./_sql', '/storyteller-rust/source/_sql')
sync_src_cargo_lock = sync('./Cargo.lock', '/storyteller-rust/source/Cargo.lock')
sync_src_cargo = sync('./Cargo.toml', '/storyteller-rust/source/Cargo.toml')
sync_src_env = sync('./.env', '/storyteller-rust/source/.env')
sync_src_startup = sync('./_develop/localdev/startup.sh', '/storyteller-rust/_develop/localdev/startup.sh')
sync_src_storyteller_binary = sync('./target/x86_64-unknown-linux-musl/release/storyteller-web', '/storyteller-rust/target/x86_64-unknown-linux-musl/release/storyteller-web')
sync_src_inference_job_binary = sync('./target/x86_64-unknown-linux-musl/release/inference-job', '/application-dir/inference-job')
docker_build('storyteller-web',
'.',
dockerfile='_develop/localdev/Dockerfile',
platform='linux/amd64',
only=[
'./target/x86_64-unknown-linux-musl/release/storyteller-web',
'./target/x86_64-unknown-linux-musl/release/inference-job',
'_develop/localdev/Dockerfile',
'./_develop/localdev/startup.sh',
'crates/service/web/storyteller_web/config/storyteller-web.development.env',
'_sql', 'diesel.toml', '.env'],
live_update = [
sync_src_crates,
sync_src_sql,
sync_src_cargo_lock,
sync_src_cargo,
sync_src_env,
sync_src_startup,
sync_src_storyteller_binary,
sync_src_inference_job_binary,
run('date > /restart.txt')
],
)
k8s_yaml('_develop/localdev/kubernetes.yml',
)
k8s_resource(
objects=['ssd-hostpath:storageclass', 'test-pvc:persistentvolumeclaim', 'ml-support-pvc:persistentvolumeclaim'],
new_name='storyteller-web-pvc',
trigger_mode=TRIGGER_MODE_MANUAL,
)
k8s_resource('mysql', port_forwards='3307:3306')
k8s_resource('storyteller-web', port_forwards=12345)
+12 -1
View File
@@ -6,9 +6,20 @@ RUN apt-get update && \
apt-get install -y \
mariadb-client \
imagemagick \
python3-pip \
libmariadb-dev \
&& rm -rf /var/lib/apt/lists/*
RUN cd /tmp && \
wget -O entr.zip https://github.com/eradman/entr/archive/refs/tags/5.6.zip && \
unzip entr.zip && \
cd entr-5.6 && \
./configure && \
make test && \
make install \
&& rm -rf /tmp/entr-5.6
RUN cargo install diesel_cli --features mysql && \
cargo install sqlx-cli --features mysql
@@ -19,5 +30,5 @@ ARG GIT_SHA
RUN echo -n ${GIT_SHA} > /GIT_SHA
CMD ["/storyteller-rust/localdev/startup.sh"]
CMD ["/storyteller-rust/_develop/localdev/startup.sh"]
+108 -15
View File
@@ -27,6 +27,51 @@ spec:
ports:
- containerPort: 3306
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ssd-hostpath
provisioner: microk8s.io/hostpath
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
parameters:
pvDir: /home/kasisnu/microk8s/hostpath-provisioner
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pvc
spec:
storageClassName: ssd-hostpath
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: ml-support-pvc
spec:
storageClassName: ssd-hostpath
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
---
apiVersion: v1
kind: ConfigMap
metadata:
name: storyteller-config
data:
buckets.vocodes_bucket_region: us-east1
buckets.vocodes_private_bucket_name: kasisnu-test-area-private
buckets.vocodes_public_bucket_name: kasisnu-test-area-public
buckets.vocodes_ephemeral_bucket_name: kasisnu-test-area-ephemeral-public
---
apiVersion: apps/v1
@@ -57,6 +102,11 @@ metadata:
name: storyteller-web
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 5
maxUnavailable: 2
type: RollingUpdate
selector:
matchLabels:
app: storyteller-web
@@ -65,29 +115,65 @@ spec:
labels:
app: storyteller-web
spec:
runtimeClassName: nvidia
containers:
- name: gpt-sovitsdir
# image: localhost:32000/some-gpt-sovits:latest
image: localhost:32000/some-comfy:latest
imagePullPolicy: Always
command: ["sleep", "infinity"]
resources:
limits:
nvidia.com/gpu: "1"
requests:
nvidia.com/gpu: "1"
volumeMounts:
- mountPath: /application-dir
name: application-dir
- mountPath: /ml-support
name: ml-support-dir
- name: storyteller-web
image: storyteller-web:latest
imagePullPolicy: Never
imagePullPolicy: Always
env:
- name: MYSQL_URL
value: mysql://storyteller:password@mysql.default/storyteller
value: mysql://storyteller:password@mysql/storyteller
- name: REDIS_0_URL
value: redis://redisd@redis.default/0
value: redis://redisd@redis/0
- name: REDIS_1_URL
value: redis://redisd@redis.default/1
value: redis://redisd@redis/1
- name: ACCESS_KEY
value: garbage
valueFrom:
secretKeyRef:
name: bucket-secrets
key: access-key
- name: SECRET_KEY
value: garbage
valueFrom:
secretKeyRef:
name: bucket-secrets
key: secret-key
- name: REGION_NAME
value: garbage
valueFrom:
configMapKeyRef:
name: storyteller-config
key: buckets.vocodes_bucket_region
- name: GC_ENABLED_PUBLIC_BUCKET_NAME
valueFrom:
configMapKeyRef:
name: storyteller-config
key: buckets.vocodes_ephemeral_bucket_name
- name: W2L_PRIVATE_DOWNLOAD_BUCKET_NAME
value: garbage
valueFrom:
configMapKeyRef:
name: storyteller-config
key: buckets.vocodes_private_bucket_name
- name: W2L_PUBLIC_DOWNLOAD_BUCKET_NAME
value: garbage
valueFrom:
configMapKeyRef:
name: storyteller-config
key: buckets.vocodes_public_bucket_name
- name: AUDIO_UPLOADS_BUCKET_ROOT
value: garbage
value: /user_uploaded_w2l_audio
- name: TWITCH_USERNAME
value: garbage
- name: TWITCH_STREAM_KEY
@@ -101,10 +187,17 @@ spec:
volumeMounts:
- mountPath: /storyteller-rust
name: storyteller-rust-folder
- mountPath: /application-dir
name: application-dir
volumes:
- name: storyteller-rust-folder
hostPath:
path: /storyteller-rust
persistentVolumeClaim:
claimName: test-pvc
- name: application-dir
emptyDir: {}
- name: ml-support-dir
persistentVolumeClaim:
claimName: ml-support-pvc
---
apiVersion: v1
@@ -116,7 +209,7 @@ spec:
ports:
- name: mysql
port: 3306
nodePort: 3306
nodePort: 32206
selector:
app: mysql
@@ -131,7 +224,7 @@ spec:
ports:
- name: redis
port: 6379
nodePort: 6379
nodePort: 32379
selector:
app: redis
@@ -146,7 +239,7 @@ spec:
ports:
- name: storyteller-web
port: 12345
nodePort: 12345
nodePort: 32345
selector:
app: storyteller-web
+5 -2
View File
@@ -2,5 +2,8 @@
set +e +o pipefail
diesel migration run --database-url="${MYSQL_URL}"
set -e -o pipefail
./target/x86_64-unknown-linux-musl/release/storyteller-web
echo 'hello world in startup.sh'
#sleep infinity
date > /restart.txt
echo /restart.txt | entr -nrz /storyteller-rust/target/x86_64-unknown-linux-musl/release/storyteller-web
#/storyteller-rust/target/x86_64-unknown-linux-musl/release/storyteller-web
@@ -39,11 +39,23 @@
"user_deleted_at" : { "type" : "date" },
"mod_deleted_at" : { "type" : "date" },
"database_read_time" : { "type" : "date" },
"is_featured" : {
"type": "boolean",
"index": true
},
"is_user_upload" : {
"type": "boolean",
"index": true
},
"is_intermediate_system_file" : {
"type": "boolean",
"index": true
},
"is_deleted" : {
"type": "boolean",
"index": true
@@ -29,14 +29,26 @@
"ratings_negative_count" : { "type" : "unsigned_long" },
"bookmark_count" : { "type" : "unsigned_long" },
"cached_usage_count" : {
"type": "integer",
"index": true
},
"maybe_ietf_language_tag" : { "type" : "keyword" },
"maybe_ietf_primary_language_subtag" : { "type" : "keyword" },
"is_featured" : {
"type": "boolean",
"index": true
},
"created_at" : { "type" : "date" },
"updated_at" : { "type" : "date" },
"user_deleted_at" : { "type" : "date" },
"mod_deleted_at" : { "type" : "date" },
"database_read_time" : { "type" : "date" },
"is_deleted" : {
"type": "boolean",
"index": true
@@ -4,6 +4,13 @@
"must": [
{
"bool": {
"must" : [
{
"term": {
"is_deleted": false
}
}
],
"should": [
{
"fuzzy": {
@@ -0,0 +1,34 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Generations by account recency histogram
select
created_date,
case when user_account_age_days <= 1 then 'today'
when user_account_age_days <= 30 then '<1 month'
when user_account_age_days <= 60 then '<2 month'
when user_account_age_days <= 90 then '<3 month'
when user_account_age_days <= 365 then '<1 year'
else '1+ years' end as user_account_age,
count(*) as generations
FROM (
SELECT
DATE(gij.created_at) as created_date,
-- Account age at time of media generation
DATEDIFF(gij.created_at, u.created_at) as user_account_age_days
from
generic_inference_jobs as gij
join
users as u
on
gij.maybe_creator_user_token = u.token
where
gij.created_at >= (CURDATE() - INTERVAL 30 DAY)
and gij.status = 'complete_success'
and gij.id > 40839206
order by gij.created_at asc
) as x
group by created_date, user_account_age
order by created_date asc, user_account_age asc;
@@ -0,0 +1,35 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Generations by account recency histogram
select
created_date,
case when user_account_age_days <= 1 then 'today'
when user_account_age_days <= 30 then '<1 month'
when user_account_age_days <= 60 then '<2 month'
when user_account_age_days <= 90 then '<3 month'
when user_account_age_days <= 365 then '<1 year'
else '1+ years' end as user_account_age,
count(distinct user_token) as dau_count
FROM (
SELECT
DATE(gij.created_at) as created_date,
-- Account age at time of media generation
DATEDIFF(gij.created_at, u.created_at) as user_account_age_days,
u.token as user_token
from
generic_inference_jobs as gij
join
users as u
on
gij.maybe_creator_user_token = u.token
where
gij.created_at >= (CURDATE() - INTERVAL 30 DAY)
and gij.status = 'complete_success'
and gij.id > 40839206
order by gij.created_at asc
) as x
group by created_date, user_account_age
order by created_date asc, user_account_age asc;
@@ -0,0 +1,7 @@
SELECT
DATE(gij.created_at) as created_date,
product_category,
count(*) as job_count
FROM generic_inference_jobs as gij
WHERE gij.created_at >= (CURDATE() - INTERVAL 30 DAY)
GROUP BY created_date, product_category;
@@ -0,0 +1,15 @@
-- User sign up histogram by method
-- Since we don't have an index on created_at, we threshold by id
-- Current ID count = 7578799 (September 28, 2024)
select
date(created_at) as date,
case
when maybe_signup_method is null then 'email_password'
else maybe_signup_method
end as method,
count(*) as signup_count
from users
where id > 7200000
and created_at >= NOW() - INTERVAL 60 DAY
group by date(created_at), method
@@ -0,0 +1,14 @@
-- User sign up histogram by method
-- Since we don't have an index on created_at, we threshold by id
-- Current ID count = 7578799 (September 28, 2024)
select
date(created_at) as date,
case
when maybe_source is null then 'unknown'
else maybe_source
end as source,
count(*) as signup_count
from users
where id > 7200000
and created_at >= NOW() - INTERVAL 60 DAY
group by date(created_at), maybe_source
@@ -0,0 +1,285 @@
--- Analyze records
SELECT
job_type,
product_category,
inference_category,
maybe_model_type,
created_at
FROM generic_inference_jobs
WHERE product_category IS NULL
AND created_at >= '2024-07-31'
ORDER BY ID DESC;
-- AND job_type NOT IN ('stable_diffusion', 'so_vits_svc', 'comfy_ui')
-- Update studio jobs (distinguished from VST jobs)
UPDATE generic_inference_jobs
SET product_category = 'studio'
WHERE job_type = 'comfy_ui'
AND product_category IN ('vst', 'studio', NULL)
AND token IN (
SELECT
job.token
FROM media_files as m
JOIN (
SELECT
token,
job_type,
product_category,
inference_category,
maybe_model_type,
created_at,
JSON_UNQUOTE(JSON_EXTRACT(maybe_inference_args, '$.args.Cu.in')) as input_token
FROM generic_inference_jobs
WHERE job_type = 'comfy_ui'
AND product_category IN ('vst', 'studio', NULL)
AND created_at >= '2024-05-01'
ORDER BY ID DESC
) as job
ON m.token = job.input_token
WHERE m.created_at >= '2024-05-01'
AND m.maybe_scene_source_media_file_token IS NOT NULL
);
-- Update VST jobs (distinguished from studio jobs)
UPDATE generic_inference_jobs
SET product_category = 'vst'
WHERE job_type = 'comfy_ui'
AND product_category IN ('vst', 'studio', NULL)
AND token IN (
SELECT
job.token
FROM media_files as m
JOIN (
SELECT
token,
job_type,
product_category,
inference_category,
maybe_model_type,
created_at,
JSON_UNQUOTE(JSON_EXTRACT(maybe_inference_args, '$.args.Cu.in')) as input_token
FROM generic_inference_jobs
WHERE job_type = 'comfy_ui'
AND product_category IN ('vst', 'studio', NULL)
AND created_at >= '2024-03-01'
ORDER BY ID DESC
) as job
ON m.token = job.input_token
WHERE m.created_at >= '2024-03-01'
AND m.maybe_scene_source_media_file_token IS NULL
);
-- Update final remaining VST jobs (distinguished from studio jobs)
UPDATE generic_inference_jobs
SET product_category = 'vst'
WHERE job_type = 'comfy_ui'
AND product_category IS NULL
AND token NOT IN (
SELECT
job.token
FROM media_files as m
JOIN (
SELECT
token,
job_type,
product_category,
inference_category,
maybe_model_type,
created_at,
JSON_UNQUOTE(JSON_EXTRACT(maybe_inference_args, '$.args.Cu.in')) as input_token
FROM generic_inference_jobs
WHERE job_type = 'comfy_ui'
AND product_category IN ('vst', 'studio', NULL)
AND created_at >= '2024-03-01'
) as job
ON m.token = job.input_token
WHERE m.created_at >= '2024-03-01'
);
-- Distinguish between VST and Studio
SELECT
job_type,
product_category,
inference_category,
maybe_model_type,
created_at,
maybe_inference_args,
JSON_EXTRACT(maybe_inference_args, '$.args.Cu.in') as input_token
FROM generic_inference_jobs
WHERE job_type = 'comfy_ui'
AND product_category IS NULL
AND created_at >= '2024-07-31'
ORDER BY ID DESC
LIMIT 359;
--- Update tacotron2 jobs
UPDATE generic_inference_jobs
SET product_category = 'tts_tacotron2'
WHERE job_type = 'tacotron2'
AND inference_category = 'text_to_speech'
AND maybe_model_type = 'tacotron2'
AND product_category IS NULL
AND created_at >= '2024-07-30'
AND created_at <= '2024-08-30'
LIMIT 100000;
--- Update GptSoVits (#1)
UPDATE generic_inference_jobs
SET product_category = 'tts_gpt_so_vits'
WHERE job_type = 'gpt_sovits'
AND inference_category = 'text_to_speech'
AND maybe_model_type IS NULL
AND product_category IS NULL
AND created_at >= '2024-08-14'
AND created_at <= '2024-08-30'
LIMIT 100000;
--- Update GptSoVits (#2: we changed the inference_category)
UPDATE generic_inference_jobs
SET product_category = 'tts_gpt_so_vits'
WHERE job_type = 'gpt_sovits'
AND inference_category = 'deprecated_field'
AND maybe_model_type IS NULL
AND product_category IS NULL
AND created_at >= '2024-07-15'
AND created_at <= '2024-08-30'
LIMIT 100000;
-- Update GptSoVits Download Jobs
UPDATE generic_inference_jobs
SET product_category = 'download_gpt_so_vits'
WHERE job_type = 'gpt_sovits'
AND maybe_download_url IS NOT NULL
LIMIT 10000;
--- TODO: Not working
--- Update RVCv2 VC jobs
UPDATE generic_inference_jobs
SET product_category = 'vc_rvc2'
WHERE job_type = 'rvc_v2'
AND inference_category = 'voice_conversion'
AND maybe_model_type = 'rvc_v2'
AND product_category IS NULL
AND created_at >= '2024-07-31'
AND created_at <= '2024-08-30'
LIMIT 100000;
--- Update SVC VC jobs
UPDATE generic_inference_jobs
SET product_category = 'vc_svc'
WHERE job_type = 'so_vits_svc'
AND product_category IS NULL
AND created_at >= '2024-07-25'
AND created_at <= '2024-08-30'
LIMIT 10000;
--- Update StyleTTS2 jobs
UPDATE generic_inference_jobs
SET product_category = 'tts_style_tts2'
WHERE job_type = 'styletts2'
AND inference_category = 'text_to_speech'
AND maybe_model_type = 'styletts2'
AND product_category IS NULL
AND created_at >= '2024-08-15'
AND created_at <= '2024-08-30'
LIMIT 1000;
--- Update Live Portrait jobs (#1)
UPDATE generic_inference_jobs
SET product_category = 'live_portrait'
WHERE job_type = 'live_portrait'
AND inference_category = 'live_portrait'
AND maybe_model_type IS NULL
AND product_category IS NULL
AND created_at >= '2024-07-25'
LIMIT 10000;
--- Update Live Portrait jobs (#2)
UPDATE generic_inference_jobs
SET product_category = 'live_portrait'
WHERE job_type = 'live_portrait'
AND inference_category = 'deprecated_field'
AND maybe_model_type IS NULL
AND product_category IS NULL
AND created_at >= '2024-07-25'
LIMIT 10000;
--- Update SadTalker jobs
UPDATE generic_inference_jobs
SET product_category = 'lipsync_sad_talker'
WHERE maybe_model_type = 'sad_talker'
AND inference_category = 'lipsync_animation'
AND product_category IS NULL
AND created_at >= '2024-07-25'
LIMIT 100;
--- Update "stable diffusion" jobs (how are people still enqueueing these?)
UPDATE generic_inference_jobs
SET product_category = 'stable_diffusion'
WHERE job_type = 'stable_diffusion'
AND inference_category = 'image_generation'
AND maybe_model_type = 'stable_diffusion'
AND product_category IS NULL
AND created_at >= '2024-07-25'
AND created_at <= '2024-09-30'
LIMIT 100;
-- Change Product Category: vst -> vid_style_transfer
UPDATE generic_inference_jobs
SET product_category = 'vid_style_transfer'
WHERE product_category = 'vst'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
-- Change Product Category: studio -> vid_studio
UPDATE generic_inference_jobs
SET product_category = 'vid_studio'
WHERE product_category = 'studio'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
-- Change Product Category: vid_face_fusion -> vid_lipsync_face_fusion
UPDATE generic_inference_jobs
SET product_category = 'vid_lipsync_face_fusion'
WHERE product_category = 'vid_face_fusion'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
-- Change Product Category: lipsync_sad_talker -> vid_lipsync_sad_talker
UPDATE generic_inference_jobs
SET product_category = 'vid_lipsync_sad_talker'
WHERE product_category = 'lipsync_sad_talker'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
-- Change Product Category: live_portrait -> vid_live_portrait
UPDATE generic_inference_jobs
SET product_category = 'vid_live_portrait'
WHERE product_category = 'live_portrait'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
-- Change Product Category: live_portrait_webcam -> vid_live_portrait_webcam
UPDATE generic_inference_jobs
SET product_category = 'vid_live_portrait_webcam'
WHERE product_category = 'live_portrait_webcam'
AND created_at >= '2024-07-30'
AND created_at <= '2024-09-30'
LIMIT 10;
@@ -0,0 +1,14 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
UPDATE media_files
SET is_user_upload = TRUE
WHERE origin_category IN ('upload', 'device_api')
AND is_user_upload = FALSE
LIMIT 10000;
SELECT COUNT(*)
FROM media_files
WHERE origin_category IN ('upload', 'device_api')
AND is_user_upload = FALSE;
@@ -0,0 +1,171 @@
-- Doc: https://docs.google.com/document/d/14AyEV_0PYwa71a5W8xRRZ8vbI0uZHQF4ycqi539qmAc/edit
-- backspace23: Twitch robot user? "Hello streamer! You look amazing today! Keep on being pog!." + usernames
-- blastbeng: Italian AI streamer? Only uses 23 voices, all Italian
-- bluemo69: (confirmed, abandoned) AI SpongeBob
-- dzth: AI streamer - 144,653 media files (all audio, mostly SpongeBob, using old tokens) in August 2024
-- idkman01: *likely* AI streamer for Sonic - 77,741 media files in August 2024, Sonic voices, some SpongeBob
-- johnloberger: (confirmed) AI South Park
-- peepostream: Twitch API tool (??), but long tail of voices
-- powerchat: Twitch API tool
-- rewritten_code: (confirmed) AI Breaking Bad
-- robertmctague: Definitely robot, but strange. Bimodal character set, auto-censor, bitcoin
-- thevisitorx: Only uses 32 voices. Very weird set of voices.
UPDATE users
SET is_api_user = TRUE
WHERE username IN (
'backspace23',
'blastbeng',
'bluemo69',
'dzth',
'idkman01',
'johnloberger',
'leon_says',
'peepostream',
'powerchat',
'rewritten_code',
'robertmctague',
'thevisitorx'
);
-- Ripping off our API (???):
-- We won't filter these from organic analysis because their usage is likely organic even if they're hijacking us
-- devproject2023 - lots of different voices used, in different languages
-- leon_says: 101soundboards again, lots of different voices used, in different languages
-- thebigo - not API hacker, but not paying us, using us at volume, making bad content??
-- yigithan - lots of different voices used, in different languages
-- Top August users:
+--------------------+-----------------+-------------+---------------------+
| user_token | username | usage_count | created_at |
+--------------------+-----------------+-------------+---------------------+
| user_aw7m4d07fjzrv | robertmctague | 286029 | 2024-03-18 21:51:42 | -- Strange. Bimodal character set, auto-censor, bitcoin
| U:03HG1NRMDT7A6 | leon_says | 209682 | 2023-09-13 16:27:40 | -- 101soundboards - ripping off our API again
| U:Z477H1KNSY3B5 | dzth | 145174 | 2023-07-31 15:53:50 | AI SpongeBob
| user_vb7mch05njgnp | idkman01 | 77741 | 2024-06-29 03:33:34 | AI Sonic + a little AI SpongeBob
| U:8D706H5C7E5MF | yigithan | 41965 | 2023-05-03 07:35:43 | -- Ripping off our API (???)
| U:4Z8DK9T7K4170 | devproject2023 | 29530 | 2023-03-05 21:19:27 | -- Ripping off our API (???)
| U:5Z4ZMBVZT8FYP | blastbeng | 21126 | 2022-10-25 21:33:29 | -- Italian AI streamer? Only uses 23 voices, all Italian
| U:YX31ZJ517T40G | johnloberger | 18340 | 2023-06-14 21:34:52 | AI South Park
| U:6JJJRNN0B17CP | backspace23 | 16229 | 2023-10-15 07:57:08 | -- Twitch tool? "Hello streamer! You look amazing today! Keep on being pog!." + usernames
| U:89XRNEWENPCGX | thevisitorx | 15138 | 2022-12-16 09:44:37 | -- Only uses 32 voices. Very weird set of voices.
| U:QPEXYBZJ5TB9K | thebigo | 14141 | 2022-09-06 01:38:52 | -- 92 voices, almost exclusively female voices!
-- Top Users All Time
+------------------+--------------------+---------------------+-------------+
| username | token | created_at | generations |
+------------------+--------------------+---------------------+-------------+
| leon_says | U:03HG1NRMDT7A6 | 2023-09-13 16:27:40 | 1608442 |
| dzth | U:Z477H1KNSY3B5 | 2023-07-31 15:53:50 | 1287340 |
| robertmctague | user_aw7m4d07fjzrv | 2024-03-18 21:51:42 | 785684 |
| rewritten_code | U:TBM1Z40A46NXZ | 2023-07-18 00:46:12 | 633926 |
| devproject2023 | U:4Z8DK9T7K4170 | 2023-03-05 21:19:27 | 476896 |
| yigithan | U:8D706H5C7E5MF | 2023-05-03 07:35:43 | 368559 |
| johnloberger | U:YX31ZJ517T40G | 2023-06-14 21:34:52 | 354966 |
| blastbeng | U:5Z4ZMBVZT8FYP | 2022-10-25 21:33:29 | 226726 |
| backspace23 | U:6JJJRNN0B17CP | 2023-10-15 07:57:08 | 212895 |
| nhapcs | U:7HV0JNV82F85J | 2023-07-12 15:09:07 | 182513 |
| thevisitorx | U:89XRNEWENPCGX | 2022-12-16 09:44:37 | 160763 |
| evanschris | U:3T08BX8GFDGJ2 | 2023-08-30 07:14:44 | 130251 |
| idkman01 | user_vb7mch05njgnp | 2024-06-29 03:33:34 | 99008 |
| thebigo | U:QPEXYBZJ5TB9K | 2022-09-06 01:38:52 | 88822 |
| beatsolo | U:SVZRVJSP04JAE | 2023-09-08 03:21:51 | 88089 |
| banana12134 | user_xy3snt46r1edn | 2024-06-06 02:00:10 | 82637 |
| dwdwd | U:BY6920DKHNDBT | 2023-02-06 02:22:07 | 82488 |
| bluemo69 | U:4MFYA09TH7SD1 | 2023-06-19 22:12:11 | 76651 |
| catmem | user_q7dj0hj3xy31g | 2024-05-02 09:57:28 | 49235 |
| bfdi_ceo | user_hdav69agkm2mw | 2024-05-20 18:00:46 | 46563 |
| ahiman | user_vmdq5nq7bfckh | 2024-04-13 05:47:40 | 37340 |
| kamalmango | U:NFV8FYBZHZPP4 | 2023-07-31 19:12:30 | 35873 |
| brandon2000 | U:AF0K4PMS37JWN | 2023-07-26 03:36:14 | 24899 |
| powerchat | U:Y2Q8Q7C537G88 | 2023-01-23 23:51:37 | 24557 |
| storysonic17 | U:5W2X30KK6KNAP | 2023-03-16 01:10:18 | 23561 |
| hexzd | U:2H5SED9TD85AW | 2023-08-28 02:18:15 | 21521 |
| gdinwtfdyd66692 | U:3S8S9X3H9B6SA | 2022-10-12 16:50:25 | 20966 |
| thewildwolf | user_7yjk723jtfmj6 | 2023-11-13 12:32:58 | 20858 |
| uberwaffle | user_zgw9q4tz6506t | 2024-01-18 03:09:16 | 20856 |
| peepostream | U:SYW8H845YZJBW | 2023-07-12 20:37:26 | 20417 |
| cangqu | user_x990jyt3ne4br | 2024-04-09 14:00:47 | 20260 |
| mostafa88t | U:N0VXP0H0E36WT | 2023-04-30 04:51:39 | 20107 |
| nicktea | user_4c2qcpbq6twv7 | 2024-04-22 22:09:05 | 19322 |
| freddyj | U:5WTDZVMX23WC1 | 2023-03-10 13:02:09 | 18084 |
| mikpas | U:KEXZ6BBGH75AX | 2023-08-07 23:32:30 | 16747 |
| cinnamonmick | user_23jmwykxjjrm4 | 2024-01-26 18:27:56 | 14632 |
| jammythegranny | user_bz76arxrmr0vj | 2023-12-30 15:21:04 | 14580 |
| colerw2001 | U:WJJT9AHJHGJS5 | 2023-07-25 01:56:49 | 14478 |
| saidulrifat | U:GJJKBHK15C9W0 | 2023-10-01 15:41:29 | 14446 |
| cmboy | U:E4TSGYT5DX19C | 2022-06-19 23:33:33 | 14116 |
| drunkrussian | U:ESVW6NHE6GHP8 | 2023-03-08 03:09:08 | 14037 |
| trag | U:WHXJK1RSYM5WD | 2023-06-15 16:54:33 | 13369 |
| coleroywarren | U:3MQB45NCHSNH9 | 2022-12-25 00:17:22 | 13171 |
| havewelost | U:2TEZS9T6AK6CY | 2023-06-08 16:35:16 | 12953 |
| wawoul | user_gv0a0vec80540 | 2024-01-15 16:19:10 | 12617 |
| nininoni3333 | user_bkypxftv69675 | 2024-02-16 01:26:30 | 12227 |
| bellacraft | user_9rjpehtnpd6tb | 2024-03-19 08:41:13 | 12068 |
| knightrider0 | U:H2KWH2QPNHDRB | 2023-08-31 17:37:48 | 11965 |
| itzultrascout | U:EW15EA1XNGFVB | 2022-05-12 17:12:48 | 11950 |
| citruskat | user_qcnpkvw9fnhyr | 2024-04-04 03:57:18 | 11067 |
| rannyphant | user_y1b4ag72ezh65 | 2024-01-29 23:59:00 | 10928 |
| xkendy | user_cewjs06e36hfq | 2023-11-10 19:44:59 | 10790 |
| alexcharles | U:19WD4DHDR8XDH | 2023-09-18 18:45:02 | 10705 |
| jtoddd | U:0BJT98T611SZC | 2023-10-06 04:15:53 | 10420 |
| davisher | U:T3EE4GCA5Q4ZJ | 2022-11-22 20:39:40 | 10243 |
| moon1201 | U:211ZHWM8J1F8B | 2023-10-05 07:43:03 | 10187 |
-- Continued (>5k to <10k):
| porkai | U:RBH6ZHBDDVH3Q | 2023-06-15 02:34:39 | 9703 |
| twitchguru | U:GSQGDX7HCQ9DK | 2023-08-03 14:47:40 | 9634 |
| ricardo73 | U:T7T6XH9540GVV | 2023-04-24 06:25:31 | 9563 |
| inspired17 | user_as01gf1gfc8ny | 2024-03-02 04:03:28 | 9185 |
| july1337 | user_wb4592qst8t48 | 2024-04-05 15:58:28 | 8961 |
| ren51 | U:XWA2SDNQBYMXD | 2023-09-07 14:40:00 | 8847 |
| hillbilly | U:7N1GDKHSSSZNJ | 2022-11-28 12:56:26 | 8645 |
| xdliverblx | user_kqfdj8rdhkpnv | 2023-12-30 20:17:46 | 8608 |
| chocolateimage | U:WHB70A279YBPJ | 2023-07-21 15:53:52 | 8227 |
| nothingster | U:A9HWW4VAE6XJ5 | 2022-12-20 02:51:05 | 8182 |
| bigboyduelist | U:QYGQSZ0232EXP | 2022-08-22 16:29:21 | 7962 |
| ibrasal | U:MBNYW84PRT7BB | 2023-08-16 20:25:34 | 7501 |
| nathanjackson | user_dppfbvwjq2963 | 2023-11-17 21:37:48 | 7472 |
| tcw | user_2xes0wjhfmybb | 2023-11-07 03:42:35 | 7416 |
| jpb1976 | U:P6W06DB29G9SZ | 2023-02-04 15:10:08 | 7403 |
| mezayt | U:0T2NJR5VJRT8Z | 2022-12-28 05:12:49 | 7389 |
| jctdaswfmnqaee8 | user_mhzm8s7q9jt6h | 2023-12-31 00:17:41 | 7328 |
| icerogue | user_73k9zn3jxvcxs | 2024-02-22 14:53:57 | 7258 |
| thelooneygirl | user_e9fwd2xfn2ajv | 2023-11-30 17:15:53 | 7163 |
| not_popee | U:WA1Q15SB6Q1VJ | 2023-04-11 09:18:52 | 7068 |
| altazio | U:6SCFF1NBHARQA | 2022-09-08 09:39:59 | 6967 |
| virtualsignal | user_y5q4s4he1snq9 | 2024-02-06 06:53:17 | 6867 |
| gioboss | U:PM36EZDVKCMW3 | 2023-05-23 19:17:38 | 6759 |
| lucasday | U:2RAPWS9K5HEYZ | 2022-11-03 05:15:53 | 6754 |
| nickviv | user_at41z2z9zafdz | 2024-07-08 17:52:51 | 6706 |
| novicain | U:DG228ZACF1NAN | 2022-12-28 01:49:00 | 6429 |
| n8kasper | U:VW9XKV9NWV6WS | 2022-05-31 21:25:56 | 6373 |
| garrett65536 | U:9T28V6PKPB7EM | 2023-08-28 19:16:21 | 6366 |
| oklahomadoss | U:WPF17KR1HB4YV | 2023-01-23 01:31:37 | 6364 |
| rqguy2022 | U:JV591Y7HGVKMR | 2022-09-08 22:35:59 | 6363 |
| jack314k | U:FYNFQA4D40PH4 | 2023-06-10 02:29:41 | 6286 |
| michael-studios | U:5P0BDXD18ST8C | 2023-07-29 20:46:32 | 6276 |
| ill-greed | U:YASA2RC19EHGY | 2023-07-22 06:06:22 | 6170 |
| jamescozart2245 | U:V7VA6DS24T2VE | 2023-07-25 01:17:30 | 6063 |
| avaljml | U:F1DXEJZ7HS137 | 2023-08-22 02:51:09 | 6012 |
| 24ratcma | U:NBNCMS81965ZS | 2022-11-28 01:10:53 | 5957 |
| solitaryvirus | user_wm3tzh0v91gnv | 2024-06-28 16:35:50 | 5942 |
| username64 | U:R2MATFEE7223X | 2023-07-25 02:06:41 | 5879 |
| tellstories | user_5eq7hj7vnmqqc | 2024-03-28 18:57:57 | 5824 |
| mallerie7 | U:7WAD25W85TYHM | 2022-12-16 19:22:18 | 5777 |
| unknown123 | U:1S4G4YY0EW2X6 | 2022-03-08 02:03:25 | 5736 |
| truebuck86 | U:RAE3M212X65W6 | 2023-09-13 21:47:28 | 5689 |
| g4bdou1 | U:FVFZ0TN0Y0N4F | 2023-04-30 23:40:31 | 5581 |
| hspillerga | user_8h8ffwmgphmq9 | 2023-11-19 16:07:20 | 5562 |
| garflied17 | user_a7nef57s5ypgm | 2023-12-09 18:14:16 | 5432 |
| botwoon | U:DX55CFAPANPK3 | 2023-03-12 05:23:03 | 5403 |
| jeromec22 | U:WG9S2GHDW8MA0 | 2023-07-21 23:54:37 | 5390 |
| forrealuseless | U:VVFERXHKNT4KN | 2023-05-07 23:13:07 | 5324 |
| xc3jo | U:246RSQQGZE7F7 | 2022-09-12 03:48:02 | 5211 |
| codebullet | U:9QH9CFSXE5EY8 | 2023-07-27 06:12:20 | 5184 |
| ziad1818 | U:XACATP3C7NG5D | 2023-07-23 20:45:02 | 5158 |
| weslleycebr | U:QJ9PGBCJR2101 | 2023-07-10 16:35:02 | 5143 |
| cristianarbey | U:36910S9YX5M7S | 2022-12-13 16:52:07 | 5128 |
| thiccslayer | U:70C2DNQ8NAPE2 | 2022-07-21 04:29:47 | 5071 |
@@ -0,0 +1,196 @@
-- TODO: TOP maybe_creator_user_token
-- TODO: maybe_style_transfer_source_media_file_token (original videos)
-- TODO: Later: media_type = (mp4, video)
-- origin_product_category
select distinct origin_category,
count(*)
from media_files
group by origin_category;
-- +-----------------+----------+
-- | origin_category | count(*) |
-- +-----------------+----------+
-- | inference | 40933502 |
-- | processed | 365 |
-- | story_engine | 688 |
-- | studio | 148 |
-- | upload | 796516 |
-- +-----------------+----------+
-- 5 rows in set (54.69 sec) -- TODO [QUERY DONE]: Get origin_category = `story_engine`, `studio`, and `processed` (???)
-- origin_product_category
select distinct origin_product_category,
count(*)
from media_files
group by origin_product_category;
-- +-------------------------+----------+
-- | origin_product_category | count(*) |
-- +-------------------------+----------+
-- | face_animator | 145770 |
-- | face_fusion | 1524 |
-- | face_mirror | 12743 |
-- | image_gen | 450196 |
-- | mocap | 436 |
-- | studio | 148 |
-- | tts | 33757597 |
-- | unknown | 94182 |
-- | voice_conversion | 6664633 |
-- | workflow | 46011 |
-- | zs_voice | 558212 |
-- +-------------------------+----------+
-- 11 rows in set (45.88 sec)
-- TODO [QUERIES DONE(2)]: Get origin_product_category = `mocap`, `studio`, `workflow`, `face_mirror`, `face_fusion`
-- maybe_origin_model_type (+token)
select distinct maybe_origin_model_type,
count(*)
from media_files
group by maybe_origin_model_type;
-- +-------------------------+----------+
-- | maybe_origin_model_type | count(*) |
-- +-------------------------+----------+
-- | NULL | 347531 |
-- | comfy_ui | 46013 |
-- | face_fusion | 1524 |
-- | gpt_sovits | 304046 |
-- | live_portrait | 12743 |
-- | mocap_net | 71 |
-- | rvc_v2 | 6107295 |
-- | sad_talker | 156308 |
-- | so_vits_svc | 557377 |
-- | stable_diffusion_1_5 | 450196 |
-- | styletts2 | 263575 |
-- | tacotron2 | 33453882 |
-- | vall_e_x | 31188 |
-- +-------------------------+----------+
-- 13 rows in set (51.98 sec)
-- TODO [DONEx2]: maybe_origin_model_type = comfy_ui, mocap_net, face_fusion, live_portrait
-- media_type
select distinct media_type,
count(*)
from media_files
group by media_type;
-- +------------+----------+
-- | media_type | count(*) |
-- +------------+----------+
-- | audio | 40676557 |
-- | bvh | 107 |
-- | fbx | 325 |
-- | gif | 7 |
-- | glb | 3100 |
-- | gltf | 45 |
-- | image | 481274 |
-- | jpg | 91 |
-- | mp4 | 13280 |
-- | pmd | 11 |
-- | pmx | 239 |
-- | png | 208 |
-- | scene_json | 4562 |
-- | scene_ron | 688 |
-- | video | 247391 |
-- | vmd | 168 |
-- | wav | 303996 |
-- +------------+----------+
-- 17 rows in set (43.68 sec)
-- TODO [DONE WITH QUERY]: media_type = bvh, fbx, gif, glb, gltf, jpg, png, pmx, pmd, scene_json, scene_ron, vmd
-- TODO: Later: media_type = (mp4, video)
-- media_class
select distinct media_class,
count(*)
from media_files
group by media_class;
-- +-------------+----------+
-- | media_class | count(*) |
-- +-------------+----------+
-- | audio | 40786861 |
-- | dimensional | 7846 |
-- | image | 30446 |
-- | unknown | 653032 |
-- | video | 254270 |
-- +-------------+----------+
-- 5 rows in set (46.78 sec)
-- TODO [QUERY DONE]: media_class = dimensional
-- maybe_media_subtype
select distinct maybe_media_subtype,
count(*)
from media_files
group by maybe_media_subtype;
-- +---------------------+----------+
-- | maybe_media_subtype | count(*) |
-- +---------------------+----------+
-- | NULL | 41730497 |
-- | mixamo | 950 |
-- | storyteller_scene | 766 |
-- | scene_import | 385 |
-- | mocap_net | 2 |
-- | animation_only | 15 |
-- | object | 1 |
-- +---------------------+----------+
-- 7 rows in set (25.48 sec)
-- TODO [QUERY DONE]: maybe_media_subtype IS NOT NULL
-- maybe_animation_type
select distinct maybe_animation_type,
count(*)
from media_files
group by maybe_animation_type;
-- +----------------------+----------+
-- | maybe_animation_type | count(*) |
-- +----------------------+----------+
-- | NULL | 41732552 |
-- | mixamo | 360 |
-- | mocap_net_ar_kit | 1 |
-- | ar_kit | 41 |
-- | move_ai | 46 |
-- | move_ai_ar_kit | 7 |
-- | rigify | 7 |
-- | mixamo_ar_kit | 114 |
-- | miku_miku_dance | 290 |
-- | mocap_net | 2 |
-- +----------------------+----------+
-- 10 rows in set (27.46 sec)
-- TODO [QUERY DONE]: maybe_animation_type IS NOT NULL
-- maybe_engine_category
select distinct maybe_engine_category,
count(*)
from media_files
group by maybe_engine_category;
-- +-----------------------+----------+
-- | maybe_engine_category | count(*) |
-- +-----------------------+----------+
-- | NULL | 41729660 |
-- | animation | 344 |
-- | character | 707 |
-- | creature | 71 |
-- | expression | 45 |
-- | image_plane | 306 |
-- | location | 105 |
-- | object | 694 |
-- | scene | 4493 |
-- | set_dressing | 44 |
-- | skybox | 1 |
-- | video_plane | 77 |
-- +-----------------------+----------+
-- 12 rows in set (36.41 sec)
-- TODO [QUERY DONE]: maybe_engine_category IS NOT NULL
@@ -0,0 +1,12 @@
-- Media file cover images
select distinct maybe_cover_image_media_file_token
from media_files
where maybe_cover_image_media_file_token is not null
group by maybe_cover_image_media_file_token
-- Model weights cover images
select distinct maybe_cover_image_media_file_token
from model_weights
where maybe_cover_image_media_file_token is not null
group by maybe_cover_image_media_file_token
@@ -0,0 +1,59 @@
-- STUDIO_maybe_media_subtype_not_null.csv
select token
from media_files
where maybe_media_subtype IS NOT NULL;
-- STUDIO_dimensional_media_class.csv
select token
from media_files
where media_class = 'dimensional';
-- STUDIO_maybe_animation_type_not_null.csv
select token
from media_files
where maybe_animation_type IS NOT NULL;
-- STUDIO_IMPORTANT_maybe_engine_category_not_null.csv
select token
from media_files
where maybe_engine_category IS NOT NULL;
-- STUDIO_IMPORTANT_scene_source_token_not_null.csv
select distinct maybe_scene_source_media_file_token
from media_files
where maybe_scene_source_media_file_token IS NOT NULL
group by maybe_scene_source_media_file_token;
-- STUDIO_media_file_origin_categories.csv
select token
from media_files
where origin_category IN ('processed', 'studio', 'story_engine');
-- STUDIO_media_file_studio_asset_product_category.csv
select token
from media_files
where origin_product_category IN ('mocap', 'studio', 'workflow');
-- VIDEO_media_file_video_product_category.csv
select token
from media_files
where origin_product_category IN ('face_mirror', 'face_fusion');
-- VIDEO_media_file_video_origin_model_type.csv
select token
from media_files
where maybe_origin_model_type IN ('comfy_ui', 'face_fusion', 'live_portrait');
-- STUDIO_media_file_mocap_model_type.csv
select token
from media_files
where maybe_origin_model_type IN ('mocap_net');
select token
from media_files
where media_type IN ('bvh', 'fbx', 'gif', 'glb', 'gltf', 'jpg', 'pmd', 'pmx', 'png', 'scene_json', 'scene_ron', 'vmd');
select token
from media_files
where media_type IN ('mp4', 'video');
@@ -0,0 +1,4 @@
select token
from media_files
where is_intermediate_system_file IS TRUE
@@ -0,0 +1,16 @@
-- Find vcm_* tokens that are still in use
select
job_token,
model_token,
user_token
from (
select token as job_token,
maybe_model_token as model_token,
maybe_creator_user_token as user_token
from generic_inference_jobs
order by id
desc limit 1000000
) as x
where model_token NOT LIKE "TM:%"
and model_token NOT LIKE "weight_%"
limit 50;
@@ -12,7 +12,7 @@ SELECT
maybe_creator_user_token,
users.username as maybe_creator_username,
creator_ip_address,
count(*) as attempts
count(*) as total_job_count
FROM (
SELECT
maybe_creator_user_token,
@@ -22,15 +22,16 @@ FROM (
creator_ip_address,
created_at
FROM generic_inference_jobs
where status = 'pending'
ORDER BY id DESC
LIMIT 10000
LIMIT 50000
) as j
WHERE j.created_at > NOW() - INTERVAL 30 MINUTE
) as jobs
LEFT OUTER JOIN users
ON users.token = jobs.maybe_creator_user_token
group by maybe_creator_user_token, maybe_creator_username, creator_ip_address
order by attempts desc;
order by total_job_count desc;
-- Bin histogram by creator user (including logged out)
@@ -38,7 +39,7 @@ order by attempts desc;
SELECT
users.username as maybe_creator_username,
maybe_creator_user_token,
count(*) as attempts
count(*) as total_job_count
FROM (
SELECT
maybe_creator_user_token,
@@ -56,7 +57,7 @@ FROM (
LEFT OUTER JOIN users
ON users.token = jobs.maybe_creator_user_token
group by maybe_creator_user_token, maybe_creator_username
order by attempts desc;
order by total_job_count desc;
-- Bin histogram by IP (logged in and non-logged in)
@@ -2,7 +2,19 @@
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Histogram by type
-- Pending jobs
select
count(*),
job_type
from generic_inference_jobs
where status in ('pending', 'started', 'attempt_failed')
group by job_type;
update generic_inference_jobs
set status = 'dead'
where status in ('pending', 'started', 'attempt_failed')
-- Histogram by type over last 50,000 jobs
-- NB: no index on ip, hence subquery
select
job_type,
@@ -20,7 +32,7 @@ FROM (
) as j
group by job_type, inference_category, maybe_model_type;
-- Histogram by type (still processing)
-- Histogram by type over last 50,000 jobs that are "still processing"
-- NB: no index on ip, hence subquery
select
job_type,
@@ -2,31 +2,43 @@
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Kill routed jobs
update generic_inference_jobs set status = 'dead' where maybe_routing_tag IS NOT NULL limit 100;
-- Get pending job count
select count(*)
from generic_inference_jobs
where status = 'pending';
-- Get pending jobs
select count(*) from generic_inference_jobs where status = 'pending';
-- Get pending job count by job type
select
job_type,
count(*)
from generic_inference_jobs
where status = 'pending'
group by job_type;
-- Kill outstanding jobs
-- Kill *ALL* pending / outstanding jobs of any type
update generic_inference_jobs
set status = 'dead'
where status IN ('pending', 'started', 'attempt_failed');
-- Kill outstanding jobs of type
-- Kill all routed jobs
update generic_inference_jobs
set status = 'dead'
where status IN ('pending', 'started', 'attempt_failed')
and maybe_model_type IN ('sad_talker', 'so_vits_svc');
where maybe_routing_tag IS NOT NULL;
-- Tacotron 2 TTS
-- Kill all Tacotron TTS jobs
update generic_inference_jobs
set status = 'dead'
where status IN ('pending', 'started', 'attempt_failed')
and maybe_model_type IN ('tacotron2');
-- Sad Talker Face Animation
-- Kill all Sad Talker Face Animation jobs
update generic_inference_jobs
set status = 'dead'
where status IN ('pending', 'started', 'attempt_failed')
and maybe_model_type IN ('sad_talker');
-- Kill all jobs of several types
update generic_inference_jobs
set status = 'dead'
where status IN ('pending', 'started', 'attempt_failed')
and maybe_model_type IN ('sad_talker', 'so_vits_svc');
@@ -0,0 +1,28 @@
-- Find old stale jobs
select
job_type,
count(*)
from generic_inference_jobs
where status = 'started'
and created_at < (CURDATE() - INTERVAL 30 MINUTE)
group by job_type;
-- Kill old stale jobs
update generic_inference_jobs
set status = 'dead'
where status = 'started'
and created_at < (CURDATE() - INTERVAL 30 MINUTE)
-- Check up on recent jobs after purge
select
job_type,
count(*)
from generic_inference_jobs
where status = 'started'
group by job_type;
-- Kill old pending jobs too
update generic_inference_jobs
set status = 'dead'
where status = 'pending'
and created_at < (CURDATE() - INTERVAL 30 MINUTE)
@@ -0,0 +1,8 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Get pending job count
select count(*)
from generic_inference_jobs
where status = 'pending';
@@ -0,0 +1,12 @@
select
u.username,
count(*) as generations
from generic_inference_jobs as gij
join users as u
on gij.maybe_creator_user_token = u.token
where gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
and gij.maybe_creator_user_token is not null
group by u.username
order by generations desc
limit 10
@@ -0,0 +1,46 @@
-- Total usage
select
count(*) as use_count
from generic_inference_jobs as gij
where gij.product_category = 'vid_face_fusion'
and gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
-- Usage by user
select
u.token,
u.username,
count(*) as use_count
from generic_inference_jobs as gij
left outer join users as u
on u.token = gij.maybe_creator_user_token
where gij.product_category = 'vid_face_fusion'
and gij.created_at >= (CURDATE() - INTERVAL 2 DAY)
group by u.token, u.username
order by use_count desc
-- TTS vs Face Fusion side by side statistics
select
x.user_token,
x.username,
x.face_fusion_count,
count(*) as tts_count
from (
select
u.token as user_token,
u.username,
count(*) as face_fusion_count
from generic_inference_jobs as gij
left outer join users as u
on u.token = gij.maybe_creator_user_token
where gij.product_category = 'vid_face_fusion'
and gij.created_at >= (CURDATE() - INTERVAL 1 DAY)
group by u.token, u.username
) as x
left outer join generic_inference_jobs as gij
on x.user_token = gij.maybe_creator_user_token
where gij.product_category = 'tts_tacotron2'
and gij.created_at >= (CURDATE() - INTERVAL 1 DAY)
group by x.user_token, x.username
order by face_fusion_count desc
@@ -0,0 +1,10 @@
SELECT
m.media_type,
COUNT(*)
FROM media_files as m
JOIN users as u
ON m.maybe_creator_user_token = u.token
WHERE u.username = lower('dzth')
GROUP BY m.media_type
@@ -0,0 +1,35 @@
-- Top users in a time period
select
u.username,
u.token,
u.created_at,
count(*) as generations
from
media_files as m
join users as u
on m.maybe_creator_user_token = u.token
where
m.created_at >= (CURDATE() - INTERVAL 5 DAY)
group by
u.username, u.token, u.created_at
order by
generations desc
limit 50;
-- Top users all time
select
u.username,
u.token,
u.created_at,
count(*) as generations
from
media_files as m
join users as u
on m.maybe_creator_user_token = u.token
group by
u.username, u.token, u.created_at
order by
generations desc
limit 500;
@@ -0,0 +1,22 @@
| Field | Type | Null | Key | Default | Extra |
+-------------+------------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| token | varchar(32) | NO | MUL | NULL | |
| on_date | date | NO | MUL | NULL | |
| usage_count | int(10) unsigned | NO | MUL | 0 | |
+-------------+------------------+------+-----+---------+----------------+
--- Top models after date
select
w.token,
substring(w.title, 1, 100) as title,
sum(usage_count) as usage_count
from model_weight_usage_counts as uc
join model_weights as w
on uc.token = w.token
where on_date >= '2024-09-01'
group by w.token
order by usage_count desc
limit 150;
@@ -0,0 +1,12 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- List GptSoVits model downloads for user (Vegito)
select *
from generic_inference_jobs
where maybe_creator_user_token = 'U:E00D2RD3ZNZ7P'
and job_type = 'gpt_sovits'
and maybe_download_url IS NOT NULL
order by id desc
limit 100\G
@@ -0,0 +1,47 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Inventory non-deleted
select
m.id,
m.token,
SUBSTRING(m.title, 1, 35) as title,
u.username,
SUBSTRING(m.original_download_url, 1, 35) as url,
m.updated_at
from model_weights as m
left join users AS u on
u.token = m.creator_user_token
where
m.user_deleted_at IS NULL
and m.mod_deleted_at IS NULL
order by m.title asc;
-- Top models within time period
-- NB: id threshold is to avoid a full table scan
select
mw.token,
mw.title,
mw.weights_type,
mw.weights_category,
u.username as creator_username,
r.use_count,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at
from (
select maybe_model_token, count(*) as use_count
from generic_inference_jobs
where maybe_model_token IS NOT NULL
and created_at > NOW() - INTERVAL 7 DAY
and id > 40000000
group by maybe_model_token
) as r
join model_weights as mw
on mw.token = r.maybe_model_token
join users as u
on u.token = mw.creator_user_token
order by r.use_count desc
limit 100;
@@ -0,0 +1,65 @@
-- This query works!
-- Here we get a histogram of model usages on a particular day.
-- This fetches counts of all jobs that were submitted using either
-- a modern model_weights token or a legacy tts_model token and sums
-- them together when the two correspond to the same model_weight
-- record.
SELECT
distinct coalesce(w.token, w_old.token) as token,
COUNT(*) as usage_count
FROM
media_files as f
LEFT OUTER JOIN model_weights as w
ON f.maybe_origin_model_token = w.token
LEFT OUTER JOIN model_weights as w_old
ON f.maybe_origin_model_token = w_old.maybe_migration_old_model_token
WHERE f.maybe_origin_model_token IS NOT NULL
AND f.created_at >= '2024-09-01'
AND f.created_at < '2024-09-01' + INTERVAL 1 DAY
GROUP BY coalesce(w.token, w_old.token)
ORDER BY usage_count DESC
LIMIT 10;
-- TESTING: Above query, but only modern model_weights tokens
SELECT
distinct w.token,
COUNT(*) as usage_count
FROM
media_files as f
JOIN model_weights as w
ON f.maybe_origin_model_token = w.token
WHERE f.maybe_origin_model_token IS NOT NULL
AND f.created_at >= '2024-09-01'
AND f.created_at < '2024-09-01' + INTERVAL 1 DAY
GROUP BY w.token
ORDER BY usage_count DESC
LIMIT 10;
-- TESTING: Above query, but only legacy tts_models tokens
SELECT
distinct w_old.token,
COUNT(*) as usage_count
FROM
media_files as f
LEFT OUTER JOIN model_weights as w_old
ON f.maybe_origin_model_token = w_old.maybe_migration_old_model_token
WHERE f.maybe_origin_model_token IS NOT NULL
AND f.created_at >= '2024-09-01'
AND f.created_at < '2024-09-01' + INTERVAL 1 DAY
GROUP BY w_old.token
ORDER BY usage_count DESC
LIMIT 10;
-- TESTING: Testing that the math works without joining
SELECT
distinct f.maybe_origin_model_token,
COUNT(*) as usage_count
FROM
media_files as f
WHERE f.maybe_origin_model_token IS NOT NULL
AND f.created_at >= '2024-09-01'
AND f.created_at < '2024-09-01' + INTERVAL 1 DAY
GROUP BY f.maybe_origin_model_token
ORDER BY usage_count DESC
LIMIT 10;
@@ -1,21 +0,0 @@
-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
-- noinspection SqlResolveForFile
-- Inventory non-deleted
select
m.id,
m.token,
SUBSTRING(m.title, 1, 35) as title,
u.username,
SUBSTRING(m.original_download_url, 1, 35) as url,
m.updated_at
from model_weights as m
left join users AS u on
u.token = m.creator_user_token
where
m.user_deleted_at IS NULL
and m.mod_deleted_at IS NULL
order by m.title asc;
@@ -0,0 +1,265 @@
-- Find top model weights by usage.
-- Remove "AI Streamers" and top users
-- This supports old-format TTS tokens.
-- This is a very expensive query that takes forever to run:
-- 1000 rows in set (7 hours 6 min 8.98 sec)
SELECT
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at,
count(*) as use_count
FROM model_weights as mw
JOIN (
-- First subquery: media_files records that reference model_weights or migrated model_weights
select
coalesce(w.token, w_migrated.token) as token
from media_files as f
left outer join model_weights as w
on f.maybe_origin_model_token = w.token
left outer join model_weights as w_migrated
on f.maybe_origin_model_token = w_migrated.maybe_migration_old_model_token
where
f.maybe_creator_user_token NOT IN (
"U:03HG1NRMDT7A6", "U:0BJT98T611SZC", "U:0T2NJR5VJRT8Z", "U:19WD4DHDR8XDH", "U:1S4G4YY0EW2X6", "U:211ZHWM8J1F8B",
"U:246RSQQGZE7F7", "U:2H5SED9TD85AW", "U:2RAPWS9K5HEYZ", "U:2TEZS9T6AK6CY", "U:36910S9YX5M7S", "U:3MQB45NCHSNH9",
"U:3S8S9X3H9B6SA", "U:3T08BX8GFDGJ2", "U:4MFYA09TH7SD1", "U:4Z8DK9T7K4170", "U:5P0BDXD18ST8C", "U:5W2X30KK6KNAP",
"U:5WTDZVMX23WC1", "U:5Z4ZMBVZT8FYP", "U:6JJJRNN0B17CP", "U:6SCFF1NBHARQA", "U:70C2DNQ8NAPE2", "U:7HV0JNV82F85J",
"U:7N1GDKHSSSZNJ", "U:7WAD25W85TYHM", "U:89XRNEWENPCGX", "U:8D706H5C7E5MF", "U:9QH9CFSXE5EY8", "U:9T28V6PKPB7EM",
"U:A9HWW4VAE6XJ5", "U:AF0K4PMS37JWN", "U:BY6920DKHNDBT", "U:DG228ZACF1NAN", "U:DX55CFAPANPK3", "U:E4TSGYT5DX19C",
"U:ESVW6NHE6GHP8", "U:EW15EA1XNGFVB", "U:F1DXEJZ7HS137", "U:FVFZ0TN0Y0N4F", "U:FYNFQA4D40PH4", "U:GJJKBHK15C9W0",
"U:GSQGDX7HCQ9DK", "U:H2KWH2QPNHDRB", "U:JV591Y7HGVKMR", "U:KEXZ6BBGH75AX", "U:MBNYW84PRT7BB", "U:N0VXP0H0E36WT",
"U:NBNCMS81965ZS", "U:NFV8FYBZHZPP4", "U:P6W06DB29G9SZ", "U:PM36EZDVKCMW3", "U:QJ9PGBCJR2101", "U:QPEXYBZJ5TB9K",
"U:QYGQSZ0232EXP", "U:R2MATFEE7223X", "U:RAE3M212X65W6", "U:RBH6ZHBDDVH3Q", "U:SVZRVJSP04JAE", "U:SYW8H845YZJBW",
"U:T3EE4GCA5Q4ZJ", "U:T7T6XH9540GVV", "U:TBM1Z40A46NXZ", "U:V7VA6DS24T2VE", "U:VVFERXHKNT4KN", "U:VW9XKV9NWV6WS",
"U:WA1Q15SB6Q1VJ", "U:WG9S2GHDW8MA0", "U:WHB70A279YBPJ", "U:WHXJK1RSYM5WD", "U:WJJT9AHJHGJS5", "U:WPF17KR1HB4YV",
"U:XACATP3C7NG5D", "U:XWA2SDNQBYMXD", "U:Y2Q8Q7C537G88", "U:YASA2RC19EHGY", "U:YX31ZJ517T40G", "U:Z477H1KNSY3B5",
"user_23jmwykxjjrm4", "user_2xes0wjhfmybb", "user_4c2qcpbq6twv7", "user_5eq7hj7vnmqqc", "user_73k9zn3jxvcxs",
"user_7yjk723jtfmj6", "user_8h8ffwmgphmq9", "user_9rjpehtnpd6tb", "user_a7nef57s5ypgm", "user_as01gf1gfc8ny",
"user_at41z2z9zafdz", "user_aw7m4d07fjzrv", "user_bkypxftv69675", "user_bz76arxrmr0vj", "user_cewjs06e36hfq",
"user_dppfbvwjq2963", "user_e9fwd2xfn2ajv", "user_gv0a0vec80540", "user_hdav69agkm2mw", "user_kqfdj8rdhkpnv",
"user_mhzm8s7q9jt6h", "user_q7dj0hj3xy31g", "user_qcnpkvw9fnhyr", "user_vb7mch05njgnp", "user_vmdq5nq7bfckh",
"user_wb4592qst8t48", "user_wm3tzh0v91gnv", "user_x990jyt3ne4br", "user_xy3snt46r1edn", "user_y1b4ag72ezh65",
"user_y5q4s4he1snq9", "user_zgw9q4tz6506t"
)
and (w.token IS NOT NULL OR w_migrated.token IS NOT NULL)
UNION ALL
-- Second subquery: tts_results that reference tts_models (which we have migrated to model_weights)
select
w_migrated_2.token as token
from tts_results as tr
left outer join model_weights as w_migrated_2
on tr.model_token = w_migrated_2.maybe_migration_old_model_token
where
tr.maybe_creator_user_token NOT IN (
"U:03HG1NRMDT7A6", "U:0BJT98T611SZC", "U:0T2NJR5VJRT8Z", "U:19WD4DHDR8XDH", "U:1S4G4YY0EW2X6", "U:211ZHWM8J1F8B",
"U:246RSQQGZE7F7", "U:2H5SED9TD85AW", "U:2RAPWS9K5HEYZ", "U:2TEZS9T6AK6CY", "U:36910S9YX5M7S", "U:3MQB45NCHSNH9",
"U:3S8S9X3H9B6SA", "U:3T08BX8GFDGJ2", "U:4MFYA09TH7SD1", "U:4Z8DK9T7K4170", "U:5P0BDXD18ST8C", "U:5W2X30KK6KNAP",
"U:5WTDZVMX23WC1", "U:5Z4ZMBVZT8FYP", "U:6JJJRNN0B17CP", "U:6SCFF1NBHARQA", "U:70C2DNQ8NAPE2", "U:7HV0JNV82F85J",
"U:7N1GDKHSSSZNJ", "U:7WAD25W85TYHM", "U:89XRNEWENPCGX", "U:8D706H5C7E5MF", "U:9QH9CFSXE5EY8", "U:9T28V6PKPB7EM",
"U:A9HWW4VAE6XJ5", "U:AF0K4PMS37JWN", "U:BY6920DKHNDBT", "U:DG228ZACF1NAN", "U:DX55CFAPANPK3", "U:E4TSGYT5DX19C",
"U:ESVW6NHE6GHP8", "U:EW15EA1XNGFVB", "U:F1DXEJZ7HS137", "U:FVFZ0TN0Y0N4F", "U:FYNFQA4D40PH4", "U:GJJKBHK15C9W0",
"U:GSQGDX7HCQ9DK", "U:H2KWH2QPNHDRB", "U:JV591Y7HGVKMR", "U:KEXZ6BBGH75AX", "U:MBNYW84PRT7BB", "U:N0VXP0H0E36WT",
"U:NBNCMS81965ZS", "U:NFV8FYBZHZPP4", "U:P6W06DB29G9SZ", "U:PM36EZDVKCMW3", "U:QJ9PGBCJR2101", "U:QPEXYBZJ5TB9K",
"U:QYGQSZ0232EXP", "U:R2MATFEE7223X", "U:RAE3M212X65W6", "U:RBH6ZHBDDVH3Q", "U:SVZRVJSP04JAE", "U:SYW8H845YZJBW",
"U:T3EE4GCA5Q4ZJ", "U:T7T6XH9540GVV", "U:TBM1Z40A46NXZ", "U:V7VA6DS24T2VE", "U:VVFERXHKNT4KN", "U:VW9XKV9NWV6WS",
"U:WA1Q15SB6Q1VJ", "U:WG9S2GHDW8MA0", "U:WHB70A279YBPJ", "U:WHXJK1RSYM5WD", "U:WJJT9AHJHGJS5", "U:WPF17KR1HB4YV",
"U:XACATP3C7NG5D", "U:XWA2SDNQBYMXD", "U:Y2Q8Q7C537G88", "U:YASA2RC19EHGY", "U:YX31ZJ517T40G", "U:Z477H1KNSY3B5",
"user_23jmwykxjjrm4", "user_2xes0wjhfmybb", "user_4c2qcpbq6twv7", "user_5eq7hj7vnmqqc", "user_73k9zn3jxvcxs",
"user_7yjk723jtfmj6", "user_8h8ffwmgphmq9", "user_9rjpehtnpd6tb", "user_a7nef57s5ypgm", "user_as01gf1gfc8ny",
"user_at41z2z9zafdz", "user_aw7m4d07fjzrv", "user_bkypxftv69675", "user_bz76arxrmr0vj", "user_cewjs06e36hfq",
"user_dppfbvwjq2963", "user_e9fwd2xfn2ajv", "user_gv0a0vec80540", "user_hdav69agkm2mw", "user_kqfdj8rdhkpnv",
"user_mhzm8s7q9jt6h", "user_q7dj0hj3xy31g", "user_qcnpkvw9fnhyr", "user_vb7mch05njgnp", "user_vmdq5nq7bfckh",
"user_wb4592qst8t48", "user_wm3tzh0v91gnv", "user_x990jyt3ne4br", "user_xy3snt46r1edn", "user_y1b4ag72ezh65",
"user_y5q4s4he1snq9", "user_zgw9q4tz6506t"
)
) as x
on mw.token = x.token
group by
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at
order by use_count desc
limit 1000;
-------- Only media_files version of the query -------
-- Find top model weights by usage.
-- Remove "AI Streamers" and top users
-- This supports old-format TTS tokens.
-- This only queries the media_files table and runs in just 8 minutes.
SELECT
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at,
count(*) as use_count
FROM model_weights as mw
JOIN (
select
coalesce(w.token, w_migrated.token) as token
from media_files as f
left outer join model_weights as w
on f.maybe_origin_model_token = w.token
left outer join model_weights as w_migrated
on f.maybe_origin_model_token = w_migrated.maybe_migration_old_model_token
and f.maybe_creator_user_token NOT IN (
"U:03HG1NRMDT7A6", "U:0BJT98T611SZC", "U:0T2NJR5VJRT8Z", "U:19WD4DHDR8XDH", "U:1S4G4YY0EW2X6", "U:211ZHWM8J1F8B",
"U:246RSQQGZE7F7", "U:2H5SED9TD85AW", "U:2RAPWS9K5HEYZ", "U:2TEZS9T6AK6CY", "U:36910S9YX5M7S", "U:3MQB45NCHSNH9",
"U:3S8S9X3H9B6SA", "U:3T08BX8GFDGJ2", "U:4MFYA09TH7SD1", "U:4Z8DK9T7K4170", "U:5P0BDXD18ST8C", "U:5W2X30KK6KNAP",
"U:5WTDZVMX23WC1", "U:5Z4ZMBVZT8FYP", "U:6JJJRNN0B17CP", "U:6SCFF1NBHARQA", "U:70C2DNQ8NAPE2", "U:7HV0JNV82F85J",
"U:7N1GDKHSSSZNJ", "U:7WAD25W85TYHM", "U:89XRNEWENPCGX", "U:8D706H5C7E5MF", "U:9QH9CFSXE5EY8", "U:9T28V6PKPB7EM",
"U:A9HWW4VAE6XJ5", "U:AF0K4PMS37JWN", "U:BY6920DKHNDBT", "U:DG228ZACF1NAN", "U:DX55CFAPANPK3", "U:E4TSGYT5DX19C",
"U:ESVW6NHE6GHP8", "U:EW15EA1XNGFVB", "U:F1DXEJZ7HS137", "U:FVFZ0TN0Y0N4F", "U:FYNFQA4D40PH4", "U:GJJKBHK15C9W0",
"U:GSQGDX7HCQ9DK", "U:H2KWH2QPNHDRB", "U:JV591Y7HGVKMR", "U:KEXZ6BBGH75AX", "U:MBNYW84PRT7BB", "U:N0VXP0H0E36WT",
"U:NBNCMS81965ZS", "U:NFV8FYBZHZPP4", "U:P6W06DB29G9SZ", "U:PM36EZDVKCMW3", "U:QJ9PGBCJR2101", "U:QPEXYBZJ5TB9K",
"U:QYGQSZ0232EXP", "U:R2MATFEE7223X", "U:RAE3M212X65W6", "U:RBH6ZHBDDVH3Q", "U:SVZRVJSP04JAE", "U:SYW8H845YZJBW",
"U:T3EE4GCA5Q4ZJ", "U:T7T6XH9540GVV", "U:TBM1Z40A46NXZ", "U:V7VA6DS24T2VE", "U:VVFERXHKNT4KN", "U:VW9XKV9NWV6WS",
"U:WA1Q15SB6Q1VJ", "U:WG9S2GHDW8MA0", "U:WHB70A279YBPJ", "U:WHXJK1RSYM5WD", "U:WJJT9AHJHGJS5", "U:WPF17KR1HB4YV",
"U:XACATP3C7NG5D", "U:XWA2SDNQBYMXD", "U:Y2Q8Q7C537G88", "U:YASA2RC19EHGY", "U:YX31ZJ517T40G", "U:Z477H1KNSY3B5",
"user_23jmwykxjjrm4", "user_2xes0wjhfmybb", "user_4c2qcpbq6twv7", "user_5eq7hj7vnmqqc", "user_73k9zn3jxvcxs",
"user_7yjk723jtfmj6", "user_8h8ffwmgphmq9", "user_9rjpehtnpd6tb", "user_a7nef57s5ypgm", "user_as01gf1gfc8ny",
"user_at41z2z9zafdz", "user_aw7m4d07fjzrv", "user_bkypxftv69675", "user_bz76arxrmr0vj", "user_cewjs06e36hfq",
"user_dppfbvwjq2963", "user_e9fwd2xfn2ajv", "user_gv0a0vec80540", "user_hdav69agkm2mw", "user_kqfdj8rdhkpnv",
"user_mhzm8s7q9jt6h", "user_q7dj0hj3xy31g", "user_qcnpkvw9fnhyr", "user_vb7mch05njgnp", "user_vmdq5nq7bfckh",
"user_wb4592qst8t48", "user_wm3tzh0v91gnv", "user_x990jyt3ne4br", "user_xy3snt46r1edn", "user_y1b4ag72ezh65",
"user_y5q4s4he1snq9", "user_zgw9q4tz6506t"
)
) as x
on mw.token = x.token
group by
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at
order by use_count desc
limit 100;
+----------------------------------+--------------+----------------------------------------------------------------------------------------------------------------+---------------------+---------------------+----------------+-----------+
| token | weights_type | title | created_at | user_deleted_at | mod_deleted_at | use_count |
+----------------------------------+--------------+----------------------------------------------------------------------------------------------------------------+---------------------+---------------------+----------------+-----------+
| weight_0f762jdzgsy1dhpb86qxy4ssm | tt2 | Rick Sanchez (Version 2.0) | 2023-05-14 05:26:03 | NULL | NULL | 846105 |
| weight_sfyjyr67ag1647xs0r7gmvkks | tt2 | Deleted Model | 2023-09-27 15:06:37 | NULL | NULL | 702990 |
| weight_kwmxssf6k6ha92h3b55mh3w9q | tt2 | Waldemaro Martínez. (Locutor de DJ, Latin American Spanish.) | 2022-12-22 02:59:57 | NULL | NULL | 426417 |
| weight_ahxbf2104ngsgyegncaefyy6j | tt2 | Plankton v2 (Doug Lawrence) | 2022-08-11 06:19:56 | NULL | NULL | 401748 |
| weight_rhfg4chgrp42bnha8kqfrtmcq | tt2 | Mariano Closs (full version) | 2022-04-28 20:57:04 | NULL | NULL | 377601 |
| weight_34vt3stah9xyts72zrya85vc9 | tt2 | "Arthur C. Clarke" (901ep) | 2022-04-15 08:34:03 | NULL | NULL | 297574 |
| weight_hehgvegadf08mfp5rzd69dmh4 | tt2 | Angry Male Yelling | 2023-10-20 11:30:46 | NULL | NULL | 291089 |
| weight_hz7g8f1j4psrsw2sv67e4y61q | tt2 | Mariano Closs (Relator de fútbol Argentino) | 2022-04-11 01:45:01 | NULL | NULL | 264792 |
| weight_83bv8pnva9vewht8zpye1x060 | tt2 | Dragonball Z Narrador (Latin, Version 1.0) | 2022-07-28 05:05:33 | NULL | NULL | 261753 |
| weight_txvtzmcd7jw0rg192284r1g3w | tt2 | Son Goku. (IMITADOR Remasterizado.) (Dragon Ball, Latin American Spanish.) | 2023-10-07 20:10:36 | NULL | NULL | 252080 |
| weight_b8rncypy7gw6nb0wthnwe2kk4 | tt2 | Zelda (Breath of the Wild) | 2023-05-17 00:30:49 | NULL | NULL | 247036 |
| weight_h8ebh6fyjyrr1vsjregw6yz8y | tt2 | Eric Cartman (Angry) | 2023-08-18 22:17:34 | NULL | NULL | 220012 |
| weight_mbcr352wfb1eq76tpy3ef3kx1 | tt2 | Lionel Messi | 2022-09-08 22:50:12 | NULL | NULL | 193128 |
| weight_31ewdsvev9bttgb4eg7zy7mj5 | tt2 | Morgan Freeman (New) | 2023-09-08 05:20:34 | NULL | NULL | 189755 |
| weight_t7a4br08b76btnnwkb32tsh7q | tt2 | Cristiano Ronaldo. (Español) Versión 2. | 2023-10-05 15:12:04 | NULL | NULL | 180499 |
| weight_fte9rq3em7vv9rqex0f8cvwdx | tt2 | Mariano Closs Tono Alto (Relator Fox Sports, Espn) | 2022-07-16 02:09:31 | NULL | NULL | 177236 |
| weight_kksrk14y802808as3d6mphedm | tt2 | Wednesday Addams (Jenna Ortega) | 2023-03-06 21:22:52 | NULL | NULL | 161520 |
| weight_zyadhwrc3bspetkxcma5300gs | tt2 | Peter Griffin (Classic, Version 2.0) | 2023-01-26 05:24:39 | NULL | NULL | 150694 |
| weight_r95f5pvvstgps0ychfqrzpfs3 | tt2 | Dragonball Z Narrador (Latin, Versión 2.0) | 2023-02-04 11:21:06 | NULL | NULL | 146141 |
| weight_3k28fws0v6r1ke3p0w0vw48gm | tt2 | Eric Cartman (New) | 2023-08-18 22:18:12 | NULL | NULL | 144175 |
| weight_0cg1294gaf52c7rh0vz7a2ger | tt2 | Stan Lee | 2021-08-17 10:56:25 | NULL | NULL | 133422 |
| weight_81waz0re2yzgw2fnmj0ah94zc | tt2 | Leonel Messi (Español) | 2022-06-05 13:31:20 | NULL | NULL | 129950 |
| weight_jzs5qmvtbvk934680ghfp48cf | tt2 | Homero Simpson (Homer Simpson Latin American Spanish) | 2022-12-25 14:52:16 | NULL | NULL | 129133 |
| weight_35ts2r0y8zkxzka82qh2jtr9h | sd_1.5 | Clarity 3 (Best Base Model) | 2024-02-18 22:28:46 | NULL | NULL | 122394 |
| weight_0bsxzrwp6p77t67s8dcn607wf | tt2 | Walter White (New) | 2022-12-13 07:35:03 | NULL | NULL | 118258 |
| weight_47hcjvnyfff60g4vty4thp400 | tt2 | Bob Esponja (SpongeBob SquarePants, Latin American Spanish) | 2022-02-13 01:55:52 | NULL | NULL | 115011 |
| weight_9409hbznp60n6w7ey9f6qw5bh | tt2 | Jar Jar Binks | 2023-05-26 22:08:02 | NULL | NULL | 105357 |
| weight_tq6pwerrbr4mvbjmtyhbsqe6t | tt2 | Spongebob SquarePants (New) | 2023-04-01 10:47:13 | NULL | NULL | 98595 |
| weight_x6r5w2tsxgcrrsgweva6dkrqj | tt2 | Donald Trump (Angry) | 2022-08-29 11:49:46 | NULL | NULL | 92875 |
| weight_62nh7prayvcnevbg2hq5qp1r8 | tt2 | Jesse Pinkman (New) | 2023-09-27 20:34:33 | NULL | NULL | 92259 |
| weight_f4av238kbadw9h258v1cq1mxw | tt2 | Saul Goodman | 2022-09-10 13:30:24 | NULL | NULL | 84818 |
| weight_ren3ng1bvpktsvg58gcrv2s52 | tt2 | Cristiano Ronaldo | 2023-02-18 17:16:22 | NULL | NULL | 83957 |
| weight_qnn4ns4r2a8x5abgb6fdg7tyz | tt2 | Homer Simpson (New) | 2023-12-04 20:58:48 | NULL | NULL | 75059 |
| weight_nzmwdhg42r8m6raap258mb55p | tt2 | Meg Griffin (Mila Kunis) | 2021-12-12 21:05:49 | NULL | NULL | 73956 |
| weight_79nve5ntc03rd2k5532je1rf6 | tt2 | Fluttershy. (Remasterizada) (Latin American Spanish, My Little Pony.) | 2023-10-23 23:43:11 | NULL | NULL | 73700 |
| weight_ms1kzt5m09cfw1yn666cxhy88 | tt2 | Gerry Scotti | 2022-09-29 22:14:26 | NULL | NULL | 72964 |
| weight_s0zjjkmht28dp4gm83e6xvjdk | tt2 | Auronplay (época de YouTube) | 2022-06-14 15:59:00 | NULL | NULL | 72813 |
| weight_vbz0wq7wkv80casj3vfptrrpg | sd_1.5 | Aniverse V15 Pruned | 2024-02-29 19:49:52 | NULL | NULL | 69564 |
| weight_1f7xnr358bkrhtx8y0v9cbfr6 | tt2 | Lionel Messi. (Español 2020 - 2023.) | 2023-09-28 20:02:33 | NULL | NULL | 69112 |
| weight_pttvmv1z6ppddypx37z1e8ptj | tt2 | Mike Ehrmantraut (New) | 2023-08-13 03:35:16 | NULL | NULL | 68980 |
| weight_79mn6535kkfey17bgpg9xty23 | tt2 | Doc Tops (Dr. Luca Merlini) | 2022-04-08 00:22:00 | NULL | NULL | 68632 |
| weight_vcvr8zmz7sa6byzsze7rbqfh6 | rvc_v2 | "Aquamarine" Aqua Hoshino (Oshi No Ko) | 2023-12-18 13:26:55 | NULL | NULL | 68581 |
| weight_3dnyrwny7d4585pcfjdrghxsq | tt2 | Gustavo Fring (Giancarlo Esposito) | 2022-10-14 21:20:08 | NULL | NULL | 68175 |
| weight_abe03ym9bztnzvx462kkc3fak | tt2 | Merlina Addams | 2023-01-30 01:20:47 | NULL | NULL | 67616 |
| weight_wzp5nb29078wdnadg2aep4m8k | rvc_v2 | "Android No.21" [JPN - DBFZ] | 2023-10-23 04:25:53 | 2024-02-16 17:56:39 | NULL | 65153 |
| weight_vrx7j407cxk45jenkrd769h9b | tt2 | Donald Trump (Casual Speech) | 2022-09-05 01:56:36 | NULL | NULL | 63223 |
| weight_y9arhnd7wjamezhqd27ksvmaz | tt2 | Squidward Tentacles | 2021-10-30 15:21:53 | NULL | NULL | 63061 |
| weight_s4bmmamst4a7ca2pg7tc52zwx | tt2 | Goku (Jose Antonio Gavira) (Castillian Spanish) | 2022-09-18 15:09:32 | NULL | NULL | 61928 |
| weight_bc0tjv6fs7c1ccrtw8mbwxay5 | tt2 | Sir David Attenborough (Version 2.0) | 2023-07-05 13:43:53 | NULL | NULL | 61261 |
| weight_jephx9sjmwzc7t4x29jsw88jg | tt2 | Mike Rome | 2023-08-19 08:55:25 | NULL | NULL | 59687 |
| weight_154man2fzg19nrtc15drner7t | tt2 | Patrick Star | 2021-09-21 18:30:52 | NULL | NULL | 59674 |
| weight_cg6heneq0rmkas3qj7ccz0t0r | tt2 | Donald Trump (Version 3.0) | 2023-09-12 05:09:33 | NULL | NULL | 55991 |
| weight_yqexh77ntqyawzgh9fzash798 | sd_1.5 | Flat2D Animerge v3 | 2024-02-28 21:00:43 | NULL | NULL | 54861 |
| weight_ytna28rq62as8t5zb0qtpf3p6 | tt2 | Homero Simpson Español Latino (Clasico) | 2023-01-20 23:43:12 | NULL | NULL | 54697 |
| weight_x59j84hsy4zf8zj1rta0f2c0a | tt2 | Toretto (Fast and Furious, Latin American Spanish) | 2022-02-13 14:38:55 | NULL | NULL | 53181 |
| weight_m7ns3pee2hze7r5hs3c1c5ew3 | tt2 | Fernanfloo. (Modelo más expresivo.) (Latin American Spanish.) | 2023-01-02 00:16:04 | NULL | NULL | 51191 |
| weight_7nkrya6jq2gdmhvzvhwe6565a | tt2 | Baldi (Baldi Basics Education And Learning) | 2022-10-07 13:37:12 | NULL | NULL | 49977 |
| weight_kfc9kqm18k4jc3q2j3acdzj1a | tt2 | Waldemaro Martienez (Locutor) | 2022-12-08 15:59:55 | NULL | NULL | 49856 |
| weight_828jq9waqx5g9dzp7gr6a2a1p | tt2 | Kanye West (V4) | 2022-10-09 00:18:56 | NULL | NULL | 48616 |
-- (WIP) Find top model weights by usage. This supports old-format TTS tokens.
SELECT
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at,
count(*) as use_count
FROM model_weights as mw
JOIN (
select
coalesce(w.token, w_migrated.token) as token
from media_files as f
left outer join model_weights as w
on f.maybe_origin_model_token = w.token
left outer join model_weights as w_migrated
on f.maybe_origin_model_token = w_migrated.maybe_migration_old_model_token
where f.created_at > NOW() - INTERVAL 3 DAY
) as x
on mw.token = x.token
group by
mw.token,
mw.weights_type,
mw.title,
mw.created_at,
mw.user_deleted_at,
mw.mod_deleted_at
order by use_count desc
limit 100;
mysql> select count(*) from tts_results;
+-----------+
| count(*) |
+-----------+
| 192830507 | -- 192,830,507
+-----------+
1 row in set (8 min 47.22 sec)
mysql> select count(*) from media_files;
+----------+
| count(*) |
+----------+
| 40057845 | -- 40,057,845 (sept 1st, 2024)
+----------+
1 row in set (36.59 sec)
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,33 @@
-- Select popular models without streamer usage distorting the totals
select
mw.token,
mw.title,
count(*) as use_count
from generic_inference_jobs as gij
left outer join model_weights as mw
on gij.maybe_model_token = mw.token
where gij.maybe_creator_user_token NOT IN (
-- This subquery returns streamers that generated over a certain threshold number of results
select
user_token
from (
select
u.token as user_token,
count(*) as generations
from generic_inference_jobs as gij
join users as u
on gij.maybe_creator_user_token = u.token
where gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
and gij.maybe_creator_user_token is not null
group by user_token
order by generations desc
) as top_users
where top_users.generations > 1000
)
and gij.created_at >= (CURDATE() - INTERVAL 5 DAY)
group by mw.token, mw.title
order by use_count desc
limit 100;

Some files were not shown because too many files have changed in this diff Show More