Package ai.confiqure
Annotation Type Confiqure.Protect
- Enclosing class:
Confiqure
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.