easy_talk 3.2.0 → 3.3.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +15 -43
- data/CHANGELOG.md +89 -0
- data/README.md +447 -2115
- data/docs/json_schema_compliance.md +140 -26
- data/docs/primitive-schema-rfc.md +894 -0
- data/lib/easy_talk/builders/base_builder.rb +2 -1
- data/lib/easy_talk/builders/boolean_builder.rb +2 -1
- data/lib/easy_talk/builders/collection_helpers.rb +4 -0
- data/lib/easy_talk/builders/composition_builder.rb +7 -2
- data/lib/easy_talk/builders/integer_builder.rb +2 -1
- data/lib/easy_talk/builders/null_builder.rb +4 -1
- data/lib/easy_talk/builders/number_builder.rb +4 -1
- data/lib/easy_talk/builders/object_builder.rb +64 -3
- data/lib/easy_talk/builders/registry.rb +15 -1
- data/lib/easy_talk/builders/string_builder.rb +3 -1
- data/lib/easy_talk/builders/temporal_builder.rb +7 -0
- data/lib/easy_talk/builders/tuple_builder.rb +89 -0
- data/lib/easy_talk/builders/typed_array_builder.rb +4 -2
- data/lib/easy_talk/builders/union_builder.rb +5 -1
- data/lib/easy_talk/configuration.rb +17 -2
- data/lib/easy_talk/errors.rb +1 -0
- data/lib/easy_talk/errors_helper.rb +3 -0
- data/lib/easy_talk/json_schema_equality.rb +46 -0
- data/lib/easy_talk/keywords.rb +0 -1
- data/lib/easy_talk/model.rb +27 -1
- data/lib/easy_talk/model_helper.rb +4 -0
- data/lib/easy_talk/naming_strategies.rb +4 -0
- data/lib/easy_talk/property.rb +7 -0
- data/lib/easy_talk/ref_helper.rb +6 -0
- data/lib/easy_talk/schema.rb +1 -0
- data/lib/easy_talk/schema_definition.rb +52 -6
- data/lib/easy_talk/schema_methods.rb +36 -5
- data/lib/easy_talk/sorbet_extension.rb +1 -0
- data/lib/easy_talk/type_introspection.rb +45 -1
- data/lib/easy_talk/types/tuple.rb +77 -0
- data/lib/easy_talk/validation_adapters/active_model_adapter.rb +350 -62
- data/lib/easy_talk/validation_adapters/active_model_schema_validation.rb +106 -0
- data/lib/easy_talk/validation_adapters/base.rb +12 -0
- data/lib/easy_talk/validation_adapters/none_adapter.rb +9 -0
- data/lib/easy_talk/validation_builder.rb +1 -0
- data/lib/easy_talk/version.rb +1 -1
- data/lib/easy_talk.rb +1 -0
- metadata +13 -4
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: easy_talk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sergio Bayona
|
|
@@ -77,8 +77,11 @@ dependencies:
|
|
|
77
77
|
- - "~>"
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
79
|
version: '0.5'
|
|
80
|
-
description:
|
|
81
|
-
|
|
80
|
+
description: Define schemas using a clean DSL and get both JSON Schema documents and
|
|
81
|
+
runtime validations. Perfect for API request/response validation, LLM function definitions
|
|
82
|
+
(OpenAI, Anthropic), and structured data modeling. Features Sorbet-style types,
|
|
83
|
+
schema composition, pluggable validation adapters, and multiple error output formats
|
|
84
|
+
(JSON:API, RFC 7807).
|
|
82
85
|
email:
|
|
83
86
|
- bayona.sergio@gmail.com
|
|
84
87
|
executables: []
|
|
@@ -100,6 +103,7 @@ files:
|
|
|
100
103
|
- docs/index.markdown
|
|
101
104
|
- docs/json_schema_compliance.md
|
|
102
105
|
- docs/nested-models.markdown
|
|
106
|
+
- docs/primitive-schema-rfc.md
|
|
103
107
|
- docs/property-types.markdown
|
|
104
108
|
- docs/schema-definition.markdown
|
|
105
109
|
- lib/easy_talk.rb
|
|
@@ -114,6 +118,7 @@ files:
|
|
|
114
118
|
- lib/easy_talk/builders/registry.rb
|
|
115
119
|
- lib/easy_talk/builders/string_builder.rb
|
|
116
120
|
- lib/easy_talk/builders/temporal_builder.rb
|
|
121
|
+
- lib/easy_talk/builders/tuple_builder.rb
|
|
117
122
|
- lib/easy_talk/builders/typed_array_builder.rb
|
|
118
123
|
- lib/easy_talk/builders/union_builder.rb
|
|
119
124
|
- lib/easy_talk/configuration.rb
|
|
@@ -127,6 +132,7 @@ files:
|
|
|
127
132
|
- lib/easy_talk/error_formatter/rfc7807.rb
|
|
128
133
|
- lib/easy_talk/errors.rb
|
|
129
134
|
- lib/easy_talk/errors_helper.rb
|
|
135
|
+
- lib/easy_talk/json_schema_equality.rb
|
|
130
136
|
- lib/easy_talk/keywords.rb
|
|
131
137
|
- lib/easy_talk/model.rb
|
|
132
138
|
- lib/easy_talk/model_helper.rb
|
|
@@ -141,7 +147,9 @@ files:
|
|
|
141
147
|
- lib/easy_talk/type_introspection.rb
|
|
142
148
|
- lib/easy_talk/types/base_composer.rb
|
|
143
149
|
- lib/easy_talk/types/composer.rb
|
|
150
|
+
- lib/easy_talk/types/tuple.rb
|
|
144
151
|
- lib/easy_talk/validation_adapters/active_model_adapter.rb
|
|
152
|
+
- lib/easy_talk/validation_adapters/active_model_schema_validation.rb
|
|
145
153
|
- lib/easy_talk/validation_adapters/base.rb
|
|
146
154
|
- lib/easy_talk/validation_adapters/none_adapter.rb
|
|
147
155
|
- lib/easy_talk/validation_adapters/registry.rb
|
|
@@ -171,5 +179,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
171
179
|
requirements: []
|
|
172
180
|
rubygems_version: 3.7.2
|
|
173
181
|
specification_version: 4
|
|
174
|
-
summary:
|
|
182
|
+
summary: JSON Schema generation and validation for Ruby classes, ideal for LLM function
|
|
183
|
+
calling.
|
|
175
184
|
test_files: []
|