Types come from the contract, values from the host. A bundle’s module graph holds no editor code: everything it touches at run time arrives through the host object handed to activate. Every id it registers starts with its manifest id, every door it uses must be declared in its manifest, and everything it registers is tracked — disposing a bundle leaves the editor as it found it.
The plugin SDK is licensed MPL-2.0 OR PMEL — deliberately more permissive than the AGPL editor, so a plugin built on it can carry any license you choose.