jasper-plugin-sdk 0.4.1

Jasper plugin SDK: ABI glue (plugin_dispatch/host_call), typed host wrappers, storage trait, notes/ai + system.locale host APIs, editor.transform slot (spec 0.4)
Documentation
[package]
name = "jasper-plugin-sdk"
version = "0.4.1"
edition = "2021"
description = "Jasper plugin SDK: ABI glue (plugin_dispatch/host_call), typed host wrappers, storage trait, notes/ai + system.locale host APIs, editor.transform slot (spec 0.4)"
license = "MIT OR Apache-2.0"
repository = "https://github.com/jasper-note/jasper"
readme = "README.md"
keywords = ["jasper", "joplin", "plugin", "wasm", "sdk"]
categories = ["wasm", "api-bindings"]

[dependencies]
# path+version 双写:本地开发走 path,crates.io 发布走 version(minor 对齐 spec apiVersion)
jasper-core = { path = "../core", version = "0.4", features = ["serde"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
base64 = "0.22"

# jasper-core 依赖 getrandom;wasmi 沙箱既无系统熵源也无 JS 环境,
# 用 custom 后端注册一个报错实现让 wasm32-unknown-unknown 编译通过(见 lib.rs rand_shim)。
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2", features = ["custom"] }

# native-host:测试用宿主替身(http.request 走 ureq;见 native_host.rs 顶注)。
# 只影响 native 测试构建,wasm 产物零变化。
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
ureq = { version = "2", optional = true }

[features]
native-host = ["dep:ureq"]