Package ai.confiqure

Annotation Type Confiqure.ToolGate

Enclosing class:
Confiqure

@Target(TYPE) @Retention(RUNTIME) @Repeatable(ToolGates.class) public static @interface Confiqure.ToolGate
Declarative flow gate on a host tool, declared on the endpoint (root) class: the named tool is only dispatchable while the requires() predicate is true over the bound instance's current values. This enforces call-ordering rules ("never call the analyser before the credentials are set") without the model having to remember them. Repeatable — declare one per gated tool. Predicate grammar and semantics are identical to Confiqure.Gate.
 @Confiqure(end = "/suppliers", tools = {"SUPPLIER_SITE_ANALYSER"})
 @Confiqure.ToolGate(tool     = "SUPPLIER_SITE_ANALYSER",
                     requires = "siteUrl != null && credentialsVerified == true",
                     message  = "I need a verified site URL before I can run the analysis.")
 public class SupplierConfig { ... }
 
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Predicate (see Confiqure.Gate) that must hold over the bound instance before the tool may be dispatched.
    The tool name (as referenced in Confiqure.tools()) this gate governs.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Optional coaching shown to the conversation when the tool gate blocks a dispatch.
  • Element Details

    • tool

      String tool
      The tool name (as referenced in Confiqure.tools()) this gate governs.
    • requires

      String requires
      Predicate (see Confiqure.Gate) that must hold over the bound instance before the tool may be dispatched.
    • message

      String message
      Optional coaching shown to the conversation when the tool gate blocks a dispatch. Defaults to the predicate text.
      Default:
      ""