Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: ECA: Event - Condition - Action 3.1.8 Minor update available for module eca (3.1.8). Release: Kordiam 1.0.14 Minor update available for module kordiam (1.0.14). Release: WissKI 8.x-4.4 Minor update available for module wisski (8.x-4.4). Release: AI Empathy Evaluation 1.3.0 Minor update available for module ai_empathy (1.3.0). Release: Zefix 1.0.5 Minor update available for module zefix (1.0.5). Release: Ui Suite Dsfr 1.15.2 Minor update available for theme ui_suite_dsfr (1.15.2). Release: Behat javascript 1.2.0 Minor update available for module behat_javascript (1.2.0). Release: Canvas Map 1.0.1 Minor update available for module canvas_map (1.0.1). Usage Milestone: Term CSV Export Import Module term_csv_export_import crossed 1,000 active installs. Module Revived: Behat javascript 1.2.1 Module behat_javascript updated after 23 months of inactivity (1.2.1).

AI Agents Canvas Direct Edit

No security coverage

Part of the AI ecosystem · 302 projects

View on drupal.org

This module allows for direct, deterministic edits to Canvas components without using AI. It reads your theme's component schemas to resolve changes like "set the color to blue" or "bigger" with high accuracy. Any edits that cannot be resolved directly are then passed to the AI agent system.

When users make simple changes to Canvas components ("set the color to blue," "change the heading to Welcome"), the correct result is deterministic. The prop name and value can be resolved directly from the SDC component schema without any AI reasoning.

This module does exactly that. It reads your theme's component YAML schemas, builds prop alias and enum value maps, and resolves edits through seven match tiers:

  • Exact and alias matches: "set text_color to primary" or "set the color to blue"
  • Bare value inference: Just "blue" resolves to the correct prop when unambiguous
  • Relative adjustments: "bigger" or "smaller" navigates enum ordinals
  • Boolean toggles: "show the header" or "hide the footer"
  • Reset patterns: "reset the color" returns the prop to its default
  • Compound edits: "change the heading to Welcome and set the color to blue"

Anything the matcher can't resolve with certainty gets a 422 response, routing the request to the existing AI agent chain. Zero false positives by design.

Key features

  • 8 Tool API plugins with automatic MCP, CLI, and AI agent discovery
  • HTTP bridge controller at the same endpoint the Canvas frontend already calls
  • Optional MCP server submodule (JSON-RPC 2.0) for external clients
  • Schema-driven: adapts automatically when theme components change
  • Config-driven verb and alias lists for customization without patching
  • Opt-in telemetry with PII-safe defaults (SHA-256 hashing, no raw text storage)
  • Works without AI providers configured (Canvas Direct mode: deterministic edits succeed, unmatched edits return 503 instead of routing to AI)

Measured results

All measurements on a 15-component demo page:

  • Deterministic path: 0 tokens, <7ms
  • AI baseline: ~101K tokens, 16.4s
  • Hit rate: 60% on 20 mixed edits, zero false positives

59 kernel tests, 221 assertions. PHPCS clean (Drupal + DrupalPractice).

Requires: AI Agents, Tool, Canvas.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
3
Tracked since
Apr 2026
Latest release
2 months ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
1.0.0-alpha2 Pre-release 10–11 Jun 25, 2026
1.0.x-dev Dev 10–11 Apr 1, 2026
1.0.0-alpha1 Pre-release 10–11 Apr 1, 2026