Minimal storage contract this module needs. Deliberately a subset of
@ifc-lite/plugin-api's KeyValueStore (same method names/signatures) so
a provider can hand its ctx.storage straight through without an adapter —
but this package does not depend on @ifc-lite/plugin-api, so it stays
usable by a host or provider that has never heard of the plugin contract.
Where tokens end up living is a decision the caller makes by choosing
what to pass here — see the package README for the trade-off this module
deliberately does not resolve on the caller's behalf.
Minimal storage contract this module needs. Deliberately a subset of
@ifc-lite/plugin-api'sKeyValueStore(same method names/signatures) so a provider can hand itsctx.storagestraight through without an adapter — but this package does not depend on@ifc-lite/plugin-api, so it stays usable by a host or provider that has never heard of the plugin contract.Where tokens end up living is a decision the caller makes by choosing what to pass here — see the package README for the trade-off this module deliberately does not resolve on the caller's behalf.