Dynamic families added to the ABI + guest SDK: - provisioner.* (14 methods, 1:1 plugin.Provisioner): wasm provisioning was silently dead (RegisterWithProvisioner got a noopProvisioner and the cms loader ignored has_provisioner). Now a LOAD-TIME capability via the new CoreServices.Provisioner field; EnsureEmbed rejects RenderFunc-only embeds. - content.* writes (content.Author + CoreServices.ContentAuthor): create_page, set_page_blocks, publish_page, set_page_seo, upsert_post. - settings.update_plugin_settings (settings.Updater grows the method). - bridge.invoke + plugin.BridgeInvokable: opaque-payload cross-plugin calls (typed GetService still returns nil across the sandbox by design). - jobs.progress: HOOK_JOB handlers' progress() now crosses (was discarded). New host→guest hooks: HOOK_AI_TOOL_CALL (executes recorded ai.ToolDefinition handlers — registers tools in Register so every pooled instance has them), HOOK_BRIDGE_CALL, HOOK_DIRECTORY_PANEL_SECTION, HOOK_DIRECTORY_PIN_DECORATOR. The ai/bridge stubs now record handlers/values locally in addition to forwarding names. buf breaking clean (additive within ABI major 1); golden round-trips added for the new families (cms host replays the same goldens). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
BlockNinja Plugin SDK
Types, interfaces, and utilities for building BlockNinja plugins.
Package Structure
| Package | Purpose |
|---|---|
plugin/ |
PluginRegistration, CoreServices, RegisterFunc |
blocks/ |
BlockMeta, BlockFunc, BlockRegistry interface, BlockContext |
blocks/builtin/ |
Reusable block implementations (HTMLBlock) |
templates/ |
TemplateRegistry interface |
templates/bn/ |
Shared templ components (head, engagement, toolbar) |
auth/ |
Claims types, context extractors |
content/ |
Content access interface |
settings/ |
Settings access interface |
gating/ |
Access gating evaluation |
crypto/ |
Encrypt/Decrypt interface |
render/ |
Rich text rendering utilities |
video/ |
Video embed URL parsing |
ai/ |
AI tool registry interface and types |
rbac/ |
Role type definition |
Usage
import "git.dev.alexdunmow.com/ninja/core/plugin"
Description
Languages
Go
83.5%
templ
15.5%
Makefile
1%