HonuaPluginRegistry never imports first-party protocol wiring, and SDK
core never imports the plugin SDK: this file is the seam between them,
kept in src/plugin (not src/contract) precisely so that importing
@honua/sdk-js/contract never pulls plugin-manifest machinery into a
consumer's bundle. It packages pmtilesProtocolModule()
(src/contract/pmtiles.ts) — the exact factory pmtilesSource() uses
internally to build Source.protocol("pmtiles") — as a certifiable
HonuaPluginFactory<"protocol">. Registering it through
HonuaPluginRegistry and calling pmtilesSource() both end up
constructing the archive adapter through the identical ProtocolModule
seam, which is what proves the built-in carries no special registry
privilege over an out-of-tree module (see
test/plugin-pmtiles-protocol-seam.test.ts).
First-party PMTiles
protocolplugin (issue #538).HonuaPluginRegistrynever imports first-party protocol wiring, and SDK core never imports the plugin SDK: this file is the seam between them, kept insrc/plugin(notsrc/contract) precisely so that importing@honua/sdk-js/contractnever pulls plugin-manifest machinery into a consumer's bundle. It packagespmtilesProtocolModule()(src/contract/pmtiles.ts) — the exact factorypmtilesSource()uses internally to buildSource.protocol("pmtiles")— as a certifiableHonuaPluginFactory<"protocol">. Registering it throughHonuaPluginRegistryand callingpmtilesSource()both end up constructing the archive adapter through the identicalProtocolModuleseam, which is what proves the built-in carries no special registry privilege over an out-of-tree module (seetest/plugin-pmtiles-protocol-seam.test.ts).