roast-ai 0.4.4 → 0.4.6

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 (232) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +2 -0
  3. data/.github/workflows/ci.yaml +1 -0
  4. data/.gitignore +0 -26
  5. data/.rubocop.yml +13 -0
  6. data/.rubocop_todo.yml +21 -0
  7. data/CHANGELOG.md +37 -0
  8. data/Gemfile +4 -0
  9. data/Gemfile.lock +43 -1
  10. data/bin/rubocop +27 -0
  11. data/bin/spoom +27 -0
  12. data/bin/srb +27 -0
  13. data/bin/srb-rbi +27 -0
  14. data/bin/tapioca +27 -0
  15. data/docs/INSTRUMENTATION.md +3 -3
  16. data/dsl/simple.rb +10 -0
  17. data/examples/retry/workflow.yml +23 -0
  18. data/lib/roast/dsl/executor.rb +26 -0
  19. data/lib/roast/dsl.rb +7 -0
  20. data/lib/roast/errors.rb +1 -0
  21. data/lib/roast/factories/api_provider_factory.rb +1 -0
  22. data/lib/roast/helpers/function_caching_interceptor.rb +3 -0
  23. data/lib/roast/helpers/logger.rb +6 -9
  24. data/lib/roast/helpers/metadata_access.rb +1 -0
  25. data/lib/roast/helpers/minitest_coverage_runner.rb +1 -0
  26. data/lib/roast/helpers/path_resolver.rb +8 -18
  27. data/lib/roast/helpers/prompt_loader.rb +3 -2
  28. data/lib/roast/helpers/timeout_handler.rb +3 -5
  29. data/lib/roast/initializers.rb +1 -0
  30. data/lib/roast/resources/api_resource.rb +4 -3
  31. data/lib/roast/resources/base_resource.rb +1 -0
  32. data/lib/roast/resources/directory_resource.rb +1 -0
  33. data/lib/roast/resources/file_resource.rb +1 -0
  34. data/lib/roast/resources/none_resource.rb +1 -0
  35. data/lib/roast/resources/url_resource.rb +2 -1
  36. data/lib/roast/resources.rb +1 -2
  37. data/lib/roast/services/context_threshold_checker.rb +1 -0
  38. data/lib/roast/services/token_counting_service.rb +1 -0
  39. data/lib/roast/tools/apply_diff.rb +1 -0
  40. data/lib/roast/tools/ask_user.rb +1 -0
  41. data/lib/roast/tools/bash.rb +1 -0
  42. data/lib/roast/tools/cmd.rb +1 -0
  43. data/lib/roast/tools/coding_agent.rb +1 -0
  44. data/lib/roast/tools/context_summarizer.rb +1 -0
  45. data/lib/roast/tools/grep.rb +1 -0
  46. data/lib/roast/tools/helpers/coding_agent_message_formatter.rb +1 -0
  47. data/lib/roast/tools/read_file.rb +1 -0
  48. data/lib/roast/tools/search_file.rb +1 -0
  49. data/lib/roast/tools/swarm.rb +1 -0
  50. data/lib/roast/tools/update_files.rb +1 -0
  51. data/lib/roast/tools/write_file.rb +1 -0
  52. data/lib/roast/tools.rb +2 -0
  53. data/lib/roast/value_objects/api_token.rb +1 -0
  54. data/lib/roast/value_objects/step_name.rb +1 -0
  55. data/lib/roast/value_objects/uri_base.rb +1 -0
  56. data/lib/roast/value_objects/workflow_path.rb +1 -0
  57. data/lib/roast/value_objects.rb +1 -0
  58. data/lib/roast/version.rb +2 -1
  59. data/lib/roast/workflow/agent_step.rb +1 -0
  60. data/lib/roast/workflow/api_configuration.rb +1 -0
  61. data/lib/roast/workflow/base_iteration_step.rb +1 -0
  62. data/lib/roast/workflow/base_step.rb +1 -0
  63. data/lib/roast/workflow/base_workflow.rb +1 -0
  64. data/lib/roast/workflow/case_executor.rb +1 -0
  65. data/lib/roast/workflow/case_step.rb +1 -0
  66. data/lib/roast/workflow/command_executor.rb +1 -0
  67. data/lib/roast/workflow/conditional_executor.rb +1 -0
  68. data/lib/roast/workflow/conditional_step.rb +1 -0
  69. data/lib/roast/workflow/configuration.rb +9 -0
  70. data/lib/roast/workflow/configuration_loader.rb +4 -1
  71. data/lib/roast/workflow/context_manager.rb +1 -0
  72. data/lib/roast/workflow/context_path_resolver.rb +1 -0
  73. data/lib/roast/workflow/dot_access_hash.rb +1 -0
  74. data/lib/roast/workflow/each_step.rb +1 -0
  75. data/lib/roast/workflow/error_handler.rb +39 -3
  76. data/lib/roast/workflow/expression_evaluator.rb +1 -0
  77. data/lib/roast/workflow/expression_utils.rb +1 -0
  78. data/lib/roast/workflow/file_state_repository.rb +2 -1
  79. data/lib/roast/workflow/input_executor.rb +1 -0
  80. data/lib/roast/workflow/input_step.rb +1 -0
  81. data/lib/roast/workflow/interpolator.rb +2 -1
  82. data/lib/roast/workflow/iteration_executor.rb +1 -0
  83. data/lib/roast/workflow/llm_boolean_coercer.rb +1 -0
  84. data/lib/roast/workflow/metadata_manager.rb +1 -0
  85. data/lib/roast/workflow/output_handler.rb +1 -0
  86. data/lib/roast/workflow/output_manager.rb +1 -0
  87. data/lib/roast/workflow/parallel_executor.rb +1 -0
  88. data/lib/roast/workflow/prompt_step.rb +1 -0
  89. data/lib/roast/workflow/repeat_step.rb +1 -0
  90. data/lib/roast/workflow/replay_handler.rb +1 -0
  91. data/lib/roast/workflow/resource_resolver.rb +2 -6
  92. data/lib/roast/workflow/session_manager.rb +1 -0
  93. data/lib/roast/workflow/shell_script_step.rb +1 -0
  94. data/lib/roast/workflow/sqlite_state_repository.rb +1 -0
  95. data/lib/roast/workflow/state_manager.rb +1 -0
  96. data/lib/roast/workflow/state_repository.rb +1 -0
  97. data/lib/roast/workflow/state_repository_factory.rb +4 -2
  98. data/lib/roast/workflow/step_completion_reporter.rb +1 -0
  99. data/lib/roast/workflow/step_executor_coordinator.rb +17 -6
  100. data/lib/roast/workflow/step_executor_factory.rb +1 -0
  101. data/lib/roast/workflow/step_executor_registry.rb +2 -3
  102. data/lib/roast/workflow/step_executor_with_reporting.rb +1 -0
  103. data/lib/roast/workflow/step_executors/base_step_executor.rb +1 -0
  104. data/lib/roast/workflow/step_executors/hash_step_executor.rb +1 -0
  105. data/lib/roast/workflow/step_executors/parallel_step_executor.rb +1 -0
  106. data/lib/roast/workflow/step_executors/string_step_executor.rb +1 -0
  107. data/lib/roast/workflow/step_factory.rb +1 -0
  108. data/lib/roast/workflow/step_finder.rb +1 -0
  109. data/lib/roast/workflow/step_loader.rb +1 -0
  110. data/lib/roast/workflow/step_name_extractor.rb +1 -0
  111. data/lib/roast/workflow/step_runner.rb +1 -0
  112. data/lib/roast/workflow/step_type_resolver.rb +1 -0
  113. data/lib/roast/workflow/validation_command.rb +1 -0
  114. data/lib/roast/workflow/validator.rb +1 -0
  115. data/lib/roast/workflow/validators/base_validator.rb +1 -0
  116. data/lib/roast/workflow/validators/dependency_validator.rb +1 -0
  117. data/lib/roast/workflow/validators/linting_validator.rb +1 -0
  118. data/lib/roast/workflow/validators/schema_validator.rb +1 -0
  119. data/lib/roast/workflow/validators/step_collector.rb +1 -0
  120. data/lib/roast/workflow/validators/validation_orchestrator.rb +1 -0
  121. data/lib/roast/workflow/workflow_context.rb +1 -0
  122. data/lib/roast/workflow/workflow_execution_context.rb +1 -0
  123. data/lib/roast/workflow/workflow_executor.rb +2 -1
  124. data/lib/roast/workflow/workflow_initializer.rb +16 -1
  125. data/lib/roast/workflow/workflow_runner.rb +66 -55
  126. data/lib/roast/workflow.rb +1 -0
  127. data/lib/roast/workflow_diagram_generator.rb +3 -2
  128. data/lib/roast.rb +23 -8
  129. data/sorbet/config +8 -0
  130. data/sorbet/rbi/dsl/.gitattributes +1 -0
  131. data/sorbet/rbi/dsl/active_support/callbacks.rbi +21 -0
  132. data/sorbet/rbi/gems/.gitattributes +1 -0
  133. data/sorbet/rbi/gems/activesupport@8.0.2.rbi +19107 -0
  134. data/sorbet/rbi/gems/addressable@2.8.7.rbi +1994 -0
  135. data/sorbet/rbi/gems/ast@2.4.3.rbi +585 -0
  136. data/sorbet/rbi/gems/base64@0.3.0.rbi +545 -0
  137. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +619 -0
  138. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +62 -0
  139. data/sorbet/rbi/gems/cgi@0.5.0.rbi +2961 -0
  140. data/sorbet/rbi/gems/claude_swarm@0.1.19.rbi +568 -0
  141. data/sorbet/rbi/gems/cli-kit@5.0.1.rbi +1991 -0
  142. data/sorbet/rbi/gems/cli-ui@2.3.0.rbi +3181 -0
  143. data/sorbet/rbi/gems/coderay@1.1.3.rbi +9 -0
  144. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +11657 -0
  145. data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
  146. data/sorbet/rbi/gems/crack@1.0.0.rbi +145 -0
  147. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +972 -0
  148. data/sorbet/rbi/gems/dotenv@3.1.8.rbi +295 -0
  149. data/sorbet/rbi/gems/drb@2.2.3.rbi +1661 -0
  150. data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +672 -0
  151. data/sorbet/rbi/gems/dry-core@1.1.0.rbi +1894 -0
  152. data/sorbet/rbi/gems/dry-inflector@1.2.0.rbi +659 -0
  153. data/sorbet/rbi/gems/dry-initializer@3.2.0.rbi +781 -0
  154. data/sorbet/rbi/gems/dry-logic@1.6.0.rbi +1127 -0
  155. data/sorbet/rbi/gems/dry-schema@1.14.1.rbi +3727 -0
  156. data/sorbet/rbi/gems/dry-types@1.8.3.rbi +3969 -0
  157. data/sorbet/rbi/gems/erubi@1.13.1.rbi +155 -0
  158. data/sorbet/rbi/gems/event_stream_parser@1.0.0.rbi +49 -0
  159. data/sorbet/rbi/gems/faraday-multipart@1.1.1.rbi +283 -0
  160. data/sorbet/rbi/gems/faraday-net_http@3.4.1.rbi +147 -0
  161. data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +9 -0
  162. data/sorbet/rbi/gems/faraday@2.13.1.rbi +2977 -0
  163. data/sorbet/rbi/gems/fast-mcp-annotations@1.5.3.rbi +1588 -0
  164. data/sorbet/rbi/gems/ffi@1.17.2.rbi +9 -0
  165. data/sorbet/rbi/gems/formatador@1.1.0.rbi +9 -0
  166. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +102 -0
  167. data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +402 -0
  168. data/sorbet/rbi/gems/guard@2.19.1.rbi +2283 -0
  169. data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +355 -0
  170. data/sorbet/rbi/gems/i18n@1.14.7.rbi +2359 -0
  171. data/sorbet/rbi/gems/json-schema@5.1.1.rbi +1466 -0
  172. data/sorbet/rbi/gems/json@2.12.2.rbi +2051 -0
  173. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +9 -0
  174. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +9 -0
  175. data/sorbet/rbi/gems/listen@3.9.0.rbi +1206 -0
  176. data/sorbet/rbi/gems/logger@1.7.0.rbi +963 -0
  177. data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +1830 -0
  178. data/sorbet/rbi/gems/method_source@1.1.0.rbi +9 -0
  179. data/sorbet/rbi/gems/mime-types-data@3.2025.0617.rbi +136 -0
  180. data/sorbet/rbi/gems/mime-types@3.7.0.rbi +1342 -0
  181. data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +160 -0
  182. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1640 -0
  183. data/sorbet/rbi/gems/mocha@2.7.1.rbi +12 -0
  184. data/sorbet/rbi/gems/multipart-post@2.4.1.rbi +244 -0
  185. data/sorbet/rbi/gems/nenv@0.3.0.rbi +147 -0
  186. data/sorbet/rbi/gems/net-http@0.6.0.rbi +4247 -0
  187. data/sorbet/rbi/gems/netrc@0.11.0.rbi +159 -0
  188. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +1079 -0
  189. data/sorbet/rbi/gems/open_router@0.3.3.rbi +230 -0
  190. data/sorbet/rbi/gems/ostruct@0.6.2.rbi +354 -0
  191. data/sorbet/rbi/gems/parallel@1.27.0.rbi +291 -0
  192. data/sorbet/rbi/gems/parser@3.3.8.0.rbi +5535 -0
  193. data/sorbet/rbi/gems/prism@1.4.0.rbi +41732 -0
  194. data/sorbet/rbi/gems/pry@0.15.2.rbi +9 -0
  195. data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +936 -0
  196. data/sorbet/rbi/gems/racc@1.8.1.rbi +158 -0
  197. data/sorbet/rbi/gems/rack@2.2.17.rbi +5659 -0
  198. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +9 -0
  199. data/sorbet/rbi/gems/raix@1.0.2.rbi +1104 -0
  200. data/sorbet/rbi/gems/rake@13.3.0.rbi +3036 -0
  201. data/sorbet/rbi/gems/rb-fsevent@0.11.2.rbi +9 -0
  202. data/sorbet/rbi/gems/rb-inotify@0.11.1.rbi +9 -0
  203. data/sorbet/rbi/gems/rbi@0.3.6.rbi +6893 -0
  204. data/sorbet/rbi/gems/rbs@3.9.4.rbi +6978 -0
  205. data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +9 -0
  206. data/sorbet/rbi/gems/rexml@3.4.1.rbi +5346 -0
  207. data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +9 -0
  208. data/sorbet/rbi/gems/rubocop-shopify@2.17.1.rbi +9 -0
  209. data/sorbet/rbi/gems/rubocop@1.77.0.rbi +9 -0
  210. data/sorbet/rbi/gems/ruby-graphviz@1.2.5.rbi +1333 -0
  211. data/sorbet/rbi/gems/ruby-openai@8.1.0.rbi +758 -0
  212. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +9 -0
  213. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +9 -0
  214. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +75 -0
  215. data/sorbet/rbi/gems/shellany@0.0.1.rbi +102 -0
  216. data/sorbet/rbi/gems/spoom@1.6.3.rbi +6985 -0
  217. data/sorbet/rbi/gems/sqlite3@2.7.0.rbi +1900 -0
  218. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +3628 -0
  219. data/sorbet/rbi/gems/thor@1.4.0.rbi +4399 -0
  220. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5918 -0
  221. data/sorbet/rbi/gems/unicode-display_width@3.1.4.rbi +9 -0
  222. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +9 -0
  223. data/sorbet/rbi/gems/uri@1.0.3.rbi +2349 -0
  224. data/sorbet/rbi/gems/vcr@6.3.1.rbi +3040 -0
  225. data/sorbet/rbi/gems/webmock@3.25.1.rbi +1792 -0
  226. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +435 -0
  227. data/sorbet/rbi/gems/yard@0.9.37.rbi +18492 -0
  228. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +1429 -0
  229. data/sorbet/tapioca/config.yml +13 -0
  230. data/sorbet/tapioca/require.rb +36 -0
  231. metadata +114 -2
  232. data/lib/roast/workflow/configuration_parser.rb +0 -54
