* feat(Player.ts): append `cver` to deciphered URLs
* refactor(Actions.ts): remove redundant `getVideoInfo` function
This is leftover code from previous versions. It had many problems and it is no longer required.
* fix(Kids.ts): remove unneeded `await` keywords
* dev: add more endpoints
* chore: update deps
* refactor: separate endpoints into files
* dev: improve types
* dev: add more endpoints
* refactor: put clients in a separate directory inside `core`
* chore: lint
* refactor: move mixins and managers to separate folders
* chore: fix tests
* dev: add `CreateVideoEndpoint`
* chore: clean up
* chore: lint
* chore: add some comments
* chore: remove unnecessary test
* dev: add `playlist/CreateEndpoint`
* dev: add `playlist/DeleteEndpoint`
* dev: add `browse/EditPlaylistEndpoint`
* fix(parser): add a few checks to avoid parsing errors
* refactor!: cleanup platform support
* chore: lint
* fix: web platform
* feat: provide UniversalCache
Provide UniversalCache as a wrapper around Platform.shim.Cache.
* fix: invalid import
* refactor: remove isolated-vm support
* fix: type info
* refactor: cleanup exports
* fix: mark jintr as external dependency
In the bundled CJS node build, mark jintr as external.
* chore: add additional exports
web exports provide a way to select web implementation manually without
relying on the bundler to select it correctly from the "exports" field
web points to src/platform/web.js
web.bundle points to bundle/browser.js
web.bundle.browser points to bundle/browser.min.js
agnostic exports provide users of the library to provide their own
platform implementation without first importing the default one.
agnostic points to src/platform/lib.ts
* fix: toDash on web
* revert: eval is synchronous
* fix: use serializeDOM in FormatUtils
* ci: automate releases with `release-please`
* chore: clean up workflow files
* ci: fix NPM publish action
---------
Co-authored-by: LuanRT <luan.lrt4@gmail.com>
* dev: add `WEB_KIDS` innertube client
* refactor: move DASH manifest stuff out of `VideoInfo`
This makes it easier to use these functions elsewhere.
* feat(ytkids): add `Kids#getInfo()` & `Kids#search()`
* feat: add `Innertube#kids.getHomeFeed()`
* docs: add YouTube Kids API ref
* docs: fix typo
* docs: fix yet another typo
* docs: update YouTube Music API ref
Unrelated but required to reflect changes made to the DASH manifest generation functions
* chore: lint
* chore: add tests
* feat: include `captions` in `VideoInfo`
* chore: fix tests
* feat: add `TV_EMBEDDED` client
See #191, this should help bypassing some age restricted videos.
* dev(VideoInfo): update format options interface
* dev: set `clientScreen` to `EMBED`
* dev: update API ref
* dev: update `Context` interface
* chore: add video upload url
* feat!: add support for uploading videos
This is probably complete but I will do a self-review later today.
* style: align comments
* style: lint code
* chore: tidy things up
* feat: add support for protobuf payloads to `Actions#execute()`
* chore: compile proto definitions file
* feat(wip): add `Studio` class and implement `Studio#setThumbnail()` method
* fix: check if parameters are missing