# Phase 06 #23 example — capability-use plugin. # # Demonstrates multiple capabilities working together inside a single # hook handler: # - http.outbound for a webhook call (restricted to hooks.slack.com) # - storage.read to look up the tenant's per-user channel mapping # - log for structured tracing throughout # Each host-fn call gets one row in PluginCapabilityUse, so the tenant # admin's audit-trail page surfaces exactly what this plugin did per # invocation. schemaVersion = 1 id = "de.toolctrl.examples.capability-use" version = "0.1.0" name = "Capability-Use Demo" description = "Calls http.outbound + storage.read + log on every invocation. Exercises the audit trail." entry = "plugin.wasm" wasmSha256 = "0000000000000000000000000000000000000000000000000000000000000000" signature = "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" signedBy = "0000000000000000000000000000000000000000000000000000000000000000" allowedHosts = ["hooks.slack.com"] [[capabilities]] name = "log" [[capabilities]] name = "storage.read" [[capabilities]] name = "http.outbound" scope = { allowedHosts = ["hooks.slack.com"] } [[hooks]] name = "entity.created" export = "handleEntityCreated"