noresponse 9.4.3 → 9.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/lib/no_response/accounts.rb +2 -2
  3. data/lib/no_response/assessments.rb +1 -1
  4. data/lib/no_response/models/shared/accountdirectorypage.rb +1 -1
  5. data/lib/no_response/models/shared/accountdirectorypageitem.rb +28 -2
  6. data/lib/no_response/models/shared/accountdirectorypageitem.rbi +12 -0
  7. data/lib/no_response/models/shared/accountdirectorysearchrequest.rb +29 -3
  8. data/lib/no_response/models/shared/accountdirectorysearchrequest.rbi +12 -0
  9. data/lib/no_response/models/shared/assessmentsearchitem.rb +30 -2
  10. data/lib/no_response/models/shared/assessmentsearchitem.rbi +12 -0
  11. data/lib/no_response/models/shared/assessmentsearchrequest.rb +22 -2
  12. data/lib/no_response/models/shared/assessmentsearchrequest.rbi +12 -0
  13. data/lib/no_response/models/shared/identifierexpression.rb +47 -0
  14. data/lib/no_response/models/shared/identifierexpression.rbi +20 -0
  15. data/lib/no_response/models/shared/identifierexpressionleaf.rb +33 -0
  16. data/lib/no_response/models/shared/identifierexpressionleaf.rbi +14 -0
  17. data/lib/no_response/models/shared/identifierexpressionnode.rb +56 -0
  18. data/lib/no_response/models/shared/identifierexpressionnode.rbi +26 -0
  19. data/lib/no_response/models/shared/identifierexpressionnodelevelone.rb +56 -0
  20. data/lib/no_response/models/shared/identifierexpressionnodelevelone.rbi +26 -0
  21. data/lib/no_response/models/shared/identifierexpressionnodeleveltwo.rb +56 -0
  22. data/lib/no_response/models/shared/identifierexpressionnodeleveltwo.rbi +26 -0
  23. data/lib/no_response/models/shared/identifiermatch.rb +105 -0
  24. data/lib/no_response/models/shared/identifiermatch.rbi +44 -0
  25. data/lib/no_response/models/shared/identifiersearch.rb +80 -0
  26. data/lib/no_response/models/shared/identifiersearch.rbi +32 -0
  27. data/lib/no_response/models/shared/identifiersearchkind.rb +20 -0
  28. data/lib/no_response/models/shared/identifiersearchkind.rbi +9 -0
  29. data/lib/no_response/models/shared/identifiertermmatch.rb +114 -0
  30. data/lib/no_response/models/shared/identifiertermmatch.rbi +50 -0
  31. data/lib/no_response/models/shared/match.rb +20 -0
  32. data/lib/no_response/models/shared/match.rbi +9 -0
  33. data/lib/no_response/models/shared/namespace.rb +18 -0
  34. data/lib/no_response/models/shared/namespace.rbi +9 -0
  35. data/lib/no_response/models/shared/provenance.rb +18 -0
  36. data/lib/no_response/models/shared/provenance.rbi +9 -0
  37. data/lib/no_response/models/shared/scope_enum.rb +16 -0
  38. data/lib/no_response/models/shared/scope_enum.rbi +9 -0
  39. data/lib/no_response/models/shared.rb +13 -0
  40. data/lib/no_response/sdkconfiguration.rb +2 -2
  41. metadata +28 -2
