fleet-memory/hindsight-clients/go/model_not.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

143 lines
3.2 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"
"fmt"
)
// Not struct for Not
type Not struct {
TagGroupAndInput *TagGroupAndInput
TagGroupLeaf *TagGroupLeaf
TagGroupNotInput *TagGroupNotInput
TagGroupOrInput *TagGroupOrInput
}
// Unmarshal JSON data into any of the pointers in the struct
func (dst *Not) UnmarshalJSON(data []byte) error {
var err error
// try to unmarshal JSON data into TagGroupAndInput
err = json.Unmarshal(data, &dst.TagGroupAndInput);
if err == nil {
jsonTagGroupAndInput, _ := json.Marshal(dst.TagGroupAndInput)
if string(jsonTagGroupAndInput) == "{}" { // empty struct
dst.TagGroupAndInput = nil
} else {
return nil // data stored in dst.TagGroupAndInput, return on the first match
}
} else {
dst.TagGroupAndInput = nil
}
// try to unmarshal JSON data into TagGroupLeaf
err = json.Unmarshal(data, &dst.TagGroupLeaf);
if err == nil {
jsonTagGroupLeaf, _ := json.Marshal(dst.TagGroupLeaf)
if string(jsonTagGroupLeaf) == "{}" { // empty struct
dst.TagGroupLeaf = nil
} else {
return nil // data stored in dst.TagGroupLeaf, return on the first match
}
} else {
dst.TagGroupLeaf = nil
}
// try to unmarshal JSON data into TagGroupNotInput
err = json.Unmarshal(data, &dst.TagGroupNotInput);
if err == nil {
jsonTagGroupNotInput, _ := json.Marshal(dst.TagGroupNotInput)
if string(jsonTagGroupNotInput) == "{}" { // empty struct
dst.TagGroupNotInput = nil
} else {
return nil // data stored in dst.TagGroupNotInput, return on the first match
}
} else {
dst.TagGroupNotInput = nil
}
// try to unmarshal JSON data into TagGroupOrInput
err = json.Unmarshal(data, &dst.TagGroupOrInput);
if err == nil {
jsonTagGroupOrInput, _ := json.Marshal(dst.TagGroupOrInput)
if string(jsonTagGroupOrInput) == "{}" { // empty struct
dst.TagGroupOrInput = nil
} else {
return nil // data stored in dst.TagGroupOrInput, return on the first match
}
} else {
dst.TagGroupOrInput = nil
}
return fmt.Errorf("data failed to match schemas in anyOf(Not)")
}
// Marshal data from the first non-nil pointers in the struct to JSON
func (src *Not) MarshalJSON() ([]byte, error) {
if src.TagGroupAndInput != nil {
return json.Marshal(&src.TagGroupAndInput)
}
if src.TagGroupLeaf != nil {
return json.Marshal(&src.TagGroupLeaf)
}
if src.TagGroupNotInput != nil {
return json.Marshal(&src.TagGroupNotInput)
}
if src.TagGroupOrInput != nil {
return json.Marshal(&src.TagGroupOrInput)
}
return nil, nil // no data in anyOf schemas
}
type NullableNot struct {
value *Not
isSet bool
}
func (v NullableNot) Get() *Not {
return v.value
}
func (v *NullableNot) Set(val *Not) {
v.value = val
v.isSet = true
}
func (v NullableNot) IsSet() bool {
return v.isSet
}
func (v *NullableNot) Unset() {
v.value = nil
v.isSet = false
}
func NewNullableNot(val *Not) *NullableNot {
return &NullableNot{value: val, isSet: true}
}
func (v NullableNot) MarshalJSON() ([]byte, error) {
return json.Marshal(v.value)
}
func (v *NullableNot) UnmarshalJSON(src []byte) error {
v.isSet = true
return json.Unmarshal(src, &v.value)
}