Add decision operation types to support Jev and other Decision models

Description

Inspired by https://www.drupal.org/project/ai_decision/issues/3624944

Integrate Decision type models into AI Core

Adds DecisionInput / DecisionOutput classes etc.. for new base classes for "Decision Models", To be used by AI Providers like https://www.drupal.org/project/ai_provider_typesafeai .. which models including Jev do not output text like most LLMs, but output "Decisions" in the form of structured json with probabilities.

  • Add Decision operation types
  • Discover attributed operation types in enabled modules
  • Let operations own their guardrail semantics, and share LLM-guardrail recursion state
  • Record module that ai_automator config depends on that provides its rule
  • Do not evaluate model capabilities a model provider doesn't support
  • Let an operation type validate input before pre-generation events

AI Compliance

Developed with Fable 5.1, ChatGPT Astra, and Opus 5.5

Note

Check the one that best describes your usage, or leave all unchecked if AI was not significantly used.

  • Vibe Coded
    Generated by AI and only functionally reviewed before this MR was created.
  • AI Generated Code
    Mainly generated by AI, reviewed and approved by a human before this MR was created.

Closes #3586751 #3586758 (closed) #3586759 (closed) #3586760 #3586761 #3586762 (closed)

Edited by Mark Hanna

Merge request reports

Loading
Loading