@@ -0,0 +1,56 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class IdentifierExpressionNodeLevelOne
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ # One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.
13
+ field(
14
+ :term,
15
+ Crystalline::Nilable.new(Models::Shared::IdentifierSearch),
16
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("term")}}
17
+ )
18
+
19
+ field(
20
+ :and_,
21
+ Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::IdentifierExpressionLeaf)),
22
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("and")}}
23
+ )
24
+
25
+ field(
26
+ :or_,
27
+ Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::IdentifierExpressionLeaf)),
28
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("or")}}
29
+ )
30
+
31
+ sig {
32
+ params(
33
+ term: T.nilable(Models::Shared::IdentifierSearch),
34
+ and_: T.nilable(T::Array[Models::Shared::IdentifierExpressionLeaf]),
35
+ or_: T.nilable(T::Array[Models::Shared::IdentifierExpressionLeaf])
36
+ )
37
+ .void
38
+ }
39
+ def initialize(term: nil, and_: nil, or_: nil)
40
+ @term = term
41
+ @and_ = and_
42
+ @or_ = or_
43
+ end
44
+
45
+ sig { params(other: T.untyped).returns(T::Boolean) }
46
+ def ==(other)
47
+ return false unless other.is_a?(self.class)
48
+ return false unless @term == other.term
49
+ return false unless @and_ == other.and_
50
+ return false unless @or_ == other.or_
51
+ true
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::IdentifierExpressionNodeLevelOne
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::IdentifierExpressionNodeLevelOne
9
+ def term
10
+ end
11
+
12
+ def term=(str_)
13
+ end
14
+
15
+ def and_
16
+ end
17
+
18
+ def and_=(str_)
19
+ end
20
+
21
+ def or_
22
+ end
23
+
24
+ def or_=(str_)
25
+ end
26
+ end
@@ -0,0 +1,56 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class IdentifierExpressionNodeLevelTwo
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ # One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.
13
+ field(
14
+ :term,
15
+ Crystalline::Nilable.new(Models::Shared::IdentifierSearch),
16
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("term")}}
17
+ )
18
+
19
+ field(
20
+ :and_,
21
+ Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::IdentifierExpressionNodeLevelOne)),
22
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("and")}}
23
+ )
24
+
25
+ field(
26
+ :or_,
27
+ Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::IdentifierExpressionNodeLevelOne)),
28
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("or")}}
29
+ )
30
+
31
+ sig {
32
+ params(
33
+ term: T.nilable(Models::Shared::IdentifierSearch),
34
+ and_: T.nilable(T::Array[Models::Shared::IdentifierExpressionNodeLevelOne]),
35
+ or_: T.nilable(T::Array[Models::Shared::IdentifierExpressionNodeLevelOne])
36
+ )
37
+ .void
38
+ }
39
+ def initialize(term: nil, and_: nil, or_: nil)
40
+ @term = term
41
+ @and_ = and_
42
+ @or_ = or_
43
+ end
44
+
45
+ sig { params(other: T.untyped).returns(T::Boolean) }
46
+ def ==(other)
47
+ return false unless other.is_a?(self.class)
48
+ return false unless @term == other.term
49
+ return false unless @and_ == other.and_
50
+ return false unless @or_ == other.or_
51
+ true
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,26 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::IdentifierExpressionNodeLevelTwo
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::IdentifierExpressionNodeLevelTwo
9
+ def term
10
+ end
11
+
12
+ def term=(str_)
13
+ end
14
+
15
+ def and_
16
+ end
17
+
18
+ def and_=(str_)
19
+ end
20
+
21
+ def or_
22
+ end
23
+
24
+ def or_=(str_)
25
+ end
26
+ end
@@ -0,0 +1,105 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # Why this result matched a typed identifier search. value is the original value submitted in assessment_id. Provenance records a customer submission, not a source discovery or verified ownership. Equality is deterministic and has no inferred confidence score. An account result names its newest retained matching assessment, which can differ from latest.
8
+ class IdentifierMatch
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :kind,
14
+ Models::Shared::IdentifierSearchKind,
15
+ {
16
+ 'format_json': {
17
+ 'letter_case': ::NoResponse::Utils.field_name("kind"),
18
+ required: true,
19
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::IdentifierSearchKind, false)
20
+ }
21
+ }
22
+ )
23
+
24
+ field(
25
+ :value,
26
+ ::String,
27
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("value"), required: true}}
28
+ )
29
+ # exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.
30
+ field(
31
+ :match_basis,
32
+ Models::Shared::Match,
33
+ {
34
+ 'format_json': {
35
+ 'letter_case': ::NoResponse::Utils.field_name("match_basis"),
36
+ required: true,
37
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Match, false)
38
+ }
39
+ }
40
+ )
41
+ # Customer-submitted input. It does not mean the customer or NoResponse verified ownership.
42
+ field(
43
+ :provenance,
44
+ Models::Shared::Provenance,
45
+ {
46
+ 'format_json': {
47
+ 'letter_case': ::NoResponse::Utils.field_name("provenance"),
48
+ required: true,
49
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Provenance, false)
50
+ }
51
+ }
52
+ )
53
+ # Opaque, server-assigned assessment id: 'asm_' and a 26-character Crockford base32 ULID. Unique within the workspace; another workspace's assessment id answers 404.
54
+ field(
55
+ :assessment_id,
56
+ ::String,
57
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("assessment_id"), required: true}}
58
+ )
59
+ # Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.
60
+ field(
61
+ :namespace,
62
+ Crystalline::Nilable.new(Models::Shared::Namespace),
63
+ {
64
+ 'format_json': {
65
+ 'letter_case': ::NoResponse::Utils.field_name("namespace"),
66
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Namespace, true)
67
+ }
68
+ }
69
+ )
70
+
71
+ sig {
72
+ params(
73
+ kind: Models::Shared::IdentifierSearchKind,
74
+ value: ::String,
75
+ match_basis: Models::Shared::Match,
76
+ provenance: Models::Shared::Provenance,
77
+ assessment_id: ::String,
78
+ namespace: T.nilable(Models::Shared::Namespace)
79
+ )
80
+ .void
81
+ }
82
+ def initialize(kind:, value:, match_basis:, provenance:, assessment_id:, namespace: nil)
83
+ @kind = kind
84
+ @value = value
85
+ @match_basis = match_basis
86
+ @provenance = provenance
87
+ @assessment_id = assessment_id
88
+ @namespace = namespace
89
+ end
90
+
91
+ sig { params(other: T.untyped).returns(T::Boolean) }
92
+ def ==(other)
93
+ return false unless other.is_a?(self.class)
94
+ return false unless @kind == other.kind
95
+ return false unless @value == other.value
96
+ return false unless @match_basis == other.match_basis
97
+ return false unless @provenance == other.provenance
98
+ return false unless @assessment_id == other.assessment_id
99
+ return false unless @namespace == other.namespace
100
+ true
101
+ end
102
+ end
103
+ end
104
+ end
105
+ end
@@ -0,0 +1,44 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::IdentifierMatch
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::IdentifierMatch
9
+ def kind
10
+ end
11
+
12
+ def kind=(str_)
13
+ end
14
+
15
+ def value
16
+ end
17
+
18
+ def value=(str_)
19
+ end
20
+
21
+ def match_basis
22
+ end
23
+
24
+ def match_basis=(str_)
25
+ end
26
+
27
+ def provenance
28
+ end
29
+
30
+ def provenance=(str_)
31
+ end
32
+
33
+ def assessment_id
34
+ end
35
+
36
+ def assessment_id=(str_)
37
+ end
38
+
39
+ def namespace
40
+ end
41
+
42
+ def namespace=(str_)
43
+ end
44
+ end
@@ -0,0 +1,80 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # One customer-submitted identifier. Defaults to exact comparison of the original submitted value. canonical uses the supported identifier normalisation without an ownership claim: email preserves local-part case, NFC-normalises it and lowercases the domain without removing dots or tags; phone uses international E.164 without extensions or an inferred region; username uses NFC and Unicode case folding within the customer namespace. mailbox is email-only and explicitly selects existing list rules: case-insensitive, remove +tag, and ignore local-part dots at gmail.com and googlemail.com; googlemail.com maps to gmail.com. Username requires namespace customer. Email and phone forbid namespace. Source-discovered identifiers and platform handles are not searched. Unsupported kinds, namespaces, modes and invalid values return 400. Search equality does not establish verified ownership or merge accounts.
8
+ class IdentifierSearch
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :kind,
14
+ Models::Shared::IdentifierSearchKind,
15
+ {
16
+ 'format_json': {
17
+ 'letter_case': ::NoResponse::Utils.field_name("kind"),
18
+ required: true,
19
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::IdentifierSearchKind, false)
20
+ }
21
+ }
22
+ )
23
+ # The comparison value. Stored original identifiers remain unchanged. An invalid identifier is refused instead of returning an empty result.
24
+ field(
25
+ :value,
26
+ ::String,
27
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("value"), required: true}}
28
+ )
29
+ # exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.
30
+ field(
31
+ :match,
32
+ Crystalline::Nilable.new(Models::Shared::Match),
33
+ {
34
+ 'format_json': {
35
+ 'letter_case': ::NoResponse::Utils.field_name("match"),
36
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Match, true)
37
+ }
38
+ }
39
+ )
40
+ # Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.
41
+ field(
42
+ :namespace,
43
+ Crystalline::Nilable.new(Models::Shared::Namespace),
44
+ {
45
+ 'format_json': {
46
+ 'letter_case': ::NoResponse::Utils.field_name("namespace"),
47
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Namespace, true)
48
+ }
49
+ }
50
+ )
51
+
52
+ sig {
53
+ params(
54
+ kind: Models::Shared::IdentifierSearchKind,
55
+ value: ::String,
56
+ match: T.nilable(Models::Shared::Match),
57
+ namespace: T.nilable(Models::Shared::Namespace)
58
+ )
59
+ .void
60
+ }
61
+ def initialize(kind:, value:, match: nil, namespace: nil)
62
+ @kind = kind
63
+ @value = value
64
+ @match = match
65
+ @namespace = namespace
66
+ end
67
+
68
+ sig { params(other: T.untyped).returns(T::Boolean) }
69
+ def ==(other)
70
+ return false unless other.is_a?(self.class)
71
+ return false unless @kind == other.kind
72
+ return false unless @value == other.value
73
+ return false unless @match == other.match
74
+ return false unless @namespace == other.namespace
75
+ true
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,32 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::IdentifierSearch
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::IdentifierSearch
9
+ def kind
10
+ end
11
+
12
+ def kind=(str_)
13
+ end
14
+
15
+ def value
16
+ end
17
+
18
+ def value=(str_)
19
+ end
20
+
21
+ def match
22
+ end
23
+
24
+ def match=(str_)
25
+ end
26
+
27
+ def namespace
28
+ end
29
+
30
+ def namespace=(str_)
31
+ end
32
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+
8
+ class IdentifierSearchKind
9
+ include ::Crystalline::Enum
10
+ enums do
11
+ EMAIL = new("email")
12
+ PHONE = new("phone")
13
+ USERNAME = new("username")
14
+ end
15
+
16
+ open!
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::IdentifierSearchKind
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::IdentifierSearchKind
9
+ end
@@ -0,0 +1,114 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # One satisfied unique term in an identifier expression. term_index is the zero-based depth-first raw leaf position of its first occurrence. Duplicate normalized terms produce one witness. All satisfied unique terms are returned, ordered by term_index, including satisfied terms in an OR branch that was not needed. value preserves the original submitted value in assessment_id. In assessment scope all witnesses belong to the same matching assessment; account search chooses the newest such assessment. In account scope each term uses its newest retained matching assessment, so witnesses may have different assessment IDs. This evidence does not assert ownership or equality between accounts.
8
+ class IdentifierTermMatch
9
+ extend T::Sig
10
+ include Crystalline::MetadataFields
11
+
12
+ field(
13
+ :kind,
14
+ Models::Shared::IdentifierSearchKind,
15
+ {
16
+ 'format_json': {
17
+ 'letter_case': ::NoResponse::Utils.field_name("kind"),
18
+ required: true,
19
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::IdentifierSearchKind, false)
20
+ }
21
+ }
22
+ )
23
+
24
+ field(
25
+ :value,
26
+ ::String,
27
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("value"), required: true}}
28
+ )
29
+ # exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.
30
+ field(
31
+ :match_basis,
32
+ Models::Shared::Match,
33
+ {
34
+ 'format_json': {
35
+ 'letter_case': ::NoResponse::Utils.field_name("match_basis"),
36
+ required: true,
37
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Match, false)
38
+ }
39
+ }
40
+ )
41
+ # Customer-submitted input. It does not mean the customer or NoResponse verified ownership.
42
+ field(
43
+ :provenance,
44
+ Models::Shared::Provenance,
45
+ {
46
+ 'format_json': {
47
+ 'letter_case': ::NoResponse::Utils.field_name("provenance"),
48
+ required: true,
49
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Provenance, false)
50
+ }
51
+ }
52
+ )
53
+ # Opaque, server-assigned assessment id: 'asm_' and a 26-character Crockford base32 ULID. Unique within the workspace; another workspace's assessment id answers 404.
54
+ field(
55
+ :assessment_id,
56
+ ::String,
57
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("assessment_id"), required: true}}
58
+ )
59
+ # Zero-based depth-first position of the first occurrence of this normalized term in the submitted expression.
60
+ field(
61
+ :term_index,
62
+ ::Integer,
63
+ {'format_json': {'letter_case': ::NoResponse::Utils.field_name("term_index"), required: true}}
64
+ )
65
+ # Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.
66
+ field(
67
+ :namespace,
68
+ Crystalline::Nilable.new(Models::Shared::Namespace),
69
+ {
70
+ 'format_json': {
71
+ 'letter_case': ::NoResponse::Utils.field_name("namespace"),
72
+ 'decoder': ::NoResponse::Utils.open_enum_from_string(Models::Shared::Namespace, true)
73
+ }
74
+ }
75
+ )
76
+
77
+ sig {
78
+ params(
79
+ kind: Models::Shared::IdentifierSearchKind,
80
+ value: ::String,
81
+ match_basis: Models::Shared::Match,
82
+ provenance: Models::Shared::Provenance,
83
+ assessment_id: ::String,
84
+ term_index: ::Integer,
85
+ namespace: T.nilable(Models::Shared::Namespace)
86
+ )
87
+ .void
88
+ }
89
+ def initialize(kind:, value:, match_basis:, provenance:, assessment_id:, term_index:, namespace: nil)
90
+ @kind = kind
91
+ @value = value
92
+ @match_basis = match_basis
93
+ @provenance = provenance
94
+ @assessment_id = assessment_id
95
+ @term_index = term_index
96
+ @namespace = namespace
97
+ end
98
+
99
+ sig { params(other: T.untyped).returns(T::Boolean) }
100
+ def ==(other)
101
+ return false unless other.is_a?(self.class)
102
+ return false unless @kind == other.kind
103
+ return false unless @value == other.value
104
+ return false unless @match_basis == other.match_basis
105
+ return false unless @provenance == other.provenance
106
+ return false unless @assessment_id == other.assessment_id
107
+ return false unless @term_index == other.term_index
108
+ return false unless @namespace == other.namespace
109
+ true
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,50 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::IdentifierTermMatch
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::IdentifierTermMatch
9
+ def kind
10
+ end
11
+
12
+ def kind=(str_)
13
+ end
14
+
15
+ def value
16
+ end
17
+
18
+ def value=(str_)
19
+ end
20
+
21
+ def match_basis
22
+ end
23
+
24
+ def match_basis=(str_)
25
+ end
26
+
27
+ def provenance
28
+ end
29
+
30
+ def provenance=(str_)
31
+ end
32
+
33
+ def assessment_id
34
+ end
35
+
36
+ def assessment_id=(str_)
37
+ end
38
+
39
+ def term_index
40
+ end
41
+
42
+ def term_index=(str_)
43
+ end
44
+
45
+ def namespace
46
+ end
47
+
48
+ def namespace=(str_)
49
+ end
50
+ end
@@ -0,0 +1,20 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # Match - exact compares the original submitted value; canonical uses identifier-specific normalisation; mailbox explicitly selects the email alias rules used by lists.
8
+ class Match
9
+ include ::Crystalline::Enum
10
+ enums do
11
+ EXACT = new("exact")
12
+ CANONICAL = new("canonical")
13
+ MAILBOX = new("mailbox")
14
+ end
15
+
16
+ open!
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::Match
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::Match
9
+ end
@@ -0,0 +1,18 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ module NoResponse
5
+ module Models
6
+ module Shared
7
+ # Namespace - Required for username: the username submitted by this customer in this workspace/environment. It does not name or join a source platform. Omit for email and phone.
8
+ class Namespace
9
+ include ::Crystalline::Enum
10
+ enums do
11
+ CUSTOMER = new("customer")
12
+ end
13
+
14
+ open!
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class NoResponse::Models::Shared::Namespace
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class NoResponse::Models::Shared::Namespace
9
+ end