Skip to content

Documentation Gaps

When to Use

Use this guide when the official documentation doesn't match actual behavior. These gaps were identified by comparing official docs to source code through 1.4.2. New in 1.4.0-rc1 and not yet in official docs: ChatProcessor plugin system, global guardrails, and AiExceptionEvent. New in 1.4.2: ai_file entity, ai.file_manager, AiFileProviderInterface, ChatWithPdf capability, restrict_to_topic guardrail, and StreamableGuardrailInterface.

Core Module

Gap Covered In
ProviderProxy wrapping pattern Core Architecture
Guardrails system developer guide Guardrails System
Short-term memory plugin system Short-Term Memory
AiDataTypeConverter plugin system — (undocumented)
Prompt config entity system (ai.ai_prompt) Prompt System
ai.text_chunker service — (undocumented)
ChatProcessor plugin type (1.4) Core Architecture
AiExceptionEvent (1.4) Events System
Global guardrails in ai.settings (1.4) Guardrails System
ai_file content entity (1.4.2) Core Architecture
ai.file_manager service (1.4.2) Core Architecture, Operation Types
AiFileProviderInterface (1.4.2) Provider System
ChatWithPdf capability (1.4.2) Enums & DTOs, Operation Types
StreamableGuardrailInterface (1.4.2) Guardrails System
restrict_to_topic guardrail (1.4.2) Guardrails System

ai_assistant_api

Gap Covered In
use_function_calling mode (tool calls vs JSON-in-prompt) AI Assistant API
AgentRunner path (assistant delegates to ai_agents) AI Agents
setVerboseMode(), setThrowException() AI Assistant API
AiAssistantPassContextToAgentEvent AI Assistant API

ai_chatbot

Gap Covered In
Full POST payload schema for /api/deepchat AI Chatbot
should_continue protocol for tool-call round-trips AI Chatbot
verbose_mode, show_copy_icon, show_structured_results block settings AI Chatbot
hook_deepchat_prepend_message AI Chatbot

ai_automators

Gap Covered In
AutomatorsTool entity and function-calling integration AI Automators
All 4 events (AutomatorConfigEvent, etc.) AI Automators
Full 52-plugin inventory AI Automators
$settings['ai_automator_advanced_mode_enabled'] AI Automators

ai_ckeditor

Gap Covered In
module_dependencies silencing mechanism AI CKEditor
AiAutomatorsCKEditor cross-module plugin AI CKEditor
Global ai_ckeditor.settings prompts config AI CKEditor
Gap Covered In
include_raw_embedding_vector feature AI Search
search_api_ai_get_chunks_result query option AI Search
AiVdbProviderSearchApiInterface requirements AI Search

ai_translate

Gap Covered In
Drush commands (ai:translate-entity, ai:translate-text) AI Translate
hook_ai_translate_translation_alter AI Translate
Layout Builder translation integration AI Translate
ChatTranslationProvider plugin AI Translate

ai_observability

Gap Covered In
All config settings AI Observability
AiObservabilityUtils AI Observability
OpenTelemetry spans and metrics AI Observability
fallback_log_message_mode config option AI Observability

ai_validations

Gap Covered In
XTRUE/XFALSE protocol (critical) AI Validations
Image classification is deny-list (not allow-list) AI Validations

field_widget_actions

Gap Covered In
FieldWidgetFormActionBase modal pattern Field Widget Actions
FillEditorCommand/FillSimpleFieldCommand Field Widget Actions
Config Action for Recipes pattern Field Widget Actions

ai_eca

Gap Note
Docs describe a working module Actual code is a deprecated migration stub

ai_logging

Gap Note
prompt_logging_excluded_tags undocumented Covered in AI Logging
Deprecation notice missing from docs Module is deprecated; use ai_observability

See Also

  • Reference: https://project.pages.drupalcode.org/ai/1.3.x/
  • Reference: https://git.drupalcode.org/project/ai