fleet-memory/hindsight-clients/go/model_mental_model_trigger_input.go
Nicolò Boschi 2c32ffadc9
fix(mental-models): add tags_match and tag_groups to trigger config (#786) (#804)
When a mental model has tags, refresh_mental_model hardcoded
tags_match="all_strict", causing empty results when most memories
are untagged. Add configurable tags_match and tag_groups fields
to MentalModelTrigger so users can control refresh filtering.

- Add tags_match (any/all/any_strict/all_strict) to override default
- Add tag_groups for compound boolean tag expressions during refresh
- Default behavior unchanged (all_strict when tags present)
- Update both refresh paths (task-based and direct)
- Add UI controls in Create/Update mental model dialogs
- Regenerate OpenAPI spec and client SDKs
2026-03-31 18:09:01 +02:00

329 lines
11 KiB
Go

/*
Hindsight HTTP API
HTTP API for Hindsight
API version: 0.4.21
*/
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
package hindsight
import (
"encoding/json"
)
// checks if the MentalModelTriggerInput type satisfies the MappedNullable interface at compile time
var _ MappedNullable = &MentalModelTriggerInput{}
// MentalModelTriggerInput Trigger settings for a mental model.
type MentalModelTriggerInput struct {
// If true, refresh this mental model after observations consolidation (real-time mode)
RefreshAfterConsolidation *bool `json:"refresh_after_consolidation,omitempty"`
FactTypes []string `json:"fact_types,omitempty"`
// If true, exclude all mental models from the reflect loop (skip search_mental_models tool).
ExcludeMentalModels *bool `json:"exclude_mental_models,omitempty"`
ExcludeMentalModelIds []string `json:"exclude_mental_model_ids,omitempty"`
TagsMatch NullableString `json:"tags_match,omitempty"`
TagGroups []MentalModelTriggerInputTagGroupsInner `json:"tag_groups,omitempty"`
}
// NewMentalModelTriggerInput instantiates a new MentalModelTriggerInput object
// This constructor will assign default values to properties that have it defined,
// and makes sure properties required by API are set, but the set of arguments
// will change when the set of required properties is changed
func NewMentalModelTriggerInput() *MentalModelTriggerInput {
this := MentalModelTriggerInput{}
var refreshAfterConsolidation bool = false
this.RefreshAfterConsolidation = &refreshAfterConsolidation
var excludeMentalModels bool = false
this.ExcludeMentalModels = &excludeMentalModels
return &this
}
// NewMentalModelTriggerInputWithDefaults instantiates a new MentalModelTriggerInput object
// This constructor will only assign default values to properties that have it defined,
// but it doesn't guarantee that properties required by API are set
func NewMentalModelTriggerInputWithDefaults() *MentalModelTriggerInput {
this := MentalModelTriggerInput{}
var refreshAfterConsolidation bool = false
this.RefreshAfterConsolidation = &refreshAfterConsolidation
var excludeMentalModels bool = false
this.ExcludeMentalModels = &excludeMentalModels
return &this
}
// GetRefreshAfterConsolidation returns the RefreshAfterConsolidation field value if set, zero value otherwise.
func (o *MentalModelTriggerInput) GetRefreshAfterConsolidation() bool {
if o == nil || IsNil(o.RefreshAfterConsolidation) {
var ret bool
return ret
}
return *o.RefreshAfterConsolidation
}
// GetRefreshAfterConsolidationOk returns a tuple with the RefreshAfterConsolidation field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *MentalModelTriggerInput) GetRefreshAfterConsolidationOk() (*bool, bool) {
if o == nil || IsNil(o.RefreshAfterConsolidation) {
return nil, false
}
return o.RefreshAfterConsolidation, true
}
// HasRefreshAfterConsolidation returns a boolean if a field has been set.
func (o *MentalModelTriggerInput) HasRefreshAfterConsolidation() bool {
if o != nil && !IsNil(o.RefreshAfterConsolidation) {
return true
}
return false
}
// SetRefreshAfterConsolidation gets a reference to the given bool and assigns it to the RefreshAfterConsolidation field.
func (o *MentalModelTriggerInput) SetRefreshAfterConsolidation(v bool) {
o.RefreshAfterConsolidation = &v
}
// GetFactTypes returns the FactTypes field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *MentalModelTriggerInput) GetFactTypes() []string {
if o == nil {
var ret []string
return ret
}
return o.FactTypes
}
// GetFactTypesOk returns a tuple with the FactTypes field value if set, nil otherwise
// and a boolean to check if the value has been set.
// NOTE: If the value is an explicit nil, `nil, true` will be returned
func (o *MentalModelTriggerInput) GetFactTypesOk() ([]string, bool) {
if o == nil || IsNil(o.FactTypes) {
return nil, false
}
return o.FactTypes, true
}
// HasFactTypes returns a boolean if a field has been set.
func (o *MentalModelTriggerInput) HasFactTypes() bool {
if o != nil && !IsNil(o.FactTypes) {
return true
}
return false
}
// SetFactTypes gets a reference to the given []string and assigns it to the FactTypes field.
func (o *MentalModelTriggerInput) SetFactTypes(v []string) {
o.FactTypes = v
}
// GetExcludeMentalModels returns the ExcludeMentalModels field value if set, zero value otherwise.
func (o *MentalModelTriggerInput) GetExcludeMentalModels() bool {
if o == nil || IsNil(o.ExcludeMentalModels) {
var ret bool
return ret
}
return *o.ExcludeMentalModels
}
// GetExcludeMentalModelsOk returns a tuple with the ExcludeMentalModels field value if set, nil otherwise
// and a boolean to check if the value has been set.
func (o *MentalModelTriggerInput) GetExcludeMentalModelsOk() (*bool, bool) {
if o == nil || IsNil(o.ExcludeMentalModels) {
return nil, false
}
return o.ExcludeMentalModels, true
}
// HasExcludeMentalModels returns a boolean if a field has been set.
func (o *MentalModelTriggerInput) HasExcludeMentalModels() bool {
if o != nil && !IsNil(o.ExcludeMentalModels) {
return true
}
return false
}
// SetExcludeMentalModels gets a reference to the given bool and assigns it to the ExcludeMentalModels field.
func (o *MentalModelTriggerInput) SetExcludeMentalModels(v bool) {
o.ExcludeMentalModels = &v
}
// GetExcludeMentalModelIds returns the ExcludeMentalModelIds field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *MentalModelTriggerInput) GetExcludeMentalModelIds() []string {
if o == nil {
var ret []string
return ret
}
return o.ExcludeMentalModelIds
}
// GetExcludeMentalModelIdsOk returns a tuple with the ExcludeMentalModelIds field value if set, nil otherwise
// and a boolean to check if the value has been set.
// NOTE: If the value is an explicit nil, `nil, true` will be returned
func (o *MentalModelTriggerInput) GetExcludeMentalModelIdsOk() ([]string, bool) {
if o == nil || IsNil(o.ExcludeMentalModelIds) {
return nil, false
}
return o.ExcludeMentalModelIds, true
}
// HasExcludeMentalModelIds returns a boolean if a field has been set.
func (o *MentalModelTriggerInput) HasExcludeMentalModelIds() bool {
if o != nil && !IsNil(o.ExcludeMentalModelIds) {
return true
}
return false
}
// SetExcludeMentalModelIds gets a reference to the given []string and assigns it to the ExcludeMentalModelIds field.
func (o *MentalModelTriggerInput) SetExcludeMentalModelIds(v []string) {
o.ExcludeMentalModelIds = v
}
// GetTagsMatch returns the TagsMatch field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *MentalModelTriggerInput) GetTagsMatch() string {
if o == nil || IsNil(o.TagsMatch.Get()) {
var ret string
return ret
}
return *o.TagsMatch.Get()
}
// GetTagsMatchOk returns a tuple with the TagsMatch field value if set, nil otherwise
// and a boolean to check if the value has been set.
// NOTE: If the value is an explicit nil, `nil, true` will be returned
func (o *MentalModelTriggerInput) GetTagsMatchOk() (*string, bool) {
if o == nil {
return nil, false
}
return o.TagsMatch.Get(), o.TagsMatch.IsSet()
}
// HasTagsMatch returns a boolean if a field has been set.
func (o *MentalModelTriggerInput) HasTagsMatch() bool {
if o != nil && o.TagsMatch.IsSet() {
return true
}
return false
}
// SetTagsMatch gets a reference to the given NullableString and assigns it to the TagsMatch field.
func (o *MentalModelTriggerInput) SetTagsMatch(v string) {
o.TagsMatch.Set(&v)
}
// SetTagsMatchNil sets the value for TagsMatch to be an explicit nil
func (o *MentalModelTriggerInput) SetTagsMatchNil() {
o.TagsMatch.Set(nil)
}
// UnsetTagsMatch ensures that no value is present for TagsMatch, not even an explicit nil
func (o *MentalModelTriggerInput) UnsetTagsMatch() {
o.TagsMatch.Unset()
}
// GetTagGroups returns the TagGroups field value if set, zero value otherwise (both if not set or set to explicit null).
func (o *MentalModelTriggerInput) GetTagGroups() []MentalModelTriggerInputTagGroupsInner {
if o == nil {
var ret []MentalModelTriggerInputTagGroupsInner
return ret
}
return o.TagGroups
}
// GetTagGroupsOk returns a tuple with the TagGroups field value if set, nil otherwise
// and a boolean to check if the value has been set.
// NOTE: If the value is an explicit nil, `nil, true` will be returned
func (o *MentalModelTriggerInput) GetTagGroupsOk() ([]MentalModelTriggerInputTagGroupsInner, bool) {
if o == nil || IsNil(o.TagGroups) {
return nil, false
}
return o.TagGroups, true
}
// HasTagGroups returns a boolean if a field has been set.
func (o *MentalModelTriggerInput) HasTagGroups() bool {
if o != nil && !IsNil(o.TagGroups) {
return true
}
return false
}
// SetTagGroups gets a reference to the given []MentalModelTriggerInputTagGroupsInner and assigns it to the TagGroups field.
func (o *MentalModelTriggerInput) SetTagGroups(v []MentalModelTriggerInputTagGroupsInner) {
o.TagGroups = v
}
func (o MentalModelTriggerInput) MarshalJSON() ([]byte, error) {
toSerialize,err := o.ToMap()
if err != nil {
return []byte{}, err
}
return json.Marshal(toSerialize)
}
func (o MentalModelTriggerInput) ToMap() (map[string]interface{}, error) {
toSerialize := map[string]interface{}{}
if !IsNil(o.RefreshAfterConsolidation) {
toSerialize["refresh_after_consolidation"] = o.RefreshAfterConsolidation
}
if o.FactTypes != nil {
toSerialize["fact_types"] = o.FactTypes
}
if !IsNil(o.ExcludeMentalModels) {
toSerialize["exclude_mental_models"] = o.ExcludeMentalModels
}
if o.ExcludeMentalModelIds != nil {
toSerialize["exclude_mental_model_ids"] = o.ExcludeMentalModelIds
}
if o.TagsMatch.IsSet() {
toSerialize["tags_match"] = o.TagsMatch.Get()
}
if o.TagGroups != nil {
toSerialize["tag_groups"] = o.TagGroups
}
return toSerialize, nil
}
type NullableMentalModelTriggerInput struct {
value *MentalModelTriggerInput
isSet bool
}
func (v NullableMentalModelTriggerInput) Get() *MentalModelTriggerInput {
return v.value
}
func (v *NullableMentalModelTriggerInput) Set(val *MentalModelTriggerInput) {
v.value = val
v.isSet = true
}
func (v NullableMentalModelTriggerInput) IsSet() bool {
return v.isSet
}
func (v *NullableMentalModelTriggerInput) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableMentalModelTriggerInput(val *MentalModelTriggerInput) *NullableMentalModelTriggerInput {
return &NullableMentalModelTriggerInput{value: val, isSet: true}
}
func (v NullableMentalModelTriggerInput) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableMentalModelTriggerInput) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}