JavaScript Plugin Loader

Loads TurboDL plugins written in JavaScript. One QuickJS runtime and context per script, a stable `host`/`plugin` ABI, and a load/unload sequence that never closes a runtime while its script is still executing.

loader.jsturbodl-loaderdev.turbodl.cap.jsdev.turbodl.cap.quickjs

Manifest

FieldValue
Idloader.js
Categoryturbodl-loader
Protocols—
Capabilitiesdev.turbodl.cap.js dev.turbodl.cap.quickjs
Artifactdev.turbodl:turbo-plugin-js:0.2.2.0
API version1.0.0
Sourceturbo-plugin-js
Manifestturbodl-plugin.json

Explicitly refused

  • Registering a `DownloadBackend` (the byte plane stays in Kotlin)
  • Publishing a service (a service is a Kotlin object graph)
  • `require` / npm / `fetch` — the host ABI is the entire surface
  • `jar:` or remote script sources (local file / `inline:` / `data:` only, for now)
A script computes URLs, headers and signatures; it never streams download data. That boundary is what keeps a script from becoming a bandwidth bottleneck.

Source

Read it in the repository — the manifest above is generated from the file itself.