@@ -0,0 +1,3727 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `dry-schema` gem.
5
+ # Please instead update this file by running `bin/tapioca gem dry-schema`.
6
+
7
+
8
+ # source://dry-schema//lib/dry/schema.rb#10
9
+ module Dry
10
+ class << self
11
+ # source://dry-configurable/1.3.0/lib/dry/configurable.rb#11
12
+ def Configurable(**options); end
13
+
14
+ # source://dry-core/1.1.0/lib/dry/core.rb#52
15
+ def Equalizer(*keys, **options); end
16
+
17
+ # source://dry-types/1.8.3/lib/dry/types.rb#253
18
+ def Types(*namespaces, default: T.unsafe(nil), **aliases); end
19
+ end
20
+ end
21
+
22
+ # Main interface
23
+ #
24
+ # @api public
25
+ #
26
+ # source://dry-schema//lib/dry/schema.rb#14
27
+ module Dry::Schema
28
+ include ::Dry::Core::Constants
29
+ extend ::Dry::Core::Extensions
30
+
31
+ class << self
32
+ # source://dry-schema//lib/dry/schema.rb#86
33
+ def Form(**options, &_arg1); end
34
+
35
+ # Define a schema suitable for JSON data
36
+ #
37
+ # This schema type uses `Types::JSON` for coercion by default
38
+ #
39
+ # @api public
40
+ # @example
41
+ # Dry::Schema.JSON do
42
+ # required(:name).filled(:string)
43
+ # required(:age).value(:integer, gt?: 0)
44
+ # end
45
+ # @return [Params]
46
+ # @see Schema#define
47
+ #
48
+ # source://dry-schema//lib/dry/schema.rb#106
49
+ def JSON(**options, &_arg1); end
50
+
51
+ # Define a schema suitable for HTTP params
52
+ #
53
+ # This schema type uses `Types::Params` for coercion by default
54
+ #
55
+ # @api public
56
+ # @example
57
+ # Dry::Schema.Params do
58
+ # required(:name).filled(:string)
59
+ # required(:age).value(:integer, gt?: 0)
60
+ # end
61
+ # @return [Params]
62
+ # @see Schema#define
63
+ #
64
+ # source://dry-schema//lib/dry/schema.rb#86
65
+ def Params(**options, &_arg1); end
66
+
67
+ # Configuration
68
+ #
69
+ # @api public
70
+ # @example
71
+ # Dry::Schema.config.messages.backend = :i18n
72
+ # @return [Config]
73
+ #
74
+ # source://dry-schema//lib/dry/schema.rb#48
75
+ def config; end
76
+
77
+ # Define a schema
78
+ #
79
+ # @api public
80
+ # @example
81
+ # Dry::Schema.define do
82
+ # required(:name).filled(:string)
83
+ # required(:age).value(:integer, gt?: 0)
84
+ # end
85
+ # @param options [Hash]
86
+ # @return [Processor]
87
+ # @see DSL.new
88
+ #
89
+ # source://dry-schema//lib/dry/schema.rb#67
90
+ def define(*_arg0, **_arg1, &_arg2); end
91
+
92
+ # @api private
93
+ #
94
+ # source://dry-schema//lib/dry/schema.rb#18
95
+ def loader; end
96
+ end
97
+ end
98
+
99
+ # Extended rule compiler used internally by the DSL
100
+ #
101
+ # @api private
102
+ #
103
+ # source://dry-schema//lib/dry/schema/compiler.rb#8
104
+ class Dry::Schema::Compiler < ::Dry::Logic::RuleCompiler
105
+ # Return true if a given predicate is supported by this compiler
106
+ #
107
+ # @api private
108
+ # @param predicate [Symbol]
109
+ # @return [Boolean]
110
+ #
111
+ # source://dry-schema//lib/dry/schema/compiler.rb#46
112
+ def support?(predicate); end
113
+
114
+ # @api private
115
+ #
116
+ # source://dry-schema//lib/dry/schema/compiler.rb#19
117
+ def visit_and(node); end
118
+
119
+ # Build a special rule that will produce namespaced failures
120
+ #
121
+ # This is needed for schemas that are namespaced and they are
122
+ # used as nested schemas
123
+ #
124
+ # @api private
125
+ # @param node [Array]
126
+ # @param _opts [Hash] Unused
127
+ # @return [NamespacedRule]
128
+ #
129
+ # source://dry-schema//lib/dry/schema/compiler.rb#34
130
+ def visit_namespace(node, _opts = T.unsafe(nil)); end
131
+
132
+ class << self
133
+ # Builds a default compiler instance with custom predicate registry
134
+ #
135
+ # @api private
136
+ # @return [Compiler]
137
+ #
138
+ # source://dry-schema//lib/dry/schema/compiler.rb#14
139
+ def new(predicates = T.unsafe(nil)); end
140
+ end
141
+ end
142
+
143
+ # Schema definition configuration class
144
+ #
145
+ # @api public
146
+ # @see DSL#configure
147
+ #
148
+ # source://dry-schema//lib/dry/schema/config.rb#14
149
+ class Dry::Schema::Config
150
+ include ::Dry::Configurable::Initializer
151
+ include ::Dry::Core::Constants
152
+ include ::Dry::Configurable
153
+ include ::Dry::Configurable::Methods
154
+ include ::Dry::Configurable::InstanceMethods
155
+ include ::Dry::Core::Equalizer::Methods
156
+ extend ::Dry::Configurable::Methods
157
+ extend ::Dry::Configurable::ClassMethods
158
+
159
+ # @api private
160
+ #
161
+ # source://dry-schema//lib/dry/schema/config.rb#68
162
+ def inspect; end
163
+
164
+ private
165
+
166
+ # Forward to the underlying config object
167
+ #
168
+ # @api private
169
+ #
170
+ # source://dry-schema//lib/dry/schema/config.rb#77
171
+ def method_missing(meth, *_arg1, **_arg2, &_arg3); end
172
+
173
+ # @api private
174
+ # @return [Boolean]
175
+ #
176
+ # source://dry-schema//lib/dry/schema/config.rb#63
177
+ def respond_to_missing?(meth, include_private = T.unsafe(nil)); end
178
+ end
179
+
180
+ # Path to the default set of localized messages bundled within the gem
181
+ #
182
+ # @api public
183
+ #
184
+ # source://dry-schema//lib/dry/schema/constants.rb#27
185
+ Dry::Schema::DEFAULT_MESSAGES_PATH = T.let(T.unsafe(nil), Pathname)
186
+
187
+ # Default namespace used for localized messages in YAML files
188
+ #
189
+ # @api public
190
+ #
191
+ # source://dry-schema//lib/dry/schema/constants.rb#30
192
+ Dry::Schema::DEFAULT_MESSAGES_ROOT = T.let(T.unsafe(nil), String)
193
+
194
+ # @api public
195
+ #
196
+ # source://dry-schema//lib/dry/schema/constants.rb#15
197
+ Dry::Schema::DOT = T.let(T.unsafe(nil), String)
198
+
199
+ # The schema definition DSL class
200
+ #
201
+ # The DSL is exposed by:
202
+ # - `Schema.define`
203
+ # - `Schema.Params`
204
+ # - `Schema.JSON`
205
+ # - `Schema::Params.define` - use with sub-classes
206
+ # - `Schema::JSON.define` - use with sub-classes
207
+ #
208
+ # @api public
209
+ # @example class-based definition
210
+ # class UserSchema < Dry::Schema::Params
211
+ # define do
212
+ # required(:name).filled
213
+ # required(:age).filled(:integer, gt: 18)
214
+ # end
215
+ # end
216
+ #
217
+ # user_schema = UserSchema.new
218
+ # user_schema.(name: 'Jame', age: 21)
219
+ # @example instance-based definition shortcut
220
+ # UserSchema = Dry::Schema.Params do
221
+ # required(:name).filled
222
+ # required(:age).filled(:integer, gt: 18)
223
+ # end
224
+ #
225
+ # UserSchema.(name: 'Jame', age: 21)
226
+ #
227
+ # source://dry-schema//lib/dry/schema/dsl.rb#37
228
+ class Dry::Schema::DSL
229
+ include ::Dry::Initializer::Mixin::Root
230
+ extend ::Dry::Initializer
231
+
232
+ # Return a macro with the provided name
233
+ #
234
+ # @api public
235
+ # @param name [Symbol]
236
+ # @return [Macros::Core]
237
+ #
238
+ # source://dry-schema//lib/dry/schema/dsl.rb#124
239
+ def [](name); end
240
+
241
+ # Method allows steps injection to the processor
242
+ #
243
+ # @api public
244
+ # @example
245
+ # after(:rule_applier) do |input|
246
+ # input.compact
247
+ # end
248
+ # @return [DSL]
249
+ #
250
+ # source://dry-schema//lib/dry/schema/dsl.rb#267
251
+ def after(key, &_arg1); end
252
+
253
+ # A shortcut for defining an array type with a member
254
+ #
255
+ # @api public
256
+ # @example
257
+ # required(:tags).filled(array[:string])
258
+ # @return [Dry::Types::Array::Member]
259
+ #
260
+ # source://dry-schema//lib/dry/schema/dsl.rb#238
261
+ def array; end
262
+
263
+ # Method allows steps injection to the processor
264
+ #
265
+ # @api public
266
+ # @example
267
+ # before(:rule_applier) do |input|
268
+ # input.compact
269
+ # end
270
+ # @return [DSL]
271
+ #
272
+ # source://dry-schema//lib/dry/schema/dsl.rb#252
273
+ def before(key, &_arg1); end
274
+
275
+ # Build a processor based on DSL's definitions
276
+ #
277
+ # @api private
278
+ # @return [Processor, Params, JSON]
279
+ #
280
+ # source://dry-schema//lib/dry/schema/dsl.rb#195
281
+ def call; end
282
+
283
+ # @api private
284
+ #
285
+ # source://dry-schema//lib/dry/schema/dsl.rb#108
286
+ def compiler; end
287
+
288
+ # Provide customized configuration for your schema
289
+ #
290
+ # @api public
291
+ # @example
292
+ # Dry::Schema.define do
293
+ # configure do |config|
294
+ # config.messages.backend = :i18n
295
+ # end
296
+ # end
297
+ # @return [DSL]
298
+ # @see Config
299
+ #
300
+ # source://dry-schema//lib/dry/schema/dsl.rb#102
301
+ def configure(&_arg0); end
302
+
303
+ # Check if a custom type was set under provided key name
304
+ #
305
+ # @api private
306
+ # @return [Bool]
307
+ #
308
+ # source://dry-schema//lib/dry/schema/dsl.rb#328
309
+ def custom_type?(name); end
310
+
311
+ # Check if any filter rules were defined
312
+ #
313
+ # @api private
314
+ # @return [Boolean]
315
+ #
316
+ # source://dry-schema//lib/dry/schema/dsl.rb#365
317
+ def filter_rules?; end
318
+
319
+ # @api private
320
+ #
321
+ # source://dry-schema//lib/dry/schema/dsl.rb#349
322
+ def filter_schema; end
323
+
324
+ # Build an input schema DSL used by `filter` API
325
+ #
326
+ # @api private
327
+ # @see Macros::Value#filter
328
+ #
329
+ # source://dry-schema//lib/dry/schema/dsl.rb#358
330
+ def filter_schema_dsl; end
331
+
332
+ # A generic method for defining keys
333
+ #
334
+ # @api public
335
+ # @param name [Symbol] The key name
336
+ # @param macro [Class] The macro sub-class (ie `Macros::Required` or
337
+ # any other `Macros::Key` subclass)
338
+ # @raise [ArgumentError]
339
+ # @return [Macros::Key]
340
+ #
341
+ # source://dry-schema//lib/dry/schema/dsl.rb#173
342
+ def key(name, macro:, &_arg2); end
343
+
344
+ # Merge with another dsl
345
+ #
346
+ # @api private
347
+ # @return [DSL]
348
+ #
349
+ # source://dry-schema//lib/dry/schema/dsl.rb#214
350
+ def merge(other); end
351
+
352
+ # @api private
353
+ #
354
+ # source://dry-schema//lib/dry/schema/dsl.rb#381
355
+ def merge_types(op_class, lhs, rhs); end
356
+
357
+ # source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#76
358
+ def meta(key_name, meta_key, value); end
359
+
360
+ # source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#82
361
+ def meta_data; end
362
+
363
+ # Return a new DSL instance using the same processor type
364
+ #
365
+ # @api private
366
+ # @return [Dry::Types::Safe]
367
+ #
368
+ # source://dry-schema//lib/dry/schema/dsl.rb#304
369
+ def new(klass: T.unsafe(nil), **options, &_arg2); end
370
+
371
+ # Define an optional key
372
+ #
373
+ # This works exactly the same as `required` except that if a key is not present
374
+ # rules will not be applied
375
+ #
376
+ # @api public
377
+ # @param name [Symbol] The key name
378
+ # @return [Macros::Optional]
379
+ # @see DSL#required
380
+ #
381
+ # source://dry-schema//lib/dry/schema/dsl.rb#160
382
+ def optional(name, &_arg1); end
383
+
384
+ # The parent (last from parents) which is used for copying non mergeable configuration
385
+ #
386
+ # @api public
387
+ # @return DSL
388
+ #
389
+ # source://dry-schema//lib/dry/schema/dsl.rb#277
390
+ def parent; end
391
+
392
+ # @api private
393
+ #
394
+ # source://dry-schema//lib/dry/schema/dsl.rb#113
395
+ def predicates; end
396
+
397
+ # Define a required key
398
+ #
399
+ # @api public
400
+ # @example
401
+ # required(:name).filled
402
+ #
403
+ # required(:age).value(:integer)
404
+ #
405
+ # required(:user_limit).value(:integer, gt?: 0)
406
+ #
407
+ # required(:tags).filled { array? | str? }
408
+ # @param name [Symbol] The key name
409
+ # @return [Macros::Required]
410
+ #
411
+ # source://dry-schema//lib/dry/schema/dsl.rb#144
412
+ def required(name, &_arg1); end
413
+
414
+ # Resolve type object from the provided spec
415
+ #
416
+ # @api private
417
+ # @param spec [Symbol, Array<Symbol>, Dry::Types::Type]
418
+ # @return [Dry::Types::Type]
419
+ #
420
+ # source://dry-schema//lib/dry/schema/dsl.rb#339
421
+ def resolve_type(spec); end
422
+
423
+ # Set a type for the given key name
424
+ #
425
+ # @api private
426
+ # @param name [Symbol] The key name
427
+ # @param spec [Symbol, Array<Symbol>, Dry::Types::Type] The type spec or a type object
428
+ # @return [Dry::Types::Safe]
429
+ #
430
+ # source://dry-schema//lib/dry/schema/dsl.rb#316
431
+ def set_type(name, spec); end
432
+
433
+ # Return type schema used when composing subschemas
434
+ #
435
+ # @api private
436
+ # @return [Dry::Types::Schema]
437
+ #
438
+ # source://dry-schema//lib/dry/schema/dsl.rb#295
439
+ def strict_type_schema; end
440
+
441
+ # Cast this DSL into a rule object
442
+ #
443
+ # @api public
444
+ # @return [RuleApplier]
445
+ #
446
+ # source://dry-schema//lib/dry/schema/dsl.rb#226
447
+ def to_rule; end
448
+
449
+ # Return type schema used by the value coercer
450
+ #
451
+ # @api private
452
+ # @return [Dry::Types::Lax]
453
+ #
454
+ # source://dry-schema//lib/dry/schema/dsl.rb#286
455
+ def type_schema; end
456
+
457
+ # This DSL's type map merged with any parent type maps
458
+ #
459
+ # @api private
460
+ #
461
+ # source://dry-schema//lib/dry/schema/dsl.rb#376
462
+ def types; end
463
+
464
+ protected
465
+
466
+ # Build a key map from defined types
467
+ #
468
+ # @api protected
469
+ #
470
+ # source://dry-schema//lib/dry/schema/dsl.rb#408
471
+ def key_map(types = T.unsafe(nil)); end
472
+
473
+ # Build a rule applier
474
+ #
475
+ # @api protected
476
+ # @return [RuleApplier]
477
+ #
478
+ # source://dry-schema//lib/dry/schema/dsl.rb#392
479
+ def rule_applier; end
480
+
481
+ # Build rules from defined macros
482
+ #
483
+ # @api protected
484
+ # @see #rule_applier
485
+ #
486
+ # source://dry-schema//lib/dry/schema/dsl.rb#401
487
+ def rules; end
488
+
489
+ private
490
+
491
+ # @api private
492
+ #
493
+ # source://dry-schema//lib/dry/schema/dsl.rb#501
494
+ def default_config; end
495
+
496
+ # Build a key coercer
497
+ #
498
+ # @api private
499
+ # @return [KeyCoercer]
500
+ #
501
+ # source://dry-schema//lib/dry/schema/dsl.rb#440
502
+ def key_coercer; end
503
+
504
+ # Return key map type configured by the processor type
505
+ #
506
+ # @api private
507
+ #
508
+ # source://dry-schema//lib/dry/schema/dsl.rb#466
509
+ def key_map_type; end
510
+
511
+ # Build a key spec needed by the key map
512
+ #
513
+ # TODO: we need a key-map compiler using Types AST
514
+ #
515
+ # @api private
516
+ #
517
+ # source://dry-schema//lib/dry/schema/dsl.rb#475
518
+ def key_spec(name, type); end
519
+
520
+ # Build a key validator
521
+ #
522
+ # @api private
523
+ # @return [KeyValidator]
524
+ #
525
+ # source://dry-schema//lib/dry/schema/dsl.rb#431
526
+ def key_validator; end
527
+
528
+ # @api private
529
+ #
530
+ # source://dry-schema//lib/dry/schema/dsl.rb#422
531
+ def parent_filter_schemas; end
532
+
533
+ # @api private
534
+ #
535
+ # source://dry-schema//lib/dry/schema/dsl.rb#496
536
+ def parent_key_map; end
537
+
538
+ # @api private
539
+ #
540
+ # source://dry-schema//lib/dry/schema/dsl.rb#491
541
+ def parent_rules; end
542
+
543
+ # Return type registry configured by the processor type
544
+ #
545
+ # @api private
546
+ #
547
+ # source://dry-schema//lib/dry/schema/dsl.rb#456
548
+ def type_registry; end
549
+
550
+ # @api public
551
+ #
552
+ # source://dry-schema//lib/dry/schema/dsl.rb#512
553
+ def types_merger; end
554
+
555
+ # Build a value coercer
556
+ #
557
+ # @api private
558
+ # @return [ValueCoercer]
559
+ #
560
+ # source://dry-schema//lib/dry/schema/dsl.rb#449
561
+ def value_coercer; end
562
+
563
+ class << self
564
+ # Build a new DSL object and evaluate provided block
565
+ #
566
+ # @api public
567
+ # @option options
568
+ # @option options
569
+ # @option options
570
+ # @option options
571
+ # @param options [Hash]
572
+ # @return [DSL]
573
+ # @see Schema.define
574
+ # @see Schema.Params
575
+ # @see Schema.JSON
576
+ # @see Processor.define
577
+ #
578
+ # source://dry-schema//lib/dry/schema/dsl.rb#81
579
+ def new(**options, &_arg1); end
580
+ end
581
+ end
582
+
583
+ # @api public
584
+ #
585
+ # source://dry-schema//lib/dry/schema/dsl.rb#38
586
+ Dry::Schema::DSL::Types = Dry::Schema::Types
587
+
588
+ # An error raised when DSL is used in an incorrect way
589
+ #
590
+ # @api public
591
+ #
592
+ # source://dry-schema//lib/dry/schema/constants.rb#33
593
+ class Dry::Schema::InvalidSchemaError < ::StandardError; end
594
+
595
+ # JSON schema type
596
+ #
597
+ # @api public
598
+ # @see Processor
599
+ # @see Schema#JSON
600
+ #
601
+ # source://dry-schema//lib/dry/schema/json.rb#11
602
+ class Dry::Schema::JSON < ::Dry::Schema::Processor; end
603
+
604
+ # Key objects used by key maps
605
+ #
606
+ # @api public
607
+ #
608
+ # source://dry-schema//lib/dry/schema/key.rb#8
609
+ class Dry::Schema::Key
610
+ include ::Dry::Core::Cache::Methods
611
+ include ::Dry::Core::Equalizer::Methods
612
+ extend ::Dry::Core::Cache
613
+
614
+ # @api private
615
+ # @return [Key] a new instance of Key
616
+ #
617
+ # source://dry-schema//lib/dry/schema/key.rb#35
618
+ def initialize(id, name: T.unsafe(nil), coercer: T.unsafe(nil)); end
619
+
620
+ # @api public
621
+ # @return [Proc, #call] A key name coercer function
622
+ #
623
+ # source://dry-schema//lib/dry/schema/key.rb#22
624
+ def coercer; end
625
+
626
+ # @api private
627
+ #
628
+ # source://dry-schema//lib/dry/schema/key.rb#58
629
+ def coercible(&coercer); end
630
+
631
+ # @api private
632
+ #
633
+ # source://dry-schema//lib/dry/schema/key.rb#78
634
+ def dump; end
635
+
636
+ # @api public
637
+ # @return [Symbol] The key identifier
638
+ #
639
+ # source://dry-schema//lib/dry/schema/key.rb#16
640
+ def id; end
641
+
642
+ # @api public
643
+ # @return [Symbol, String, Object] The actual key name expected in an input hash
644
+ #
645
+ # source://dry-schema//lib/dry/schema/key.rb#19
646
+ def name; end
647
+
648
+ # @api private
649
+ #
650
+ # source://dry-schema//lib/dry/schema/key.rb#73
651
+ def new(**new_opts); end
652
+
653
+ # @api private
654
+ #
655
+ # source://dry-schema//lib/dry/schema/key.rb#42
656
+ def read(source); end
657
+
658
+ # @api private
659
+ #
660
+ # source://dry-schema//lib/dry/schema/key.rb#63
661
+ def stringified; end
662
+
663
+ # @api private
664
+ #
665
+ # source://dry-schema//lib/dry/schema/key.rb#68
666
+ def to_dot_notation; end
667
+
668
+ # @api private
669
+ #
670
+ # source://dry-schema//lib/dry/schema/key.rb#53
671
+ def write(source, target); end
672
+
673
+ private
674
+
675
+ # @api private
676
+ #
677
+ # source://dry-schema//lib/dry/schema/key.rb#85
678
+ def coerced_name; end
679
+
680
+ class << self
681
+ # @api private
682
+ #
683
+ # source://dry-schema//lib/dry/schema/key.rb#25
684
+ def [](name, **opts); end
685
+
686
+ # @api private
687
+ #
688
+ # source://dry-schema//lib/dry/schema/key.rb#30
689
+ def new(*args, **kwargs); end
690
+ end
691
+ end
692
+
693
+ # A specialized key type which handles nested arrays
694
+ #
695
+ # @api private
696
+ #
697
+ # source://dry-schema//lib/dry/schema/key.rb#139
698
+ class Dry::Schema::Key::Array < ::Dry::Schema::Key
699
+ # @api private
700
+ # @return [Array] a new instance of Array
701
+ #
702
+ # source://dry-schema//lib/dry/schema/key.rb#145
703
+ def initialize(id, member:, **opts); end
704
+
705
+ # @api private
706
+ #
707
+ # source://dry-schema//lib/dry/schema/key.rb#163
708
+ def coercible(&coercer); end
709
+
710
+ # @api private
711
+ #
712
+ # source://dry-schema//lib/dry/schema/key.rb#178
713
+ def dump; end
714
+
715
+ # @api private
716
+ #
717
+ # source://dry-schema//lib/dry/schema/key.rb#142
718
+ def member; end
719
+
720
+ # @api private
721
+ #
722
+ # source://dry-schema//lib/dry/schema/key.rb#168
723
+ def stringified; end
724
+
725
+ # @api private
726
+ #
727
+ # source://dry-schema//lib/dry/schema/key.rb#173
728
+ def to_dot_notation; end
729
+
730
+ # @api private
731
+ #
732
+ # source://dry-schema//lib/dry/schema/key.rb#151
733
+ def write(source, target); end
734
+ end
735
+
736
+ # @api public
737
+ #
738
+ # source://dry-schema//lib/dry/schema/key.rb#11
739
+ Dry::Schema::Key::DEFAULT_COERCER = T.let(T.unsafe(nil), Proc)
740
+
741
+ # A specialized key type which handles nested hashes
742
+ #
743
+ # @api private
744
+ #
745
+ # source://dry-schema//lib/dry/schema/key.rb#92
746
+ class Dry::Schema::Key::Hash < ::Dry::Schema::Key
747
+ # @api private
748
+ # @return [Hash] a new instance of Hash
749
+ #
750
+ # source://dry-schema//lib/dry/schema/key.rb#99
751
+ def initialize(id, members:, **opts); end
752
+
753
+ # @api private
754
+ #
755
+ # source://dry-schema//lib/dry/schema/key.rb#116
756
+ def coercible(&coercer); end
757
+
758
+ # @api private
759
+ #
760
+ # source://dry-schema//lib/dry/schema/key.rb#131
761
+ def dump; end
762
+
763
+ # @api private
764
+ #
765
+ # source://dry-schema//lib/dry/schema/key.rb#96
766
+ def members; end
767
+
768
+ # @api private
769
+ #
770
+ # source://dry-schema//lib/dry/schema/key.rb#105
771
+ def read(source); end
772
+
773
+ # @api private
774
+ #
775
+ # source://dry-schema//lib/dry/schema/key.rb#121
776
+ def stringified; end
777
+
778
+ # @api private
779
+ #
780
+ # source://dry-schema//lib/dry/schema/key.rb#126
781
+ def to_dot_notation; end
782
+
783
+ # @api private
784
+ #
785
+ # source://dry-schema//lib/dry/schema/key.rb#109
786
+ def write(source, target); end
787
+ end
788
+
789
+ # Coerces keys in a hash using provided coercer function
790
+ #
791
+ # @api private
792
+ #
793
+ # source://dry-schema//lib/dry/schema/key_coercer.rb#11
794
+ class Dry::Schema::KeyCoercer
795
+ include ::Dry::Core::Cache::Methods
796
+ include ::Dry::Core::Equalizer::Methods
797
+ extend ::Dry::Core::Cache
798
+
799
+ # @api private
800
+ # @return [KeyCoercer] a new instance of KeyCoercer
801
+ #
802
+ # source://dry-schema//lib/dry/schema/key_coercer.rb#30
803
+ def initialize(key_map, &_arg1); end
804
+
805
+ # @api private
806
+ #
807
+ # source://dry-schema//lib/dry/schema/key_coercer.rb#35
808
+ def [](result); end
809
+
810
+ # @api private
811
+ #
812
+ # source://dry-schema//lib/dry/schema/key_coercer.rb#35
813
+ def call(result); end
814
+
815
+ # @api private
816
+ #
817
+ # source://dry-schema//lib/dry/schema/key_coercer.rb#17
818
+ def coercer; end
819
+
820
+ # @api private
821
+ #
822
+ # source://dry-schema//lib/dry/schema/key_coercer.rb#17
823
+ def key_map; end
824
+
825
+ class << self
826
+ # @api private
827
+ #
828
+ # source://dry-schema//lib/dry/schema/key_coercer.rb#20
829
+ def new(*args); end
830
+
831
+ # @api private
832
+ #
833
+ # source://dry-schema//lib/dry/schema/key_coercer.rb#25
834
+ def symbolized(*args); end
835
+ end
836
+ end
837
+
838
+ # @api private
839
+ #
840
+ # source://dry-schema//lib/dry/schema/key_coercer.rb#15
841
+ Dry::Schema::KeyCoercer::TO_SYM = T.let(T.unsafe(nil), Proc)
842
+
843
+ # Represents a list of keys defined by the DSL
844
+ #
845
+ # KeyMap objects expose an API for introspecting schema keys and the ability
846
+ # to rebuild an input hash using configured coercer function.
847
+ #
848
+ # Instances of this class are used as the very first step by the schema processors.
849
+ #
850
+ # @api public
851
+ #
852
+ # source://dry-schema//lib/dry/schema/key_map.rb#15
853
+ class Dry::Schema::KeyMap
854
+ include ::Dry::Core::Cache::Methods
855
+ include ::Dry::Core::Equalizer::Methods
856
+ include ::Enumerable
857
+ extend ::Dry::Core::Cache
858
+
859
+ # Set key objects
860
+ #
861
+ # @api private
862
+ # @return [KeyMap] a new instance of KeyMap
863
+ #
864
+ # source://dry-schema//lib/dry/schema/key_map.rb#50
865
+ def initialize(keys); end
866
+
867
+ # Return a new key map merged with the provided one
868
+ #
869
+ # @api public
870
+ # @param other [KeyMap, Array] Either a key map or an array with key specs
871
+ # @return [KeyMap]
872
+ #
873
+ # source://dry-schema//lib/dry/schema/key_map.rb#117
874
+ def +(other); end
875
+
876
+ # Return a new key map that is configured to coerce keys using provided coercer function
877
+ #
878
+ # @api public
879
+ # @return [KeyMap]
880
+ #
881
+ # source://dry-schema//lib/dry/schema/key_map.rb#85
882
+ def coercible(&coercer); end
883
+
884
+ # Dump keys to their spec format
885
+ #
886
+ # @api public
887
+ # @return [Array]
888
+ #
889
+ # source://dry-schema//lib/dry/schema/key_map.rb#131
890
+ def dump; end
891
+
892
+ # Iterate over keys
893
+ #
894
+ # @api public
895
+ #
896
+ # source://dry-schema//lib/dry/schema/key_map.rb#108
897
+ def each(&_arg0); end
898
+
899
+ # Return a string representation of a key map
900
+ #
901
+ # @api public
902
+ # @return [String]
903
+ #
904
+ # source://dry-schema//lib/dry/schema/key_map.rb#124
905
+ def inspect; end
906
+
907
+ # @api public
908
+ # @return [Array<Key>] A list of defined key objects
909
+ #
910
+ # source://dry-schema//lib/dry/schema/key_map.rb#22
911
+ def keys; end
912
+
913
+ # Return a new key map with stringified keys
914
+ #
915
+ # A stringified key map is suitable for reading hashes with string keys
916
+ #
917
+ # @api public
918
+ # @return [KeyMap]
919
+ #
920
+ # source://dry-schema//lib/dry/schema/key_map.rb#96
921
+ def stringified; end
922
+
923
+ # @api private
924
+ #
925
+ # source://dry-schema//lib/dry/schema/key_map.rb#101
926
+ def to_dot_notation; end
927
+
928
+ # Write a new hash based on the source hash
929
+ #
930
+ # @api public
931
+ # @param source [Hash] The source hash
932
+ # @param target [Hash] The target hash
933
+ # @return [Hash]
934
+ #
935
+ # source://dry-schema//lib/dry/schema/key_map.rb#75
936
+ def write(source, target = T.unsafe(nil)); end
937
+
938
+ class << self
939
+ # Coerce a list of key specs into a key map
940
+ #
941
+ # @api public
942
+ # @example
943
+ # KeyMap[:id, :name]
944
+ # KeyMap[:title, :artist, tags: [:name]]
945
+ # KeyMap[:title, :artist, [:tags]]
946
+ # @return [KeyMap]
947
+ #
948
+ # source://dry-schema//lib/dry/schema/key_map.rb#34
949
+ def [](*keys); end
950
+
951
+ # Build new, or returned a cached instance of a key map
952
+ #
953
+ # @api public
954
+ # @param args [Array<Symbol>, Array, Hash<Symbol=>Array>]
955
+ # @return [KeyMap]
956
+ #
957
+ # source://dry-schema//lib/dry/schema/key_map.rb#43
958
+ def new(*args); end
959
+ end
960
+ end
961
+
962
+ # @api private
963
+ #
964
+ # source://dry-schema//lib/dry/schema/key_validator.rb#9
965
+ class Dry::Schema::KeyValidator
966
+ include ::Dry::Initializer::Mixin::Root
967
+ extend ::Dry::Initializer
968
+
969
+ # @api private
970
+ #
971
+ # source://dry-schema//lib/dry/schema/key_validator.rb#20
972
+ def call(result); end
973
+
974
+ private
975
+
976
+ # @api private
977
+ # @return [Boolean]
978
+ #
979
+ # source://dry-schema//lib/dry/schema/key_validator.rb#58
980
+ def any_key_paths_match?(key_paths, path); end
981
+
982
+ # @api private
983
+ #
984
+ # source://dry-schema//lib/dry/schema/key_validator.rb#65
985
+ def find_path(key_paths, path, prefix_match); end
986
+
987
+ # @api private
988
+ #
989
+ # source://dry-schema//lib/dry/schema/key_validator.rb#97
990
+ def hashes_or_arrays(xs); end
991
+
992
+ # @api private
993
+ #
994
+ # source://dry-schema//lib/dry/schema/key_validator.rb#71
995
+ def key_paths(hash); end
996
+
997
+ # @api private
998
+ # @return [Boolean]
999
+ #
1000
+ # source://dry-schema//lib/dry/schema/key_validator.rb#53
1001
+ def none_key_paths_match?(key_paths, path); end
1002
+
1003
+ # @api private
1004
+ #
1005
+ # source://dry-schema//lib/dry/schema/key_validator.rb#40
1006
+ def validate_path(key_paths, path); end
1007
+ end
1008
+
1009
+ # @api private
1010
+ #
1011
+ # source://dry-schema//lib/dry/schema/key_validator.rb#14
1012
+ Dry::Schema::KeyValidator::BRACKETS = T.let(T.unsafe(nil), String)
1013
+
1014
+ # @api private
1015
+ #
1016
+ # source://dry-schema//lib/dry/schema/key_validator.rb#13
1017
+ Dry::Schema::KeyValidator::DIGIT_REGEX = T.let(T.unsafe(nil), Regexp)
1018
+
1019
+ # @api private
1020
+ #
1021
+ # source://dry-schema//lib/dry/schema/key_validator.rb#12
1022
+ Dry::Schema::KeyValidator::INDEX_REGEX = T.let(T.unsafe(nil), Regexp)
1023
+
1024
+ # @api public
1025
+ #
1026
+ # source://dry-schema//lib/dry/schema/constants.rb#13
1027
+ Dry::Schema::LIST_SEPARATOR = T.let(T.unsafe(nil), String)
1028
+
1029
+ # @api public
1030
+ #
1031
+ # source://dry-schema//lib/dry/schema/macros/value.rb#5
1032
+ module Dry::Schema::Macros; end
1033
+
1034
+ # Macro used to specify predicates for each element of an array
1035
+ #
1036
+ # @api private
1037
+ #
1038
+ # source://dry-schema//lib/dry/schema/macros/array.rb#9
1039
+ class Dry::Schema::Macros::Array < ::Dry::Schema::Macros::DSL
1040
+ # @api private
1041
+ #
1042
+ # source://dry-schema//lib/dry/schema/macros/array.rb#47
1043
+ def ast(*_arg0); end
1044
+
1045
+ # @api private
1046
+ #
1047
+ # source://dry-schema//lib/dry/schema/macros/array.rb#47
1048
+ def to_ast(*_arg0); end
1049
+
1050
+ # @api private
1051
+ #
1052
+ # source://dry-schema//lib/dry/schema/macros/array.rb#13
1053
+ def value(*args, **opts, &block); end
1054
+ end
1055
+
1056
+ # Abstract macro class
1057
+ #
1058
+ # @api private
1059
+ #
1060
+ # source://dry-schema//lib/dry/schema/macros/core.rb#12
1061
+ class Dry::Schema::Macros::Core
1062
+ include ::Dry::Initializer::Mixin::Root
1063
+ extend ::Dry::Initializer
1064
+
1065
+ # @api private
1066
+ #
1067
+ # source://dry-schema//lib/dry/schema/macros/core.rb#43
1068
+ def ast(*_arg0); end
1069
+
1070
+ # @api private
1071
+ #
1072
+ # source://dry-schema//lib/dry/schema/macros/core.rb#28
1073
+ def new(**options); end
1074
+
1075
+ # @api private
1076
+ # @raise [NotImplementedError]
1077
+ #
1078
+ # source://dry-schema//lib/dry/schema/macros/core.rb#49
1079
+ def operation; end
1080
+
1081
+ # @api private
1082
+ #
1083
+ # source://dry-schema//lib/dry/schema/macros/core.rb#33
1084
+ def path; end
1085
+
1086
+ # @api private
1087
+ #
1088
+ # source://dry-schema//lib/dry/schema/macros/core.rb#43
1089
+ def to_ast(*_arg0); end
1090
+
1091
+ # @api private
1092
+ #
1093
+ # source://dry-schema//lib/dry/schema/macros/core.rb#38
1094
+ def to_rule; end
1095
+ end
1096
+
1097
+ # Macro specialization used within the DSL
1098
+ #
1099
+ # @api public
1100
+ #
1101
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#9
1102
+ class Dry::Schema::Macros::DSL < ::Dry::Schema::Macros::Core
1103
+ include ::Dry::Logic::Operators
1104
+
1105
+ # Like `each` but sets `array?` type-check
1106
+ #
1107
+ # @api public
1108
+ # @example a list of strings
1109
+ # required(:tags).array(:str?)
1110
+ # @example a list of hashes
1111
+ # required(:tags).array(:hash) do
1112
+ # required(:name).filled(:string)
1113
+ # end
1114
+ # @return [Macros::Core]
1115
+ #
1116
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#176
1117
+ def array(*_arg0, **_arg1, &_arg2); end
1118
+
1119
+ # @api private
1120
+ # @return [Boolean]
1121
+ #
1122
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#198
1123
+ def custom_type?; end
1124
+
1125
+ # Specify predicates that should be applied to each element of an array
1126
+ #
1127
+ # This is a simpler building block than `array` macro, use it
1128
+ # when you want to provide `array?` type-check with other rules
1129
+ # manually.
1130
+ #
1131
+ # @api public
1132
+ # @example a list of strings
1133
+ # required(:tags).value(:array, min_size?: 2).each(:str?)
1134
+ # @example a list of hashes
1135
+ # required(:tags).value(:array, min_size?: 2).each(:hash) do
1136
+ # required(:name).filled(:string)
1137
+ # end
1138
+ # @return [Macros::Core]
1139
+ #
1140
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#157
1141
+ def each(*_arg0, **_arg1, &_arg2); end
1142
+
1143
+ # Prepends `:filled?` predicate
1144
+ #
1145
+ # @api public
1146
+ # @example with a type spec
1147
+ # required(:name).filled(:string)
1148
+ # @example with a type spec and a predicate
1149
+ # required(:name).filled(:string, format?: /\w+/)
1150
+ # @return [Macros::Core]
1151
+ #
1152
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#80
1153
+ def filled(*args, **opts, &block); end
1154
+
1155
+ # Specify a nested hash with enforced `hash?` type-check
1156
+ #
1157
+ # @api public
1158
+ # @example
1159
+ # required(:tags).hash do
1160
+ # required(:name).value(:string)
1161
+ # end
1162
+ #
1163
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#134
1164
+ def hash(*_arg0, **_arg1, &_arg2); end
1165
+
1166
+ # Set type specification and predicates for a maybe value
1167
+ #
1168
+ # @api public
1169
+ # @example
1170
+ # required(:name).maybe(:string)
1171
+ # @return [Macros::Key]
1172
+ # @see Macros::Key#value
1173
+ #
1174
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#98
1175
+ def maybe(*args, **opts, &block); end
1176
+
1177
+ # Specify a nested hash without enforced `hash?` type-check
1178
+ #
1179
+ # This is a simpler building block than `hash` macro, use it
1180
+ # when you want to provide `hash?` type-check with other rules
1181
+ # manually.
1182
+ #
1183
+ # @api public
1184
+ # @example
1185
+ # required(:tags).value(:hash, min_size?: 1).schema do
1186
+ # required(:name).value(:string)
1187
+ # end
1188
+ # @return [Macros::Core]
1189
+ #
1190
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#120
1191
+ def schema(*_arg0, **_arg1, &_arg2); end
1192
+
1193
+ # Set type spec
1194
+ #
1195
+ # @api public
1196
+ # @example
1197
+ # required(:name).type(:string).value(min_size?: 2)
1198
+ # @param spec [Symbol, Array, Dry::Types::Type]
1199
+ # @return [Macros::Key]
1200
+ #
1201
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#192
1202
+ def type(spec); end
1203
+
1204
+ # @api public
1205
+ # @overload value
1206
+ # @return [Macros::Core]
1207
+ #
1208
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#55
1209
+ def value(*args, **opts, &block); end
1210
+
1211
+ private
1212
+
1213
+ # @api private
1214
+ # @yield [macro]
1215
+ #
1216
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#205
1217
+ def append_macro(macro_type); end
1218
+
1219
+ # @api private
1220
+ #
1221
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#222
1222
+ def extract_type_spec(args, nullable: T.unsafe(nil), set_type: T.unsafe(nil)); end
1223
+
1224
+ # @api private
1225
+ #
1226
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#259
1227
+ def resolve_type(type_spec, nullable); end
1228
+
1229
+ # @api private
1230
+ # @return [Boolean]
1231
+ #
1232
+ # source://dry-schema//lib/dry/schema/macros/dsl.rb#270
1233
+ def schema_or_predicate?(arg); end
1234
+ end
1235
+
1236
+ # Macro used to specify predicates for each element of an array
1237
+ #
1238
+ # @api private
1239
+ #
1240
+ # source://dry-schema//lib/dry/schema/macros/each.rb#9
1241
+ class Dry::Schema::Macros::Each < ::Dry::Schema::Macros::DSL
1242
+ # @api private
1243
+ #
1244
+ # source://dry-schema//lib/dry/schema/macros/each.rb#24
1245
+ def ast(*_arg0); end
1246
+
1247
+ # @api private
1248
+ #
1249
+ # source://dry-schema//lib/dry/schema/macros/each.rb#24
1250
+ def to_ast(*_arg0); end
1251
+
1252
+ # @api private
1253
+ #
1254
+ # source://dry-schema//lib/dry/schema/macros/each.rb#11
1255
+ def value(*args, **opts, &block); end
1256
+ end
1257
+
1258
+ # Macro used to prepend `:filled?` predicate
1259
+ #
1260
+ # @api private
1261
+ #
1262
+ # source://dry-schema//lib/dry/schema/macros/filled.rb#9
1263
+ class Dry::Schema::Macros::Filled < ::Dry::Schema::Macros::Value
1264
+ # @api private
1265
+ #
1266
+ # source://dry-schema//lib/dry/schema/macros/filled.rb#11
1267
+ def call(*predicates, **opts, &block); end
1268
+
1269
+ # @api private
1270
+ #
1271
+ # source://dry-schema//lib/dry/schema/macros/filled.rb#26
1272
+ def ensure_valid_predicates(predicates); end
1273
+
1274
+ # @api private
1275
+ #
1276
+ # source://dry-schema//lib/dry/schema/macros/filled.rb#47
1277
+ def expected_primitives; end
1278
+
1279
+ # @api private
1280
+ # @return [Boolean]
1281
+ #
1282
+ # source://dry-schema//lib/dry/schema/macros/filled.rb#37
1283
+ def filter_empty_string?; end
1284
+
1285
+ # @api private
1286
+ #
1287
+ # source://dry-schema//lib/dry/schema/macros/filled.rb#42
1288
+ def processor_config; end
1289
+
1290
+ # @api private
1291
+ #
1292
+ # source://dry-schema//lib/dry/schema/macros/filled.rb#52
1293
+ def schema_type; end
1294
+ end
1295
+
1296
+ # Macro used to specify a nested schema
1297
+ #
1298
+ # @api private
1299
+ #
1300
+ # source://dry-schema//lib/dry/schema/macros/hash.rb#9
1301
+ class Dry::Schema::Macros::Hash < ::Dry::Schema::Macros::Schema
1302
+ # @api private
1303
+ #
1304
+ # source://dry-schema//lib/dry/schema/macros/hash.rb#11
1305
+ def call(*args, &block); end
1306
+
1307
+ # source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#62
1308
+ def description(text); end
1309
+ end
1310
+
1311
+ # Base macro for specifying rules applied to a value found under a key
1312
+ #
1313
+ # @api public
1314
+ #
1315
+ # source://dry-schema//lib/dry/schema/macros/key.rb#9
1316
+ class Dry::Schema::Macros::Key < ::Dry::Schema::Macros::DSL
1317
+ # Specify predicates that should be applied before coercion
1318
+ #
1319
+ # @api public
1320
+ # @example check format before coercing to a date
1321
+ # required(:publish_date).filter(format?: /\d{4}-\d{2}-\d{2}).value(:date)
1322
+ # @return [Macros::Key]
1323
+ # @see Macros::Key#value
1324
+ #
1325
+ # source://dry-schema//lib/dry/schema/macros/key.rb#25
1326
+ def filter(*_arg0, **_arg1, &_arg2); end
1327
+
1328
+ # @api private
1329
+ #
1330
+ # source://dry-schema//lib/dry/schema/macros/key.rb#44
1331
+ def to_ast; end
1332
+
1333
+ # Coerce macro to a rule
1334
+ #
1335
+ # @api private
1336
+ # @return [Dry::Logic::Rule]
1337
+ #
1338
+ # source://dry-schema//lib/dry/schema/macros/key.rb#35
1339
+ def to_rule; end
1340
+ end
1341
+
1342
+ # Macro used to specify predicates for a value that can be `nil`
1343
+ #
1344
+ # @api private
1345
+ #
1346
+ # source://dry-schema//lib/dry/schema/macros/maybe.rb#9
1347
+ class Dry::Schema::Macros::Maybe < ::Dry::Schema::Macros::DSL
1348
+ # @api private
1349
+ #
1350
+ # source://dry-schema//lib/dry/schema/macros/maybe.rb#11
1351
+ def call(*args, **opts, &block); end
1352
+
1353
+ # @api private
1354
+ #
1355
+ # source://dry-schema//lib/dry/schema/macros/maybe.rb#28
1356
+ def to_ast; end
1357
+ end
1358
+
1359
+ # A Key specialization used for keys that can be skipped
1360
+ #
1361
+ # @api private
1362
+ #
1363
+ # source://dry-schema//lib/dry/schema/macros/optional.rb#9
1364
+ class Dry::Schema::Macros::Optional < ::Dry::Schema::Macros::Key
1365
+ # source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#45
1366
+ def description(text); end
1367
+
1368
+ # source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#52
1369
+ def hidden(hidden = T.unsafe(nil)); end
1370
+
1371
+ # @api private
1372
+ #
1373
+ # source://dry-schema//lib/dry/schema/macros/optional.rb#11
1374
+ def operation; end
1375
+
1376
+ # @api private
1377
+ #
1378
+ # source://dry-schema//lib/dry/schema/macros/optional.rb#16
1379
+ def to_rule; end
1380
+ end
1381
+
1382
+ # A Key specialization used for keys that must be present
1383
+ #
1384
+ # @api private
1385
+ #
1386
+ # source://dry-schema//lib/dry/schema/macros/required.rb#9
1387
+ class Dry::Schema::Macros::Required < ::Dry::Schema::Macros::Key
1388
+ # source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#28
1389
+ def description(text); end
1390
+
1391
+ # source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#35
1392
+ def hidden(hidden = T.unsafe(nil)); end
1393
+
1394
+ # @api private
1395
+ #
1396
+ # source://dry-schema//lib/dry/schema/macros/required.rb#11
1397
+ def operation; end
1398
+ end
1399
+
1400
+ # Macro used to specify a nested schema
1401
+ #
1402
+ # @api private
1403
+ #
1404
+ # source://dry-schema//lib/dry/schema/macros/schema.rb#9
1405
+ class Dry::Schema::Macros::Schema < ::Dry::Schema::Macros::Value
1406
+ # @api private
1407
+ #
1408
+ # source://dry-schema//lib/dry/schema/macros/schema.rb#11
1409
+ def call(*args, &block); end
1410
+
1411
+ private
1412
+
1413
+ # @api private
1414
+ #
1415
+ # source://dry-schema//lib/dry/schema/macros/schema.rb#58
1416
+ def define(*args, &_arg1); end
1417
+
1418
+ # @api private
1419
+ #
1420
+ # source://dry-schema//lib/dry/schema/macros/schema.rb#35
1421
+ def hash_type; end
1422
+
1423
+ # @api private
1424
+ #
1425
+ # source://dry-schema//lib/dry/schema/macros/schema.rb#40
1426
+ def merge_operation_types(op); end
1427
+
1428
+ # @api private
1429
+ # @return [Boolean]
1430
+ #
1431
+ # source://dry-schema//lib/dry/schema/macros/schema.rb#87
1432
+ def optional?; end
1433
+
1434
+ # @api private
1435
+ #
1436
+ # source://dry-schema//lib/dry/schema/macros/schema.rb#82
1437
+ def parent_type; end
1438
+
1439
+ # @api private
1440
+ #
1441
+ # source://dry-schema//lib/dry/schema/macros/schema.rb#30
1442
+ def process_operation(op); end
1443
+
1444
+ # @api private
1445
+ # @return [Boolean]
1446
+ #
1447
+ # source://dry-schema//lib/dry/schema/macros/schema.rb#97
1448
+ def redefined_schema?(args); end
1449
+
1450
+ # @api private
1451
+ # @return [Boolean]
1452
+ #
1453
+ # source://dry-schema//lib/dry/schema/macros/schema.rb#92
1454
+ def schema?; end
1455
+ end
1456
+
1457
+ # A macro used for specifying predicates to be applied to values from a hash
1458
+ #
1459
+ # @api private
1460
+ #
1461
+ # source://dry-schema//lib/dry/schema/macros/value.rb#9
1462
+ class Dry::Schema::Macros::Value < ::Dry::Schema::Macros::DSL
1463
+ # @api private
1464
+ # @return [Boolean]
1465
+ #
1466
+ # source://dry-schema//lib/dry/schema/macros/value.rb#74
1467
+ def array_type?(type); end
1468
+
1469
+ # @api private
1470
+ #
1471
+ # source://dry-schema//lib/dry/schema/macros/value.rb#89
1472
+ def build_array_type(array_type, member); end
1473
+
1474
+ # @api private
1475
+ #
1476
+ # source://dry-schema//lib/dry/schema/macros/value.rb#15
1477
+ def call(*args, **opts, &_arg2); end
1478
+
1479
+ # source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#11
1480
+ def description(text); end
1481
+
1482
+ # @api private
1483
+ # @return [Boolean]
1484
+ #
1485
+ # source://dry-schema//lib/dry/schema/macros/value.rb#79
1486
+ def hash_type?(type); end
1487
+
1488
+ # source://fast-mcp-annotations/1.5.3/lib/mcp/tool.rb#18
1489
+ def hidden(hidden = T.unsafe(nil)); end
1490
+
1491
+ # @api private
1492
+ #
1493
+ # source://dry-schema//lib/dry/schema/macros/value.rb#103
1494
+ def import_steps(schema); end
1495
+
1496
+ # @api private
1497
+ # @return [Boolean]
1498
+ #
1499
+ # source://dry-schema//lib/dry/schema/macros/value.rb#84
1500
+ def maybe_type?(type); end
1501
+
1502
+ private
1503
+
1504
+ # @api private
1505
+ #
1506
+ # source://dry-schema//lib/dry/schema/macros/value.rb#115
1507
+ def method_missing(meth, *_arg1, **_arg2, &_arg3); end
1508
+
1509
+ # @api private
1510
+ # @return [Boolean]
1511
+ #
1512
+ # source://dry-schema//lib/dry/schema/macros/value.rb#108
1513
+ def respond_to_missing?(meth, include_private = T.unsafe(nil)); end
1514
+ end
1515
+
1516
+ # Message objects used by message sets
1517
+ #
1518
+ # @api public
1519
+ #
1520
+ # source://dry-schema//lib/dry/schema/message.rb#10
1521
+ class Dry::Schema::Message
1522
+ include ::Dry::Core::Equalizer::Methods
1523
+ include ::Dry::Initializer::Mixin::Root
1524
+ extend ::Dry::Initializer
1525
+
1526
+ # See which message is higher in the hierarchy
1527
+ #
1528
+ # @api private
1529
+ #
1530
+ # source://dry-schema//lib/dry/schema/message.rb#92
1531
+ def <=>(other); end
1532
+
1533
+ # @api private
1534
+ #
1535
+ # source://dry-schema//lib/dry/schema/message.rb#104
1536
+ def _path; end
1537
+
1538
+ # Dump the message to a representation suitable for the message set hash
1539
+ #
1540
+ # @api public
1541
+ # @return [String, Hash]
1542
+ #
1543
+ # source://dry-schema//lib/dry/schema/message.rb#50
1544
+ def dump; end
1545
+
1546
+ # See if another message is the same
1547
+ #
1548
+ # If a string is passed, it will be compared with the text
1549
+ #
1550
+ # @api private
1551
+ # @param other [Message, String]
1552
+ # @return [Boolean]
1553
+ #
1554
+ # source://dry-schema//lib/dry/schema/message.rb#77
1555
+ def eql?(other); end
1556
+
1557
+ # Dump the message into a hash
1558
+ #
1559
+ # The hash will be deeply nested if the path's size is greater than 1
1560
+ #
1561
+ # @api public
1562
+ # @return [Hash]
1563
+ # @see Message#to_h
1564
+ #
1565
+ # source://dry-schema//lib/dry/schema/message.rb#64
1566
+ def to_h; end
1567
+
1568
+ # @api private
1569
+ #
1570
+ # source://dry-schema//lib/dry/schema/message.rb#82
1571
+ def to_or(root); end
1572
+
1573
+ # Dump the message to a representation suitable for the message set hash
1574
+ #
1575
+ # @api public
1576
+ # @return [String, Hash]
1577
+ #
1578
+ # source://dry-schema//lib/dry/schema/message.rb#50
1579
+ def to_s; end
1580
+ end
1581
+
1582
+ # Hints extension for Or messages
1583
+ #
1584
+ # @api public
1585
+ # @see Message::Or
1586
+ #
1587
+ # source://dry-schema//lib/dry/schema/message/or.rb#9
1588
+ module Dry::Schema::Message::Or
1589
+ class << self
1590
+ # @api private
1591
+ #
1592
+ # source://dry-schema//lib/dry/schema/message/or.rb#11
1593
+ def [](left, right, messages); end
1594
+ end
1595
+ end
1596
+
1597
+ # A message type used by OR operations
1598
+ #
1599
+ # @abstract
1600
+ # @api private
1601
+ #
1602
+ # source://dry-schema//lib/dry/schema/message/or/abstract.rb#12
1603
+ class Dry::Schema::Message::Or::Abstract
1604
+ # @api private
1605
+ # @return [Abstract] a new instance of Abstract
1606
+ #
1607
+ # source://dry-schema//lib/dry/schema/message/or/abstract.rb#20
1608
+ def initialize(left, right); end
1609
+
1610
+ # @api private
1611
+ #
1612
+ # source://dry-schema//lib/dry/schema/message/or/abstract.rb#14
1613
+ def left; end
1614
+
1615
+ # @api private
1616
+ #
1617
+ # source://dry-schema//lib/dry/schema/message/or/abstract.rb#17
1618
+ def right; end
1619
+ end
1620
+
1621
+ # A message type used by OR operations with different paths
1622
+ #
1623
+ # @api public
1624
+ #
1625
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#10
1626
+ class Dry::Schema::Message::Or::MultiPath < ::Dry::Schema::Message::Or::Abstract
1627
+ # @api private
1628
+ #
1629
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#67
1630
+ def _path; end
1631
+
1632
+ # @api private
1633
+ #
1634
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#72
1635
+ def _paths; end
1636
+
1637
+ # @api private
1638
+ #
1639
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#52
1640
+ def messages; end
1641
+
1642
+ # @api private
1643
+ #
1644
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#62
1645
+ def path; end
1646
+
1647
+ # @api private
1648
+ #
1649
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#57
1650
+ def root; end
1651
+
1652
+ # @api public
1653
+ #
1654
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#47
1655
+ def to_h; end
1656
+
1657
+ # @api private
1658
+ #
1659
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#77
1660
+ def to_or(root); end
1661
+
1662
+ private
1663
+
1664
+ # @api private
1665
+ #
1666
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#84
1667
+ def _messages; end
1668
+
1669
+ class << self
1670
+ # @api private
1671
+ #
1672
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#37
1673
+ def handler(message); end
1674
+ end
1675
+ end
1676
+
1677
+ # @api public
1678
+ #
1679
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#34
1680
+ Dry::Schema::Message::Or::MultiPath::MESSAGE_ARRAY_HANDLER = T.let(T.unsafe(nil), Proc)
1681
+
1682
+ # @api private
1683
+ #
1684
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#12
1685
+ class Dry::Schema::Message::Or::MultiPath::MessageArray
1686
+ # @api private
1687
+ # @return [MessageArray] a new instance of MessageArray
1688
+ #
1689
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#14
1690
+ def initialize(messages); end
1691
+
1692
+ # @api private
1693
+ #
1694
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#19
1695
+ def _paths; end
1696
+
1697
+ # @api private
1698
+ #
1699
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#29
1700
+ def to_h; end
1701
+
1702
+ # @api private
1703
+ #
1704
+ # source://dry-schema//lib/dry/schema/message/or/multi_path.rb#24
1705
+ def to_or(root); end
1706
+ end
1707
+
1708
+ # A message type used by OR operations with the same path
1709
+ #
1710
+ # @api public
1711
+ #
1712
+ # source://dry-schema//lib/dry/schema/message/or/single_path.rb#10
1713
+ class Dry::Schema::Message::Or::SinglePath < ::Dry::Schema::Message::Or::Abstract
1714
+ # @api private
1715
+ # @return [SinglePath] a new instance of SinglePath
1716
+ #
1717
+ # source://dry-schema//lib/dry/schema/message/or/single_path.rb#21
1718
+ def initialize(*args, messages); end
1719
+
1720
+ # @api private
1721
+ #
1722
+ # source://dry-schema//lib/dry/schema/message/or/single_path.rb#15
1723
+ def _path; end
1724
+
1725
+ # Dump a message into a string
1726
+ #
1727
+ # Both sides of the message will be joined using translated
1728
+ # value under `dry_schema.or` message key
1729
+ #
1730
+ # @api public
1731
+ # @return [String]
1732
+ # @see Message#dump
1733
+ #
1734
+ # source://dry-schema//lib/dry/schema/message/or/single_path.rb#39
1735
+ def dump; end
1736
+
1737
+ # @api private
1738
+ #
1739
+ # source://dry-schema//lib/dry/schema/message/or/single_path.rb#18
1740
+ def messages; end
1741
+
1742
+ # @api private
1743
+ #
1744
+ # source://dry-schema//lib/dry/schema/message/or/single_path.rb#12
1745
+ def path; end
1746
+
1747
+ # @api private
1748
+ #
1749
+ # source://dry-schema//lib/dry/schema/message/or/single_path.rb#56
1750
+ def to_a; end
1751
+
1752
+ # Dump an `or` message into a hash
1753
+ #
1754
+ # @api public
1755
+ # @return [String]
1756
+ # @see Message#to_h
1757
+ #
1758
+ # source://dry-schema//lib/dry/schema/message/or/single_path.rb#51
1759
+ def to_h; end
1760
+
1761
+ # @api private
1762
+ #
1763
+ # source://dry-schema//lib/dry/schema/message/or/single_path.rb#61
1764
+ def to_or(root); end
1765
+
1766
+ # Dump a message into a string
1767
+ #
1768
+ # Both sides of the message will be joined using translated
1769
+ # value under `dry_schema.or` message key
1770
+ #
1771
+ # @api public
1772
+ # @return [String]
1773
+ # @see Message#dump
1774
+ #
1775
+ # source://dry-schema//lib/dry/schema/message/or/single_path.rb#39
1776
+ def to_s; end
1777
+ end
1778
+
1779
+ # Compiles rule results AST into human-readable format
1780
+ #
1781
+ # @api private
1782
+ #
1783
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#11
1784
+ class Dry::Schema::MessageCompiler
1785
+ include ::Dry::Initializer::Mixin::Root
1786
+ extend ::Dry::Initializer
1787
+
1788
+ # @api private
1789
+ # @return [MessageCompiler] a new instance of MessageCompiler
1790
+ #
1791
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#48
1792
+ def initialize(messages, **options); end
1793
+
1794
+ # @api private
1795
+ #
1796
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#225
1797
+ def append_mapped_size_tokens(tokens); end
1798
+
1799
+ # @api private
1800
+ #
1801
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#66
1802
+ def call(ast); end
1803
+
1804
+ # @api private
1805
+ #
1806
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#45
1807
+ def default_lookup_options; end
1808
+
1809
+ # @api private
1810
+ #
1811
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#190
1812
+ def lookup_options(arg_vals:, input:); end
1813
+
1814
+ # @api private
1815
+ #
1816
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#198
1817
+ def message_text(template, tokens, options); end
1818
+
1819
+ # @api private
1820
+ #
1821
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#209
1822
+ def message_tokens(args); end
1823
+
1824
+ # @api private
1825
+ #
1826
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#162
1827
+ def message_type(*_arg0); end
1828
+
1829
+ # @api private
1830
+ #
1831
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#43
1832
+ def options; end
1833
+
1834
+ # @api private
1835
+ #
1836
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#119
1837
+ def or_translator; end
1838
+
1839
+ # @api private
1840
+ #
1841
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#76
1842
+ def visit(node, opts = T.unsafe(nil)); end
1843
+
1844
+ # @api private
1845
+ #
1846
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#97
1847
+ def visit_and(node, opts); end
1848
+
1849
+ # @api private
1850
+ #
1851
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#81
1852
+ def visit_failure(node, opts); end
1853
+
1854
+ # @api private
1855
+ #
1856
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#87
1857
+ def visit_hint(*_arg0); end
1858
+
1859
+ # @api private
1860
+ #
1861
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#178
1862
+ def visit_implication(node, *args); end
1863
+
1864
+ # @api private
1865
+ #
1866
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#167
1867
+ def visit_key(node, opts); end
1868
+
1869
+ # @api private
1870
+ #
1871
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#127
1872
+ def visit_namespace(node, opts); end
1873
+
1874
+ # @api private
1875
+ #
1876
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#92
1877
+ def visit_not(node, opts); end
1878
+
1879
+ # @api private
1880
+ #
1881
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#113
1882
+ def visit_or(node, opts); end
1883
+
1884
+ # @api private
1885
+ #
1886
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#133
1887
+ def visit_predicate(node, opts); end
1888
+
1889
+ # @api private
1890
+ #
1891
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#173
1892
+ def visit_set(node, opts); end
1893
+
1894
+ # @api private
1895
+ #
1896
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#108
1897
+ def visit_unexpected_key(node, opts); end
1898
+
1899
+ # @api private
1900
+ #
1901
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#184
1902
+ def visit_xor(node, opts); end
1903
+
1904
+ # @api private
1905
+ #
1906
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#55
1907
+ def with(new_options); end
1908
+ end
1909
+
1910
+ # @api private
1911
+ #
1912
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#23
1913
+ Dry::Schema::MessageCompiler::DEFAULT_PREDICATE_RESOLVERS = T.let(T.unsafe(nil), Hash)
1914
+
1915
+ # @api private
1916
+ #
1917
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#27
1918
+ Dry::Schema::MessageCompiler::EMPTY_MESSAGE_SET = T.let(T.unsafe(nil), Dry::Schema::MessageSet)
1919
+
1920
+ # @api private
1921
+ #
1922
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#26
1923
+ Dry::Schema::MessageCompiler::EMPTY_OPTS = T.let(T.unsafe(nil), Dry::Schema::MessageCompiler::VisitorOpts)
1924
+
1925
+ # @api private
1926
+ #
1927
+ # source://dry-schema//lib/dry/schema/message_compiler.rb#28
1928
+ Dry::Schema::MessageCompiler::FULL_MESSAGE_WHITESPACE = T.let(T.unsafe(nil), Hash)
1929
+
1930
+ # Optimized option hash used by visitor methods in message compiler
1931
+ #
1932
+ # @api private
1933
+ #
1934
+ # source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#12
1935
+ class Dry::Schema::MessageCompiler::VisitorOpts < ::Hash
1936
+ # @api private
1937
+ #
1938
+ # source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#28
1939
+ def call(other); end
1940
+
1941
+ # @api private
1942
+ #
1943
+ # source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#50
1944
+ def current_messages; end
1945
+
1946
+ # @api private
1947
+ #
1948
+ # source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#32
1949
+ def dup(current_messages = T.unsafe(nil)); end
1950
+
1951
+ # @api private
1952
+ #
1953
+ # source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#42
1954
+ def failures; end
1955
+
1956
+ # @api private
1957
+ #
1958
+ # source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#46
1959
+ def hints; end
1960
+
1961
+ # @api private
1962
+ # @return [Boolean]
1963
+ #
1964
+ # source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#38
1965
+ def key_failure?(path); end
1966
+
1967
+ # @api private
1968
+ #
1969
+ # source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#23
1970
+ def path; end
1971
+
1972
+ class << self
1973
+ # @api private
1974
+ #
1975
+ # source://dry-schema//lib/dry/schema/message_compiler/visitor_opts.rb#14
1976
+ def new; end
1977
+ end
1978
+ end
1979
+
1980
+ # A set of messages used to generate errors
1981
+ #
1982
+ # @api public
1983
+ # @see Result#message_set
1984
+ #
1985
+ # source://dry-schema//lib/dry/schema/message_set.rb#12
1986
+ class Dry::Schema::MessageSet
1987
+ include ::Enumerable
1988
+ include ::Dry::Core::Equalizer::Methods
1989
+
1990
+ # @api private
1991
+ # @return [MessageSet] a new instance of MessageSet
1992
+ #
1993
+ # source://dry-schema//lib/dry/schema/message_set.rb#32
1994
+ def initialize(messages, options = T.unsafe(nil)); end
1995
+
1996
+ # Get a list of message texts for the given key
1997
+ #
1998
+ # @api public
1999
+ # @param key [Symbol]
2000
+ # @return [Array<String>]
2001
+ #
2002
+ # source://dry-schema//lib/dry/schema/message_set.rb#71
2003
+ def [](key); end
2004
+
2005
+ # Iterate over messages
2006
+ #
2007
+ # @api public
2008
+ # @example
2009
+ # result.errors.each do |message|
2010
+ # puts message.text
2011
+ # end
2012
+ # @return [Array]
2013
+ #
2014
+ # source://dry-schema//lib/dry/schema/message_set.rb#47
2015
+ def each(&_arg0); end
2016
+
2017
+ # Check if a message set is empty
2018
+ #
2019
+ # @api public
2020
+ # @return [Boolean]
2021
+ #
2022
+ # source://dry-schema//lib/dry/schema/message_set.rb#93
2023
+ def empty?; end
2024
+
2025
+ # Get a list of message texts for the given key
2026
+ #
2027
+ # @api public
2028
+ # @param key [Symbol]
2029
+ # @raise KeyError
2030
+ # @return [Array<String>]
2031
+ #
2032
+ # source://dry-schema//lib/dry/schema/message_set.rb#84
2033
+ def fetch(key); end
2034
+
2035
+ # @api private
2036
+ #
2037
+ # source://dry-schema//lib/dry/schema/message_set.rb#98
2038
+ def freeze; end
2039
+
2040
+ # A list of compiled message objects
2041
+ #
2042
+ # @api public
2043
+ # @return [Array<Message>]
2044
+ #
2045
+ # source://dry-schema//lib/dry/schema/message_set.rb#19
2046
+ def messages; end
2047
+
2048
+ # Options hash
2049
+ #
2050
+ # @api public
2051
+ # @return [Hash]
2052
+ #
2053
+ # source://dry-schema//lib/dry/schema/message_set.rb#24
2054
+ def options; end
2055
+
2056
+ # Dump message set to a hash
2057
+ #
2058
+ # @api public
2059
+ # @return [Hash<Symbol=>Array<String>>]
2060
+ #
2061
+ # source://dry-schema//lib/dry/schema/message_set.rb#59
2062
+ def to_h; end
2063
+
2064
+ # Dump message set to a hash
2065
+ #
2066
+ # @api public
2067
+ # @return [Hash<Symbol=>Array<String>>]
2068
+ #
2069
+ # source://dry-schema//lib/dry/schema/message_set.rb#59
2070
+ def to_hash; end
2071
+
2072
+ private
2073
+
2074
+ # @api private
2075
+ #
2076
+ # source://dry-schema//lib/dry/schema/message_set.rb#112
2077
+ def combine_message_hashes(hashes); end
2078
+
2079
+ # @api private
2080
+ #
2081
+ # source://dry-schema//lib/dry/schema/message_set.rb#121
2082
+ def combine_message_values(values); end
2083
+
2084
+ # @api private
2085
+ #
2086
+ # source://dry-schema//lib/dry/schema/message_set.rb#107
2087
+ def messages_map(messages = T.unsafe(nil)); end
2088
+
2089
+ # @api private
2090
+ #
2091
+ # source://dry-schema//lib/dry/schema/message_set.rb#136
2092
+ def partition_message_values(values); end
2093
+
2094
+ class << self
2095
+ # @api private
2096
+ #
2097
+ # source://dry-schema//lib/dry/schema/message_set.rb#27
2098
+ def [](messages, options = T.unsafe(nil)); end
2099
+ end
2100
+ end
2101
+
2102
+ # An API for configuring message backends
2103
+ #
2104
+ # @api private
2105
+ #
2106
+ # source://dry-schema//lib/dry/schema/messages.rb#8
2107
+ module Dry::Schema::Messages
2108
+ # @api private
2109
+ #
2110
+ # source://dry-schema//lib/dry/schema/messages.rb#16
2111
+ def setup(config); end
2112
+
2113
+ class << self
2114
+ # source://dry-schema//lib/dry/schema/messages.rb#16
2115
+ def setup(config); end
2116
+ end
2117
+ end
2118
+
2119
+ # Abstract class for message backends
2120
+ #
2121
+ # @api public
2122
+ #
2123
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#14
2124
+ class Dry::Schema::Messages::Abstract
2125
+ include ::Dry::Configurable::Initializer
2126
+ include ::Dry::Core::Constants
2127
+ include ::Dry::Configurable
2128
+ include ::Dry::Configurable::Methods
2129
+ include ::Dry::Configurable::InstanceMethods
2130
+ include ::Dry::Core::Equalizer::Methods
2131
+ extend ::Dry::Configurable::Methods
2132
+ extend ::Dry::Configurable::ClassMethods
2133
+
2134
+ # Retrieve a message template
2135
+ #
2136
+ # @api public
2137
+ # @return [Template]
2138
+ #
2139
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#91
2140
+ def [](predicate, options); end
2141
+
2142
+ # Retrieve a message template
2143
+ #
2144
+ # @api public
2145
+ # @return [Template]
2146
+ #
2147
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#91
2148
+ def call(predicate, options); end
2149
+
2150
+ # @api private
2151
+ #
2152
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#169
2153
+ def default_locale; end
2154
+
2155
+ # @api private
2156
+ #
2157
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#141
2158
+ def filled_lookup_paths(tokens); end
2159
+
2160
+ # @api private
2161
+ # @raise [::NotImplementedError]
2162
+ #
2163
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#174
2164
+ def interpolatable_data(_key, _options, **_data); end
2165
+
2166
+ # @api private
2167
+ # @raise [::NotImplementedError]
2168
+ #
2169
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#179
2170
+ def interpolate(_key, _options, **_data); end
2171
+
2172
+ # Check if given key is defined
2173
+ #
2174
+ # @api public
2175
+ # @raise [::NotImplementedError]
2176
+ # @return [Boolean]
2177
+ #
2178
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#117
2179
+ def key?(_key, _options = T.unsafe(nil)); end
2180
+
2181
+ # Retrieve an array of looked up paths
2182
+ #
2183
+ # @api public
2184
+ # @param predicate [Symbol]
2185
+ # @param options [Hash]
2186
+ # @return [String]
2187
+ #
2188
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#129
2189
+ def looked_up_paths(predicate, options); end
2190
+
2191
+ # @api private
2192
+ #
2193
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#135
2194
+ def lookup_paths(predicate, options); end
2195
+
2196
+ # Return a new message backend that will look for messages under provided namespace
2197
+ #
2198
+ # @api public
2199
+ # @param namespace [Symbol, String]
2200
+ #
2201
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#155
2202
+ def namespaced(namespace); end
2203
+
2204
+ # Return root path to messages file
2205
+ #
2206
+ # @api public
2207
+ # @return [Pathname]
2208
+ #
2209
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#164
2210
+ def root; end
2211
+
2212
+ # @api private
2213
+ #
2214
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#78
2215
+ def rule(name, options = T.unsafe(nil)); end
2216
+
2217
+ # @api private
2218
+ #
2219
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#146
2220
+ def rule_lookup_paths(tokens); end
2221
+
2222
+ # @api private
2223
+ #
2224
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#73
2225
+ def translate(key, locale: T.unsafe(nil)); end
2226
+
2227
+ private
2228
+
2229
+ # @api private
2230
+ # @return [Boolean]
2231
+ #
2232
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#197
2233
+ def custom_top_namespace?(path); end
2234
+
2235
+ # @api private
2236
+ #
2237
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#186
2238
+ def lookup_tokens(predicate, options); end
2239
+
2240
+ class << self
2241
+ # @api private
2242
+ #
2243
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#52
2244
+ def build(options = T.unsafe(nil)); end
2245
+
2246
+ # @api private
2247
+ #
2248
+ # source://dry-schema//lib/dry/schema/messages/abstract.rb#47
2249
+ def setting_names; end
2250
+ end
2251
+ end
2252
+
2253
+ # @api private
2254
+ #
2255
+ # source://dry-schema//lib/dry/schema/messages.rb#9
2256
+ Dry::Schema::Messages::BACKENDS = T.let(T.unsafe(nil), Hash)
2257
+
2258
+ # I18n message backend
2259
+ #
2260
+ # @api public
2261
+ #
2262
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#12
2263
+ class Dry::Schema::Messages::I18n < ::Dry::Schema::Messages::Abstract
2264
+ # @api private
2265
+ # @return [I18n] a new instance of I18n
2266
+ #
2267
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#19
2268
+ def initialize; end
2269
+
2270
+ # @api private
2271
+ #
2272
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#73
2273
+ def default_locale; end
2274
+
2275
+ # Get a message for the given key and its options
2276
+ #
2277
+ # @api public
2278
+ # @param key [Symbol]
2279
+ # @param options [Hash]
2280
+ # @return [String]
2281
+ #
2282
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#32
2283
+ def get(key, options = T.unsafe(nil)); end
2284
+
2285
+ # @api private
2286
+ #
2287
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#99
2288
+ def interpolatable_data(_key, _options, **data); end
2289
+
2290
+ # @api private
2291
+ #
2292
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#104
2293
+ def interpolate(key, options, **data); end
2294
+
2295
+ # Check if given key is defined
2296
+ #
2297
+ # @api public
2298
+ # @return [Boolean]
2299
+ #
2300
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#56
2301
+ def key?(key, options); end
2302
+
2303
+ # Merge messages from an additional path
2304
+ #
2305
+ # @api public
2306
+ # @param paths [String, Array<String>]
2307
+ # @return [Messages::I18n]
2308
+ #
2309
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#68
2310
+ def merge(paths); end
2311
+
2312
+ # @api private
2313
+ #
2314
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#78
2315
+ def prepare(paths = T.unsafe(nil)); end
2316
+
2317
+ # Translation function
2318
+ #
2319
+ # @api public
2320
+ # @return [Method]
2321
+ #
2322
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#16
2323
+ def t; end
2324
+
2325
+ private
2326
+
2327
+ # @api private
2328
+ #
2329
+ # source://dry-schema//lib/dry/schema/messages/i18n.rb#121
2330
+ def store_translations(data); end
2331
+ end
2332
+
2333
+ # Namespaced messages backend
2334
+ #
2335
+ # @api public
2336
+ #
2337
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#9
2338
+ class Dry::Schema::Messages::Namespaced < ::Dry::Schema::Messages::Abstract
2339
+ # @api private
2340
+ # @return [Namespaced] a new instance of Namespaced
2341
+ #
2342
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#23
2343
+ def initialize(namespace, messages); end
2344
+
2345
+ # @api public
2346
+ #
2347
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#44
2348
+ def [](key, options = T.unsafe(nil)); end
2349
+
2350
+ # @api private
2351
+ #
2352
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#72
2353
+ def cache_key(predicate, options); end
2354
+
2355
+ # @api public
2356
+ #
2357
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#44
2358
+ def call(key, options = T.unsafe(nil)); end
2359
+
2360
+ # @api private
2361
+ #
2362
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#20
2363
+ def call_opts; end
2364
+
2365
+ # @api private
2366
+ #
2367
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#17
2368
+ def config; end
2369
+
2370
+ # @api private
2371
+ #
2372
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#59
2373
+ def filled_lookup_paths(tokens); end
2374
+
2375
+ # Get a message for the given key and its options
2376
+ #
2377
+ # @api public
2378
+ # @param key [Symbol]
2379
+ # @param options [Hash]
2380
+ # @return [String]
2381
+ #
2382
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#39
2383
+ def get(key, options = T.unsafe(nil)); end
2384
+
2385
+ # @api private
2386
+ #
2387
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#77
2388
+ def interpolatable_data(key, options, **data); end
2389
+
2390
+ # @api private
2391
+ #
2392
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#82
2393
+ def interpolate(key, options, **data); end
2394
+
2395
+ # Check if given key is defined
2396
+ #
2397
+ # @api public
2398
+ # @return [Boolean]
2399
+ #
2400
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#54
2401
+ def key?(key, *args); end
2402
+
2403
+ # @api private
2404
+ #
2405
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#14
2406
+ def messages; end
2407
+
2408
+ # @api private
2409
+ #
2410
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#11
2411
+ def namespace; end
2412
+
2413
+ # @api private
2414
+ #
2415
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#64
2416
+ def rule_lookup_paths(tokens); end
2417
+
2418
+ # @api private
2419
+ #
2420
+ # source://dry-schema//lib/dry/schema/messages/namespaced.rb#87
2421
+ def translate(key, **args); end
2422
+ end
2423
+
2424
+ # @api private
2425
+ #
2426
+ # source://dry-schema//lib/dry/schema/messages/template.rb#12
2427
+ class Dry::Schema::Messages::Template
2428
+ include ::Dry::Initializer::Mixin::Root
2429
+ include ::Dry::Core::Equalizer::Methods
2430
+ extend ::Dry::Initializer
2431
+
2432
+ # @api private
2433
+ #
2434
+ # source://dry-schema//lib/dry/schema/messages/template.rb#27
2435
+ def [](data = T.unsafe(nil)); end
2436
+
2437
+ # @api private
2438
+ #
2439
+ # source://dry-schema//lib/dry/schema/messages/template.rb#27
2440
+ def call(data = T.unsafe(nil)); end
2441
+
2442
+ # @api private
2443
+ #
2444
+ # source://dry-schema//lib/dry/schema/messages/template.rb#21
2445
+ def data(data = T.unsafe(nil)); end
2446
+
2447
+ private
2448
+
2449
+ # @api private
2450
+ # @raise [KeyError]
2451
+ #
2452
+ # source://dry-schema//lib/dry/schema/messages/template.rb#35
2453
+ def ensure_message!; end
2454
+ end
2455
+
2456
+ # Plain YAML message backend
2457
+ #
2458
+ # @api public
2459
+ #
2460
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#14
2461
+ class Dry::Schema::Messages::YAML < ::Dry::Schema::Messages::Abstract
2462
+ # @api private
2463
+ # @return [YAML] a new instance of YAML
2464
+ #
2465
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#84
2466
+ def initialize(data: T.unsafe(nil), config: T.unsafe(nil)); end
2467
+
2468
+ # Loaded localized message templates
2469
+ #
2470
+ # @api public
2471
+ # @return [Hash]
2472
+ #
2473
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#28
2474
+ def data; end
2475
+
2476
+ # Get a message for the given key and its options
2477
+ #
2478
+ # @api public
2479
+ # @param key [Symbol]
2480
+ # @param options [Hash]
2481
+ # @return [String]
2482
+ #
2483
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#111
2484
+ def get(key, options = T.unsafe(nil)); end
2485
+
2486
+ # @api private
2487
+ #
2488
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#152
2489
+ def interpolatable_data(key, options, **data); end
2490
+
2491
+ # @api private
2492
+ #
2493
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#158
2494
+ def interpolate(key, options, **data); end
2495
+
2496
+ # Check if given key is defined
2497
+ #
2498
+ # @api public
2499
+ # @return [Boolean]
2500
+ #
2501
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#120
2502
+ def key?(key, options = T.unsafe(nil)); end
2503
+
2504
+ # Get an array of looked up paths
2505
+ #
2506
+ # @api public
2507
+ # @param predicate [Symbol]
2508
+ # @param options [Hash]
2509
+ # @return [String]
2510
+ #
2511
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#99
2512
+ def looked_up_paths(predicate, options); end
2513
+
2514
+ # Merge messages from an additional path
2515
+ #
2516
+ # @api public
2517
+ # @param overrides [String]
2518
+ # @return [Messages::I18n]
2519
+ #
2520
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#131
2521
+ def merge(overrides); end
2522
+
2523
+ # @api private
2524
+ #
2525
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#146
2526
+ def prepare; end
2527
+
2528
+ # Translation function
2529
+ #
2530
+ # @api public
2531
+ # @return [Proc]
2532
+ #
2533
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#33
2534
+ def t; end
2535
+
2536
+ private
2537
+
2538
+ # @api private
2539
+ #
2540
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#185
2541
+ def cache; end
2542
+
2543
+ # @api private
2544
+ #
2545
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#201
2546
+ def evaluated_key(key, options); end
2547
+
2548
+ # @api private
2549
+ #
2550
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#166
2551
+ def evaluation_context(key, options); end
2552
+
2553
+ # @api private
2554
+ #
2555
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#190
2556
+ def load_translations(path); end
2557
+
2558
+ class << self
2559
+ # @api private
2560
+ #
2561
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#36
2562
+ def build(options = T.unsafe(nil)); end
2563
+
2564
+ # @api private
2565
+ #
2566
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#72
2567
+ def cache; end
2568
+
2569
+ # @api private
2570
+ #
2571
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#50
2572
+ def flat_hash(hash, path = T.unsafe(nil), keys = T.unsafe(nil)); end
2573
+
2574
+ # @api private
2575
+ #
2576
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#79
2577
+ def source_cache; end
2578
+ end
2579
+ end
2580
+
2581
+ # @api public
2582
+ #
2583
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#17
2584
+ Dry::Schema::Messages::YAML::EMPTY_CONTEXT = T.let(T.unsafe(nil), Binding)
2585
+
2586
+ # @api public
2587
+ #
2588
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#15
2589
+ Dry::Schema::Messages::YAML::LOCALE_TOKEN = T.let(T.unsafe(nil), String)
2590
+
2591
+ # @api public
2592
+ #
2593
+ # source://dry-schema//lib/dry/schema/messages/yaml.rb#16
2594
+ Dry::Schema::Messages::YAML::TOKEN_REGEXP = T.let(T.unsafe(nil), Regexp)
2595
+
2596
+ # An error raised when a localized message cannot be found
2597
+ #
2598
+ # @api public
2599
+ #
2600
+ # source://dry-schema//lib/dry/schema/constants.rb#36
2601
+ class Dry::Schema::MissingMessageError < ::StandardError
2602
+ # source://dry-schema//lib/dry/schema/constants.rb#38
2603
+ def initialize(path, paths = T.unsafe(nil)); end
2604
+ end
2605
+
2606
+ # A special rule type that is configured under a specified namespace
2607
+ #
2608
+ # This is used internally to create rules that can be properly handled
2609
+ # by the message compiler in situations where a schema reuses another schema
2610
+ # but it is configured to use a message namespace
2611
+ #
2612
+ # @api private
2613
+ #
2614
+ # source://dry-schema//lib/dry/schema/namespaced_rule.rb#12
2615
+ class Dry::Schema::NamespacedRule
2616
+ # @api private
2617
+ # @return [NamespacedRule] a new instance of NamespacedRule
2618
+ #
2619
+ # source://dry-schema//lib/dry/schema/namespaced_rule.rb#20
2620
+ def initialize(namespace, rule); end
2621
+
2622
+ # @api private
2623
+ #
2624
+ # source://dry-schema//lib/dry/schema/namespaced_rule.rb#32
2625
+ def ast(input = T.unsafe(nil)); end
2626
+
2627
+ # @api private
2628
+ #
2629
+ # source://dry-schema//lib/dry/schema/namespaced_rule.rb#26
2630
+ def call(input); end
2631
+
2632
+ # @api private
2633
+ #
2634
+ # source://dry-schema//lib/dry/schema/namespaced_rule.rb#17
2635
+ def namespace; end
2636
+
2637
+ # @api private
2638
+ #
2639
+ # source://dry-schema//lib/dry/schema/namespaced_rule.rb#14
2640
+ def rule; end
2641
+
2642
+ # @api private
2643
+ #
2644
+ # source://dry-schema//lib/dry/schema/namespaced_rule.rb#32
2645
+ def to_ast(input = T.unsafe(nil)); end
2646
+ end
2647
+
2648
+ # Params schema type
2649
+ #
2650
+ # @api public
2651
+ # @see Processor
2652
+ # @see Schema#Params
2653
+ #
2654
+ # source://dry-schema//lib/dry/schema/params.rb#11
2655
+ class Dry::Schema::Params < ::Dry::Schema::Processor; end
2656
+
2657
+ # Path represents a list of keys in a hash
2658
+ #
2659
+ # @api private
2660
+ #
2661
+ # source://dry-schema//lib/dry/schema/path.rb#10
2662
+ class Dry::Schema::Path
2663
+ include ::Dry::Core::Equalizer::Methods
2664
+ include ::Comparable
2665
+ include ::Enumerable
2666
+
2667
+ # @api private
2668
+ # @return [Path] a new instance of Path
2669
+ #
2670
+ # source://dry-schema//lib/dry/schema/path.rb#57
2671
+ def initialize(keys); end
2672
+
2673
+ # @api private
2674
+ #
2675
+ # source://dry-schema//lib/dry/schema/path.rb#88
2676
+ def &(other); end
2677
+
2678
+ # @api private
2679
+ #
2680
+ # source://dry-schema//lib/dry/schema/path.rb#79
2681
+ def <=>(other); end
2682
+
2683
+ # @api private
2684
+ #
2685
+ # source://dry-schema//lib/dry/schema/path.rb#69
2686
+ def each(&_arg0); end
2687
+
2688
+ # @api private
2689
+ # @return [Boolean]
2690
+ #
2691
+ # source://dry-schema//lib/dry/schema/path.rb#74
2692
+ def include?(other); end
2693
+
2694
+ # @api private
2695
+ # @return [Array<Symbol>]
2696
+ #
2697
+ # source://dry-schema//lib/dry/schema/path.rb#16
2698
+ def keys; end
2699
+
2700
+ # @api private
2701
+ #
2702
+ # source://dry-schema//lib/dry/schema/path.rb#95
2703
+ def last; end
2704
+
2705
+ # @api private
2706
+ def root(*_arg0); end
2707
+
2708
+ # @api private
2709
+ # @return [Boolean]
2710
+ #
2711
+ # source://dry-schema//lib/dry/schema/path.rb#100
2712
+ def same_root?(other); end
2713
+
2714
+ # @api private
2715
+ #
2716
+ # source://dry-schema//lib/dry/schema/path.rb#62
2717
+ def to_h(value = T.unsafe(nil)); end
2718
+
2719
+ class << self
2720
+ # @api private
2721
+ #
2722
+ # source://dry-schema//lib/dry/schema/path.rb#43
2723
+ def [](spec); end
2724
+
2725
+ # Coerce a spec into a path object
2726
+ #
2727
+ # @api private
2728
+ # @param spec [Path, Symbol, String, Hash, Array<Symbol>]
2729
+ # @return [Path]
2730
+ #
2731
+ # source://dry-schema//lib/dry/schema/path.rb#27
2732
+ def call(spec); end
2733
+
2734
+ # Extract a list of keys from a hash
2735
+ #
2736
+ # @api private
2737
+ #
2738
+ # source://dry-schema//lib/dry/schema/path.rb#50
2739
+ def keys_from_hash(hash); end
2740
+ end
2741
+ end
2742
+
2743
+ # @api private
2744
+ #
2745
+ # source://dry-schema//lib/dry/schema/path.rb#104
2746
+ Dry::Schema::Path::EMPTY = T.let(T.unsafe(nil), Dry::Schema::Path)
2747
+
2748
+ # Predicate objects used within the DSL
2749
+ #
2750
+ # @api public
2751
+ #
2752
+ # source://dry-schema//lib/dry/schema/predicate.rb#11
2753
+ class Dry::Schema::Predicate
2754
+ include ::Dry::Logic::Operators
2755
+ include ::Dry::Core::Equalizer::Methods
2756
+
2757
+ # @api private
2758
+ # @return [Predicate] a new instance of Predicate
2759
+ #
2760
+ # source://dry-schema//lib/dry/schema/predicate.rb#56
2761
+ def initialize(compiler, name, args, block); end
2762
+
2763
+ # Negate a predicate
2764
+ #
2765
+ # @api public
2766
+ # @example
2767
+ # required(:name).value(:string) { !empty? }
2768
+ # @return [Negation]
2769
+ #
2770
+ # source://dry-schema//lib/dry/schema/predicate.rb#73
2771
+ def !; end
2772
+
2773
+ # @api private
2774
+ #
2775
+ # source://dry-schema//lib/dry/schema/predicate.rb#47
2776
+ def args; end
2777
+
2778
+ # @api private
2779
+ #
2780
+ # source://dry-schema//lib/dry/schema/predicate.rb#50
2781
+ def arity; end
2782
+
2783
+ # Dump predicate to an AST
2784
+ #
2785
+ # @api private
2786
+ # @return [Array]
2787
+ #
2788
+ # source://dry-schema//lib/dry/schema/predicate.rb#96
2789
+ def ast(*_arg0); end
2790
+
2791
+ # @api private
2792
+ #
2793
+ # source://dry-schema//lib/dry/schema/predicate.rb#53
2794
+ def block; end
2795
+
2796
+ # @api private
2797
+ #
2798
+ # source://dry-schema//lib/dry/schema/predicate.rb#41
2799
+ def compiler; end
2800
+
2801
+ # @api private
2802
+ #
2803
+ # source://dry-schema//lib/dry/schema/predicate.rb#78
2804
+ def ensure_valid; end
2805
+
2806
+ # @api private
2807
+ #
2808
+ # source://dry-schema//lib/dry/schema/predicate.rb#44
2809
+ def name; end
2810
+
2811
+ # Dump predicate to an AST
2812
+ #
2813
+ # @api private
2814
+ # @return [Array]
2815
+ #
2816
+ # source://dry-schema//lib/dry/schema/predicate.rb#96
2817
+ def to_ast(*_arg0); end
2818
+
2819
+ # Compile predicate to a rule object
2820
+ #
2821
+ # @api private
2822
+ #
2823
+ # source://dry-schema//lib/dry/schema/predicate.rb#87
2824
+ def to_rule; end
2825
+ end
2826
+
2827
+ # A negated predicate
2828
+ #
2829
+ # @api private
2830
+ #
2831
+ # source://dry-schema//lib/dry/schema/predicate.rb#15
2832
+ class Dry::Schema::Predicate::Negation
2833
+ include ::Dry::Logic::Operators
2834
+
2835
+ # @api private
2836
+ # @return [Negation] a new instance of Negation
2837
+ #
2838
+ # source://dry-schema//lib/dry/schema/predicate.rb#22
2839
+ def initialize(predicate); end
2840
+
2841
+ # Dump negated predicate to an AST
2842
+ #
2843
+ # @api private
2844
+ # @return [Array]
2845
+ #
2846
+ # source://dry-schema//lib/dry/schema/predicate.rb#31
2847
+ def ast(*_arg0, **_arg1, &_arg2); end
2848
+
2849
+ # @api private
2850
+ #
2851
+ # source://dry-schema//lib/dry/schema/predicate.rb#19
2852
+ def predicate; end
2853
+
2854
+ # Dump negated predicate to an AST
2855
+ #
2856
+ # @api private
2857
+ # @return [Array]
2858
+ #
2859
+ # source://dry-schema//lib/dry/schema/predicate.rb#31
2860
+ def to_ast(*_arg0, **_arg1, &_arg2); end
2861
+ end
2862
+
2863
+ # @api private
2864
+ #
2865
+ # source://dry-schema//lib/dry/schema/predicate_inferrer.rb#6
2866
+ class Dry::Schema::PredicateInferrer < ::Dry::Types::PredicateInferrer
2867
+ # @api private
2868
+ # @return [PredicateInferrer] a new instance of PredicateInferrer
2869
+ #
2870
+ # source://dry-schema//lib/dry/schema/predicate_inferrer.rb#9
2871
+ def initialize(registry = T.unsafe(nil)); end
2872
+ end
2873
+
2874
+ # @api private
2875
+ #
2876
+ # source://dry-schema//lib/dry/schema/predicate_inferrer.rb#7
2877
+ class Dry::Schema::PredicateInferrer::Compiler < ::Dry::Types::PredicateInferrer::Compiler; end
2878
+
2879
+ # A registry with predicate objects from `Dry::Logic::Predicates`
2880
+ #
2881
+ # @api private
2882
+ #
2883
+ # source://dry-schema//lib/dry/schema/predicate_registry.rb#8
2884
+ class Dry::Schema::PredicateRegistry < ::Dry::Types::PredicateRegistry
2885
+ # @api private
2886
+ #
2887
+ # source://dry-schema//lib/dry/schema/predicate_registry.rb#10
2888
+ def arg_list(name, *values); end
2889
+ end
2890
+
2891
+ # @api private
2892
+ #
2893
+ # source://dry-schema//lib/dry/schema/primitive_inferrer.rb#6
2894
+ class Dry::Schema::PrimitiveInferrer < ::Dry::Types::PrimitiveInferrer
2895
+ # @api private
2896
+ # @return [PrimitiveInferrer] a new instance of PrimitiveInferrer
2897
+ #
2898
+ # source://dry-schema//lib/dry/schema/primitive_inferrer.rb#9
2899
+ def initialize; end
2900
+ end
2901
+
2902
+ # @api private
2903
+ #
2904
+ # source://dry-schema//lib/dry/schema/primitive_inferrer.rb#7
2905
+ class Dry::Schema::PrimitiveInferrer::Compiler < ::Dry::Types::PrimitiveInferrer::Compiler; end
2906
+
2907
+ # Processes input data using objects configured within the DSL
2908
+ # Processing is split into steps represented by `ProcessorSteps`.
2909
+ #
2910
+ # @api public
2911
+ # @see ProcessorSteps
2912
+ # @see Params
2913
+ # @see JSON
2914
+ #
2915
+ # source://dry-schema//lib/dry/schema/processor.rb#15
2916
+ class Dry::Schema::Processor
2917
+ include ::Dry::Initializer::Mixin::Root
2918
+ include ::Dry::Logic::Operators
2919
+ extend ::Dry::Initializer
2920
+ extend ::Dry::Core::Constants
2921
+ extend ::Dry::Configurable
2922
+ extend ::Dry::Configurable::Methods
2923
+ extend ::Dry::Configurable::ClassMethods
2924
+
2925
+ # Apply processing steps to the provided input
2926
+ #
2927
+ # @api public
2928
+ # @param input [Hash]
2929
+ # @return [Result]
2930
+ #
2931
+ # source://dry-schema//lib/dry/schema/processor.rb#77
2932
+ def [](input); end
2933
+
2934
+ # @api public
2935
+ # @raise [::NotImplementedError]
2936
+ #
2937
+ # source://dry-schema//lib/dry/schema/processor.rb#85
2938
+ def ^(_other); end
2939
+
2940
+ # Return AST representation of the rules
2941
+ #
2942
+ # @api private
2943
+ #
2944
+ # source://dry-schema//lib/dry/schema/processor.rb#168
2945
+ def ast(*_arg0); end
2946
+
2947
+ # Apply processing steps to the provided input
2948
+ #
2949
+ # @api public
2950
+ # @param input [Hash]
2951
+ # @return [Result]
2952
+ #
2953
+ # source://dry-schema//lib/dry/schema/processor.rb#77
2954
+ def call(input); end
2955
+
2956
+ # Return the rules config
2957
+ #
2958
+ # @api private
2959
+ # @return [Dry::Types::Config]
2960
+ #
2961
+ # source://dry-schema//lib/dry/schema/processor.rb#161
2962
+ def config; end
2963
+
2964
+ # Check if there are filter rules
2965
+ #
2966
+ # @api private
2967
+ # @return [Boolean]
2968
+ #
2969
+ # source://dry-schema//lib/dry/schema/processor.rb#201
2970
+ def filter_rules?; end
2971
+
2972
+ # Return filter schema
2973
+ #
2974
+ # @api private
2975
+ #
2976
+ # source://dry-schema//lib/dry/schema/processor.rb#208
2977
+ def filter_schema; end
2978
+
2979
+ # Return string representation
2980
+ #
2981
+ # @api public
2982
+ # @return [String]
2983
+ #
2984
+ # source://dry-schema//lib/dry/schema/processor.rb#115
2985
+ def inspect; end
2986
+
2987
+ # Return the key map
2988
+ #
2989
+ # @api public
2990
+ # @return [KeyMap]
2991
+ #
2992
+ # source://dry-schema//lib/dry/schema/processor.rb#126
2993
+ def key_map; end
2994
+
2995
+ # Merge with another schema
2996
+ #
2997
+ # @api public
2998
+ # @param other [Processor]
2999
+ # @return [Processor, Params, JSON]
3000
+ #
3001
+ # source://dry-schema//lib/dry/schema/processor.rb#97
3002
+ def merge(other); end
3003
+
3004
+ # Return the message compiler
3005
+ #
3006
+ # @api private
3007
+ # @return [MessageCompiler]
3008
+ #
3009
+ # source://dry-schema//lib/dry/schema/processor.rb#178
3010
+ def message_compiler; end
3011
+
3012
+ # Return the rule applier
3013
+ #
3014
+ # @api private
3015
+ #
3016
+ # source://dry-schema//lib/dry/schema/processor.rb#151
3017
+ def rule_applier; end
3018
+
3019
+ # Return the rules from rule applier
3020
+ #
3021
+ # @api private
3022
+ # @return [MessageCompiler]
3023
+ #
3024
+ # source://dry-schema//lib/dry/schema/processor.rb#187
3025
+ def rules; end
3026
+
3027
+ # Return type schema used when composing subschemas
3028
+ #
3029
+ # @api private
3030
+ # @return [Dry::Types::Schema]
3031
+ #
3032
+ # source://dry-schema//lib/dry/schema/processor.rb#144
3033
+ def strict_type_schema; end
3034
+
3035
+ # Return AST representation of the rules
3036
+ #
3037
+ # @api private
3038
+ #
3039
+ # source://dry-schema//lib/dry/schema/processor.rb#168
3040
+ def to_ast(*_arg0); end
3041
+
3042
+ # Return a proc that acts like a schema object
3043
+ #
3044
+ # @api public
3045
+ # @return [Proc]
3046
+ #
3047
+ # source://dry-schema//lib/dry/schema/processor.rb#106
3048
+ def to_proc; end
3049
+
3050
+ # Return the rule applier
3051
+ #
3052
+ # @api private
3053
+ #
3054
+ # source://dry-schema//lib/dry/schema/processor.rb#151
3055
+ def to_rule; end
3056
+
3057
+ # Return the type schema
3058
+ #
3059
+ # @api private
3060
+ # @return [Dry::Types::Lax]
3061
+ #
3062
+ # source://dry-schema//lib/dry/schema/processor.rb#135
3063
+ def type_schema; end
3064
+
3065
+ # Return the types from the schema DSL
3066
+ #
3067
+ # @api private
3068
+ #
3069
+ # source://dry-schema//lib/dry/schema/processor.rb#194
3070
+ def types; end
3071
+
3072
+ # @api public
3073
+ # @raise [::NotImplementedError]
3074
+ #
3075
+ # source://dry-schema//lib/dry/schema/processor.rb#85
3076
+ def xor(_other); end
3077
+
3078
+ class << self
3079
+ # Define a schema for your processor class
3080
+ #
3081
+ # @api public
3082
+ # @return [Class]
3083
+ # @see Schema#define
3084
+ # @see Schema#Params
3085
+ # @see Schema#JSON
3086
+ #
3087
+ # source://dry-schema//lib/dry/schema/processor.rb#45
3088
+ def define(&_arg0); end
3089
+
3090
+ # Return DSL configured via #define
3091
+ #
3092
+ # @api private
3093
+ # @return [DSL]
3094
+ #
3095
+ # source://dry-schema//lib/dry/schema/processor.rb#34
3096
+ def definition; end
3097
+
3098
+ # Build a new processor object
3099
+ #
3100
+ # @api public
3101
+ # @return [Processor]
3102
+ #
3103
+ # source://dry-schema//lib/dry/schema/processor.rb#57
3104
+ def new(options = T.unsafe(nil)); end
3105
+ end
3106
+ end
3107
+
3108
+ # Steps for the Dry::Schema::Processor
3109
+ #
3110
+ # There are 4 main steps:
3111
+ #
3112
+ # 1. `key_coercer` - Prepare input hash using a key map
3113
+ # 2. `filter_schema` - Apply pre-coercion filtering rules
3114
+ # (optional step, used only when `filter` was used)
3115
+ # 3. `value_coercer` - Apply value coercions based on type specifications
3116
+ # 4. `rule_applier` - Apply rules
3117
+ #
3118
+ # @api public
3119
+ # @see Processor
3120
+ #
3121
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#21
3122
+ class Dry::Schema::ProcessorSteps
3123
+ include ::Dry::Initializer::Mixin::Root
3124
+ extend ::Dry::Initializer
3125
+
3126
+ # Returns step by name
3127
+ #
3128
+ # @api public
3129
+ # @param name [Symbol] The step name
3130
+ #
3131
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#65
3132
+ def [](name); end
3133
+
3134
+ # Sets step by name
3135
+ #
3136
+ # @api public
3137
+ # @param name [Symbol] The step name
3138
+ #
3139
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#74
3140
+ def []=(name, value); end
3141
+
3142
+ # Add passed block before mentioned step
3143
+ #
3144
+ # @api public
3145
+ # @param name [Symbol] The step name
3146
+ # @return [ProcessorSteps]
3147
+ #
3148
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#85
3149
+ def after(name, &block); end
3150
+
3151
+ # Add passed block before mentioned step
3152
+ #
3153
+ # @api public
3154
+ # @param name [Symbol] The step name
3155
+ # @return [ProcessorSteps]
3156
+ #
3157
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#99
3158
+ def before(name, &block); end
3159
+
3160
+ # Executes steps and callbacks in order
3161
+ #
3162
+ # @api public
3163
+ # @param result [Result]
3164
+ # @return [Result]
3165
+ #
3166
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#35
3167
+ def call(result); end
3168
+
3169
+ # @api private
3170
+ #
3171
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#128
3172
+ def import_callbacks(path, other); end
3173
+
3174
+ # @api private
3175
+ #
3176
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#51
3177
+ def key_map; end
3178
+
3179
+ # Stacks callback steps and returns new ProcessorSteps instance
3180
+ #
3181
+ # @api public
3182
+ # @param other [ProcessorSteps]
3183
+ # @return [ProcessorSteps]
3184
+ #
3185
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#113
3186
+ def merge(other); end
3187
+
3188
+ # @api private
3189
+ #
3190
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#121
3191
+ def merge_callbacks(left, right); end
3192
+
3193
+ # @api private
3194
+ #
3195
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#46
3196
+ def rule_applier; end
3197
+
3198
+ # @api private
3199
+ #
3200
+ # source://dry-schema//lib/dry/schema/processor_steps.rb#56
3201
+ def type_schema; end
3202
+ end
3203
+
3204
+ # @api public
3205
+ #
3206
+ # source://dry-schema//lib/dry/schema/constants.rb#14
3207
+ Dry::Schema::QUESTION_MARK = T.let(T.unsafe(nil), String)
3208
+
3209
+ # Processing result
3210
+ #
3211
+ # @api public
3212
+ # @see Processor#call
3213
+ #
3214
+ # source://dry-schema//lib/dry/schema/result.rb#13
3215
+ class Dry::Schema::Result
3216
+ include ::Dry::Core::Equalizer::Methods
3217
+ include ::Dry::Initializer::Mixin::Root
3218
+ extend ::Dry::Initializer
3219
+
3220
+ # Read value from the output hash
3221
+ #
3222
+ # @api public
3223
+ # @param name [Symbol]
3224
+ # @return [Object]
3225
+ #
3226
+ # source://dry-schema//lib/dry/schema/result.rb#110
3227
+ def [](name); end
3228
+
3229
+ # Add a new error AST node
3230
+ #
3231
+ # @api private
3232
+ #
3233
+ # source://dry-schema//lib/dry/schema/result.rb#198
3234
+ def add_error(node); end
3235
+
3236
+ # Return a new result scoped to a specific path
3237
+ #
3238
+ # @api private
3239
+ # @param path [Symbol, Array, Path]
3240
+ # @return [Result]
3241
+ #
3242
+ # source://dry-schema//lib/dry/schema/result.rb#46
3243
+ def at(at_path, &_arg1); end
3244
+
3245
+ # @api private
3246
+ #
3247
+ # source://dry-schema//lib/dry/schema/result.rb#98
3248
+ def concat(other); end
3249
+
3250
+ # Pattern matching support
3251
+ #
3252
+ # @api private
3253
+ #
3254
+ # source://dry-schema//lib/dry/schema/result.rb#191
3255
+ def deconstruct_keys(_); end
3256
+
3257
+ # Check if there's an error for the provided spec
3258
+ #
3259
+ # @api public
3260
+ # @param spec [Symbol, Hash<Symbol=>Symbol>]
3261
+ # @return [Boolean]
3262
+ #
3263
+ # source://dry-schema//lib/dry/schema/result.rb#132
3264
+ def error?(spec); end
3265
+
3266
+ # Get human-readable error representation
3267
+ #
3268
+ # @api public
3269
+ # @return [MessageSet]
3270
+ # @see #message_set
3271
+ #
3272
+ # source://dry-schema//lib/dry/schema/result.rb#161
3273
+ def errors(options = T.unsafe(nil)); end
3274
+
3275
+ # Check if the result is not successful
3276
+ #
3277
+ # @api public
3278
+ # @return [Boolean]
3279
+ #
3280
+ # source://dry-schema//lib/dry/schema/result.rb#150
3281
+ def failure?; end
3282
+
3283
+ # Return a string representation of the result
3284
+ #
3285
+ # @api public
3286
+ # @return [String]
3287
+ #
3288
+ # source://dry-schema//lib/dry/schema/result.rb#184
3289
+ def inspect; end
3290
+
3291
+ # Check if a given key is present in the output
3292
+ #
3293
+ # @api public
3294
+ # @param name [Symbol]
3295
+ # @return [Boolean]
3296
+ #
3297
+ # source://dry-schema//lib/dry/schema/result.rb#121
3298
+ def key?(name); end
3299
+
3300
+ # Return the message set
3301
+ #
3302
+ # @api public
3303
+ # @option options
3304
+ # @option options
3305
+ # @option options
3306
+ # @param options [Hash]
3307
+ # @return [MessageSet]
3308
+ #
3309
+ # source://dry-schema//lib/dry/schema/result.rb#175
3310
+ def message_set(options = T.unsafe(nil)); end
3311
+
3312
+ # @api private
3313
+ #
3314
+ # source://dry-schema//lib/dry/schema/result.rb#51
3315
+ def new(output, **opts, &_arg2); end
3316
+
3317
+ # Dump result to a hash returning processed and validated data
3318
+ #
3319
+ # @api private
3320
+ # @return [Hash]
3321
+ #
3322
+ # source://dry-schema//lib/dry/schema/result.rb#77
3323
+ def output; end
3324
+
3325
+ # @api private
3326
+ #
3327
+ # source://dry-schema//lib/dry/schema/result.rb#68
3328
+ def path; end
3329
+
3330
+ # @api private
3331
+ #
3332
+ # source://dry-schema//lib/dry/schema/result.rb#83
3333
+ def replace(value); end
3334
+
3335
+ # Check if the result is successful
3336
+ #
3337
+ # @api public
3338
+ # @return [Boolean]
3339
+ #
3340
+ # source://dry-schema//lib/dry/schema/result.rb#141
3341
+ def success?; end
3342
+
3343
+ # Dump result to a hash returning processed and validated data
3344
+ #
3345
+ # @api private
3346
+ # @return [Hash]
3347
+ #
3348
+ # source://dry-schema//lib/dry/schema/result.rb#77
3349
+ def to_h; end
3350
+
3351
+ # @api private
3352
+ #
3353
+ # source://dry-schema//lib/dry/schema/result.rb#62
3354
+ def update(hash); end
3355
+
3356
+ class << self
3357
+ # @api private
3358
+ # @yield [result]
3359
+ #
3360
+ # source://dry-schema//lib/dry/schema/result.rb#33
3361
+ def new(*_arg0, **_arg1); end
3362
+ end
3363
+ end
3364
+
3365
+ # Applies rules defined within the DSL
3366
+ #
3367
+ # @api private
3368
+ #
3369
+ # source://dry-schema//lib/dry/schema/rule_applier.rb#11
3370
+ class Dry::Schema::RuleApplier
3371
+ include ::Dry::Initializer::Mixin::Root
3372
+ extend ::Dry::Initializer
3373
+
3374
+ # @api private
3375
+ #
3376
+ # source://dry-schema//lib/dry/schema/rule_applier.rb#24
3377
+ def call(input); end
3378
+
3379
+ # @api private
3380
+ #
3381
+ # source://dry-schema//lib/dry/schema/rule_applier.rb#38
3382
+ def to_ast; end
3383
+ end
3384
+
3385
+ # core processor steps in the default execution order
3386
+ #
3387
+ # @api public
3388
+ #
3389
+ # source://dry-schema//lib/dry/schema/constants.rb#18
3390
+ Dry::Schema::STEPS_IN_ORDER = T.let(T.unsafe(nil), Array)
3391
+
3392
+ # @api private
3393
+ #
3394
+ # source://dry-schema//lib/dry/schema/step.rb#8
3395
+ class Dry::Schema::Step
3396
+ # @api private
3397
+ # @return [Step] a new instance of Step
3398
+ #
3399
+ # source://dry-schema//lib/dry/schema/step.rb#22
3400
+ def initialize(type:, name:, executor:, path: T.unsafe(nil)); end
3401
+
3402
+ # @api private
3403
+ #
3404
+ # source://dry-schema//lib/dry/schema/step.rb#31
3405
+ def call(result); end
3406
+
3407
+ # @api private
3408
+ #
3409
+ # source://dry-schema//lib/dry/schema/step.rb#16
3410
+ def executor; end
3411
+
3412
+ # @api private
3413
+ #
3414
+ # source://dry-schema//lib/dry/schema/step.rb#10
3415
+ def name; end
3416
+
3417
+ # @api private
3418
+ #
3419
+ # source://dry-schema//lib/dry/schema/step.rb#19
3420
+ def path; end
3421
+
3422
+ # @api private
3423
+ #
3424
+ # source://dry-schema//lib/dry/schema/step.rb#40
3425
+ def scoped(parent_path); end
3426
+
3427
+ # @api private
3428
+ #
3429
+ # source://dry-schema//lib/dry/schema/step.rb#13
3430
+ def type; end
3431
+
3432
+ private
3433
+
3434
+ # @api private
3435
+ # @raise [ArgumentError]
3436
+ #
3437
+ # source://dry-schema//lib/dry/schema/step.rb#52
3438
+ def validate_name(name); end
3439
+ end
3440
+
3441
+ # Captures predicates defined within the DSL
3442
+ #
3443
+ # @api private
3444
+ #
3445
+ # source://dry-schema//lib/dry/schema/trace.rb#8
3446
+ class Dry::Schema::Trace < ::BasicObject
3447
+ include ::Dry::Core::Equalizer::Methods
3448
+
3449
+ # @api private
3450
+ # @return [Trace] a new instance of Trace
3451
+ #
3452
+ # source://dry-schema//lib/dry/schema/trace.rb#22
3453
+ def initialize(compiler = T.unsafe(nil)); end
3454
+
3455
+ # @api private
3456
+ #
3457
+ # source://dry-schema//lib/dry/schema/trace.rb#54
3458
+ def <<(op); end
3459
+
3460
+ # @api private
3461
+ #
3462
+ # source://dry-schema//lib/dry/schema/trace.rb#54
3463
+ def append(op); end
3464
+
3465
+ # @api private
3466
+ #
3467
+ # source://dry-schema//lib/dry/schema/trace.rb#19
3468
+ def captures; end
3469
+
3470
+ # @api private
3471
+ #
3472
+ # source://dry-schema//lib/dry/schema/trace.rb#77
3473
+ def class; end
3474
+
3475
+ # @api private
3476
+ #
3477
+ # source://dry-schema//lib/dry/schema/trace.rb#16
3478
+ def compiler; end
3479
+
3480
+ # @api private
3481
+ #
3482
+ # source://dry-schema//lib/dry/schema/trace.rb#28
3483
+ def evaluate(*args, **opts); end
3484
+
3485
+ # @api private
3486
+ #
3487
+ # source://dry-schema//lib/dry/schema/trace.rb#39
3488
+ def evaluate_predicates(predicates); end
3489
+
3490
+ # @api private
3491
+ #
3492
+ # source://dry-schema//lib/dry/schema/trace.rb#72
3493
+ def to_ast; end
3494
+
3495
+ # @api private
3496
+ #
3497
+ # source://dry-schema//lib/dry/schema/trace.rb#61
3498
+ def to_rule(name = T.unsafe(nil)); end
3499
+
3500
+ private
3501
+
3502
+ # @api private
3503
+ #
3504
+ # source://dry-schema//lib/dry/schema/trace.rb#93
3505
+ def method_missing(meth, *args, &block); end
3506
+
3507
+ # @api private
3508
+ #
3509
+ # source://dry-schema//lib/dry/schema/trace.rb#84
3510
+ def reduced_rule; end
3511
+
3512
+ # @api private
3513
+ # @return [Boolean]
3514
+ #
3515
+ # source://dry-schema//lib/dry/schema/trace.rb#88
3516
+ def respond_to_missing?(meth, include_private = T.unsafe(nil)); end
3517
+ end
3518
+
3519
+ # @api private
3520
+ #
3521
+ # source://dry-schema//lib/dry/schema/trace.rb#9
3522
+ Dry::Schema::Trace::INVALID_PREDICATES = T.let(T.unsafe(nil), Array)
3523
+
3524
+ # A class to build containers for custom types, which can be used in schemas
3525
+ #
3526
+ # @api public
3527
+ # @example
3528
+ # MyTypeContainer = Dry::Schema::TypeContainer.new
3529
+ # MyTypeContainer.register('params.fancy_string', Types::FancyString)
3530
+ #
3531
+ # source://dry-schema//lib/dry/schema/type_container.rb#15
3532
+ class Dry::Schema::TypeContainer
3533
+ include ::Dry::Core::Container::Mixin::Initializer
3534
+ include ::Dry::Core::Container::Mixin
3535
+ extend ::Dry::Core::Container::Configuration
3536
+ extend ::Dry::Core::Constants
3537
+ extend ::Dry::Configurable
3538
+ extend ::Dry::Configurable::Methods
3539
+ extend ::Dry::Configurable::ClassMethods
3540
+
3541
+ # @api public
3542
+ # @return [TypeContainer] a new instance of TypeContainer
3543
+ #
3544
+ # source://dry-core/1.1.0/lib/dry/core/container/mixin.rb#71
3545
+ def initialize(*_arg0, **_arg1, &_arg2); end
3546
+
3547
+ # source://dry-core/1.1.0/lib/dry/core/container/mixin.rb#83
3548
+ def config; end
3549
+
3550
+ # @api public
3551
+ #
3552
+ # source://dry-core/1.1.0/lib/dry/core/container/mixin.rb#181
3553
+ def registered?(key); end
3554
+ end
3555
+
3556
+ # A simple wrapper around Dry::Types registry
3557
+ #
3558
+ # This is used internally by specialized processor sub-classes
3559
+ #
3560
+ # @api private
3561
+ #
3562
+ # source://dry-schema//lib/dry/schema/type_registry.rb#13
3563
+ class Dry::Schema::TypeRegistry
3564
+ # @api private
3565
+ # @return [TypeRegistry] a new instance of TypeRegistry
3566
+ #
3567
+ # source://dry-schema//lib/dry/schema/type_registry.rb#26
3568
+ def initialize(types, namespace = T.unsafe(nil)); end
3569
+
3570
+ # @api private
3571
+ #
3572
+ # source://dry-schema//lib/dry/schema/type_registry.rb#37
3573
+ def [](name); end
3574
+
3575
+ # @api private
3576
+ #
3577
+ # source://dry-schema//lib/dry/schema/type_registry.rb#18
3578
+ def namespace; end
3579
+
3580
+ # @api private
3581
+ #
3582
+ # source://dry-schema//lib/dry/schema/type_registry.rb#32
3583
+ def namespaced(ns); end
3584
+
3585
+ # @api private
3586
+ #
3587
+ # source://dry-schema//lib/dry/schema/type_registry.rb#15
3588
+ def types; end
3589
+
3590
+ class << self
3591
+ # @api private
3592
+ #
3593
+ # source://dry-schema//lib/dry/schema/type_registry.rb#21
3594
+ def new(types = T.unsafe(nil), namespace = T.unsafe(nil)); end
3595
+ end
3596
+ end
3597
+
3598
+ # Schema's own type registry
3599
+ #
3600
+ # @api public
3601
+ #
3602
+ # source://dry-schema//lib/dry/schema/types.rb#10
3603
+ module Dry::Schema::Types
3604
+ extend ::Dry::Types::BuilderMethods
3605
+ extend ::Dry::Core::Deprecations::Interface
3606
+
3607
+ mixes_in_class_methods ::Dry::Types::BuilderMethods
3608
+ end
3609
+
3610
+ # Combines multiple logical operations into a single type, taking into
3611
+ # account the type of logical operation (or, and, implication) and the
3612
+ # underlying types (schemas, nominals, etc.)
3613
+ #
3614
+ # @api private
3615
+ #
3616
+ # source://dry-schema//lib/dry/schema/types_merger.rb#10
3617
+ class Dry::Schema::TypesMerger
3618
+ # @api private
3619
+ # @return [TypesMerger] a new instance of TypesMerger
3620
+ #
3621
+ # source://dry-schema//lib/dry/schema/types_merger.rb#127
3622
+ def initialize(type_registry = T.unsafe(nil)); end
3623
+
3624
+ # @api private
3625
+ #
3626
+ # source://dry-schema//lib/dry/schema/types_merger.rb#132
3627
+ def call(op_class, lhs, rhs); end
3628
+
3629
+ # @api private
3630
+ #
3631
+ # source://dry-schema//lib/dry/schema/types_merger.rb#11
3632
+ def type_registry; end
3633
+ end
3634
+
3635
+ # @api private
3636
+ #
3637
+ # source://dry-schema//lib/dry/schema/types_merger.rb#14
3638
+ class Dry::Schema::TypesMerger::ValueMerger
3639
+ # @api private
3640
+ # @return [ValueMerger] a new instance of ValueMerger
3641
+ #
3642
+ # source://dry-schema//lib/dry/schema/types_merger.rb#21
3643
+ def initialize(types_merger, op_class, old, new); end
3644
+
3645
+ # @api private
3646
+ #
3647
+ # source://dry-schema//lib/dry/schema/types_merger.rb#29
3648
+ def call; end
3649
+
3650
+ # @api private
3651
+ #
3652
+ # source://dry-schema//lib/dry/schema/types_merger.rb#18
3653
+ def new; end
3654
+
3655
+ # @api private
3656
+ #
3657
+ # source://dry-schema//lib/dry/schema/types_merger.rb#17
3658
+ def old; end
3659
+
3660
+ # @api private
3661
+ #
3662
+ # source://dry-schema//lib/dry/schema/types_merger.rb#16
3663
+ def op_class; end
3664
+
3665
+ # @api private
3666
+ #
3667
+ # source://dry-schema//lib/dry/schema/types_merger.rb#15
3668
+ def types_merger; end
3669
+
3670
+ private
3671
+
3672
+ # @api private
3673
+ #
3674
+ # source://dry-schema//lib/dry/schema/types_merger.rb#51
3675
+ def merge_and; end
3676
+
3677
+ # @api private
3678
+ #
3679
+ # source://dry-schema//lib/dry/schema/types_merger.rb#95
3680
+ def merge_equivalent_types(unwrapped_old, unwrapped_new); end
3681
+
3682
+ # @api private
3683
+ #
3684
+ # source://dry-schema//lib/dry/schema/types_merger.rb#51
3685
+ def merge_implication; end
3686
+
3687
+ # @api private
3688
+ #
3689
+ # source://dry-schema//lib/dry/schema/types_merger.rb#46
3690
+ def merge_or; end
3691
+
3692
+ # @api private
3693
+ #
3694
+ # source://dry-schema//lib/dry/schema/types_merger.rb#51
3695
+ def merge_ordered; end
3696
+
3697
+ # @api private
3698
+ #
3699
+ # source://dry-schema//lib/dry/schema/types_merger.rb#84
3700
+ def merge_schemas(unwrapped_old, unwrapped_new); end
3701
+
3702
+ # @api private
3703
+ #
3704
+ # source://dry-schema//lib/dry/schema/types_merger.rb#70
3705
+ def merge_unwrapped_types(unwrapped_old, unwrapped_new); end
3706
+
3707
+ # @api private
3708
+ #
3709
+ # source://dry-schema//lib/dry/schema/types_merger.rb#108
3710
+ def unwrap_type(type); end
3711
+ end
3712
+
3713
+ # Used by the processors to coerce values in the input hash
3714
+ #
3715
+ # @api private
3716
+ #
3717
+ # source://dry-schema//lib/dry/schema/value_coercer.rb#11
3718
+ class Dry::Schema::ValueCoercer
3719
+ include ::Dry::Initializer::Mixin::Root
3720
+ include ::Dry::Core::Equalizer::Methods
3721
+ extend ::Dry::Initializer
3722
+
3723
+ # @api private
3724
+ #
3725
+ # source://dry-schema//lib/dry/schema/value_coercer.rb#19
3726
+ def call(input); end
3727
+ end