Linux 软件免费装
Banner图

Tessera for the Abilities API

开发者 ibrahimhajjaj
更新时间 2026年5月12日 22:20
PHP版本: 8.1 及以上
WordPress版本: 6.9
版权: GPLv2 or later
版权网址: 版权信息

标签

audit safety rollback mcp abilities-api

下载

1.3.4 1.3.5

详情介绍:

Tessera is a developer library for plugin authors who register abilities via wp_register_ability() and want snapshot capture, audit logging, approval workflows, and one-click rollback for every invocation across REST, MCP, internal PHP, and WP-CLI without building it themselves. Declare what state your ability touches; Tessera handles the safety wrapper. What you get out of the box Surfaces Example wp_register_ability( 'my-plugin/update-product-price', array( 'label' => 'Update product price', 'description' => 'Updates the price on a WooCommerce product.', 'category' => 'woocommerce', 'input_schema' => array( /* ... */ ), 'permission_callback' => fn() => current_user_can( 'manage_woocommerce' ), 'execute_callback' => fn( $args ) => update_post_meta( $args['product_id'], '_price', $args['price'] ), 'safety' => array( 'destructive' => true, 'requires_approval' => false, 'snapshot' => fn( $input ) => array( 'post_meta' => array( $input['product_id'] => array( '_price', '_regular_price' ) ), 'options' => array( 'woocommerce_last_price_change' ), ), ), ) ); Documentation Full plugin-author documentation lives at the GitHub repo: https://github.com/ibrahimhajjaj/abilityguard

安装:

  1. Upload the abilityguard-mcp folder to /wp-content/plugins/.
  2. Activate the plugin through the Plugins menu in WordPress (or network-activate on multisite).
  3. Visit Tools > Tessera to view the audit log.
  4. In your own plugin, register abilities via wp_register_ability() with a safety config.
Requires WordPress 6.9 or later (for the Abilities API) and PHP 8.1 or later.

屏幕截图:

  • Approvals queue. Pending requests waiting on a human, with the requesting context and a one-click approve or reject.
  • Invocation detail after a one-click rollback restored the captured pre-state.
  • Search-as-you-type in the log: ability name, caller, status.
  • Invocation detail, result tab, with redacted secret values restored on display when the encryption key is present.
  • Snapshot drawer showing the captured pre-state and post-state for a destructive invocation.
  • Multi-stage approval chain with per-stage capability and role routing.

常见问题:

Does this work without other plugins?

It will activate without registered abilities, but it only does work when other plugins register abilities with a safety config via wp_register_ability().

What state surfaces are supported for snapshots?

post_meta, options, taxonomy term assignments, user roles + caps, and files (with five tiered strategies from mtime to full content rollback).

Does it support multisite?

Yes. Each subsite gets its own set of wp_<N>_abilityguard_* tables. New subsites are auto-installed via wp_initialize_site; deleted subsites have their tables dropped via wpmu_drop_tables.

How does it handle concurrent invocations?

Per-surface MySQL advisory locks (GET_LOCK) serialise capture + execute so simultaneous invocations do not capture each other's mid-states.

Are secrets encrypted in the log?

Yes. Redaction uses AES-256-GCM envelopes so rollback can still restore the original value when the encryption key is intact.

更新日志:

1.3.5 1.3.4 1.3.3 1.3.2 1.3.1 1.3.0 1.2.0 1.1.0 1.0.0