Package ai.confiqure

Annotation Type Confiqure.Protect

Enclosing class:
Confiqure

@Target(TYPE) @Retention(RUNTIME) public static @interface Confiqure.Protect
Opts a type = MULTI configuration class OUT of chat deletion. By default a MULTI endpoint's saved instances can be deleted from chat — the user asks, the engine shows a direct-bind confirmation card, and only the user's click disposes (soft-delete; the data is staff-recoverable, and your application is notified via the config.deleted / config.bulk_deleted lifecycle webhooks). Add @Confiqure.Protect to a class whose instances must NEVER be chat-deletable — audit logs, immutable records, anything whose removal should only ever happen through your own application:
 @Confiqure(end = "/audit-entries", type = Confiqure.Type.MULTI)
 @Confiqure.Protect
 public class AuditEntry { ... }
 

SINGLE endpoints are never chat-deletable regardless (a SINGLE record is reset by reconfiguring it, not deleted), so @Protect is meaningful only on MULTI classes. The opt-out is capability-level and composes with Confiqure.ToolGate on nf_delete (the conditional layer — "deletable, but not while an analysis is running"). Adding or removing @Protect takes effect on the class's next push; existing saved instances are unaffected by the annotation itself.