sorbet-baml 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/CLAUDE.md +94 -0
  3. data/README.md +315 -122
  4. data/Rakefile +2 -2
  5. data/docs-site/.gitignore +48 -0
  6. data/docs-site/Gemfile +5 -0
  7. data/docs-site/Gemfile.lock +140 -0
  8. data/docs-site/Rakefile +3 -0
  9. data/docs-site/bridgetown.config.yml +15 -0
  10. data/docs-site/config/initializers.rb +9 -0
  11. data/docs-site/config/puma.rb +9 -0
  12. data/docs-site/config.ru +5 -0
  13. data/docs-site/esbuild.config.js +11 -0
  14. data/docs-site/frontend/javascript/index.js +22 -0
  15. data/docs-site/frontend/styles/index.css +61 -0
  16. data/docs-site/package.json +18 -0
  17. data/docs-site/postcss.config.js +6 -0
  18. data/docs-site/server/roda_app.rb +9 -0
  19. data/docs-site/src/_components/head.liquid +26 -0
  20. data/docs-site/src/_components/nav.liquid +68 -0
  21. data/docs-site/src/_layouts/default.liquid +27 -0
  22. data/docs-site/src/_layouts/doc.liquid +39 -0
  23. data/docs-site/src/advanced-usage.md +598 -0
  24. data/docs-site/src/getting-started.md +170 -0
  25. data/docs-site/src/index.md +183 -0
  26. data/docs-site/src/troubleshooting.md +317 -0
  27. data/docs-site/src/type-mapping.md +236 -0
  28. data/docs-site/tailwind.config.js +85 -0
  29. data/examples/description_parameters.rb +49 -0
  30. data/lib/sorbet_baml/comment_extractor.rb +51 -54
  31. data/lib/sorbet_baml/converter.rb +69 -35
  32. data/lib/sorbet_baml/dependency_resolver.rb +11 -11
  33. data/lib/sorbet_baml/description_extension.rb +34 -0
  34. data/lib/sorbet_baml/description_extractor.rb +34 -0
  35. data/lib/sorbet_baml/dspy_tool_converter.rb +97 -0
  36. data/lib/sorbet_baml/dspy_tool_extensions.rb +23 -0
  37. data/lib/sorbet_baml/enum_extensions.rb +2 -2
  38. data/lib/sorbet_baml/struct_extensions.rb +2 -2
  39. data/lib/sorbet_baml/tool_extensions.rb +23 -0
  40. data/lib/sorbet_baml/type_mapper.rb +35 -37
  41. data/lib/sorbet_baml/version.rb +1 -1
  42. data/lib/sorbet_baml.rb +41 -10
  43. data/sorbet/config +2 -0
  44. data/sorbet/rbi/gems/anthropic@1.5.0.rbi +21252 -0
  45. data/sorbet/rbi/gems/async@2.27.3.rbi +9 -0
  46. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +9 -0
  47. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +424 -0
  48. data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +9 -0
  49. data/sorbet/rbi/gems/console@1.33.0.rbi +9 -0
  50. data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +672 -0
  51. data/sorbet/rbi/gems/dry-core@1.1.0.rbi +1729 -0
  52. data/sorbet/rbi/gems/dry-logger@1.1.0.rbi +1317 -0
  53. data/sorbet/rbi/gems/dspy@0.19.1.rbi +6677 -0
  54. data/sorbet/rbi/gems/ffi@1.17.2.rbi +2174 -0
  55. data/sorbet/rbi/gems/fiber-annotation@0.2.0.rbi +9 -0
  56. data/sorbet/rbi/gems/fiber-local@1.1.0.rbi +9 -0
  57. data/sorbet/rbi/gems/fiber-storage@1.0.1.rbi +9 -0
  58. data/sorbet/rbi/gems/google-protobuf@4.32.0.rbi +9 -0
  59. data/sorbet/rbi/gems/googleapis-common-protos-types@1.20.0.rbi +9 -0
  60. data/sorbet/rbi/gems/informers@1.2.1.rbi +1875 -0
  61. data/sorbet/rbi/gems/io-event@1.12.1.rbi +9 -0
  62. data/sorbet/rbi/gems/metrics@0.13.0.rbi +9 -0
  63. data/sorbet/rbi/gems/onnxruntime@0.10.0.rbi +304 -0
  64. data/sorbet/rbi/gems/openai@0.16.0.rbi +68055 -0
  65. data/sorbet/rbi/gems/opentelemetry-api@1.6.0.rbi +9 -0
  66. data/sorbet/rbi/gems/opentelemetry-common@0.22.0.rbi +9 -0
  67. data/sorbet/rbi/gems/opentelemetry-exporter-otlp@0.30.0.rbi +9 -0
  68. data/sorbet/rbi/gems/opentelemetry-registry@0.4.0.rbi +9 -0
  69. data/sorbet/rbi/gems/opentelemetry-sdk@1.8.1.rbi +9 -0
  70. data/sorbet/rbi/gems/opentelemetry-semantic_conventions@1.11.0.rbi +9 -0
  71. data/sorbet/rbi/gems/polars-df@0.20.0.rbi +9 -0
  72. data/sorbet/rbi/gems/sorbet-result@1.4.0.rbi +242 -0
  73. data/sorbet/rbi/gems/sorbet-schema@0.9.2.rbi +743 -0
  74. data/sorbet/rbi/gems/sorbet-struct-comparable@1.3.0.rbi +48 -0
  75. data/sorbet/rbi/gems/tokenizers@0.5.5.rbi +754 -0
  76. data/sorbet/rbi/gems/traces@0.17.0.rbi +9 -0
  77. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +1429 -0
  78. metadata +67 -7
  79. data/docs/README.md +0 -117
  80. data/docs/advanced-usage.md +0 -427
  81. data/docs/getting-started.md +0 -91
  82. data/docs/troubleshooting.md +0 -291
  83. data/docs/type-mapping.md +0 -192
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `async` gem.
5
+ # Please instead update this file by running `bin/tapioca gem async`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `bigdecimal` gem.
5
+ # Please instead update this file by running `bin/tapioca gem bigdecimal`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -0,0 +1,424 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `concurrent-ruby` gem.
5
+ # Please instead update this file by running `bin/tapioca gem concurrent-ruby`.
6
+
7
+
8
+ # {include:file:README.md}
9
+ #
10
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/constants.rb#1
11
+ module Concurrent
12
+ extend ::Concurrent::Utility::EngineDetector
13
+ end
14
+
15
+ # A thread-safe subclass of Array. This version locks against the object
16
+ # itself for every method call, ensuring only one thread can be reading
17
+ # or writing at a time. This includes iteration methods like `#each`.
18
+ #
19
+ # @note `a += b` is **not** a **thread-safe** operation on
20
+ # `Concurrent::Array`. It reads array `a`, then it creates new `Concurrent::Array`
21
+ # which is concatenation of `a` and `b`, then it writes the concatenation to `a`.
22
+ # The read and write are independent operations they do not form a single atomic
23
+ # operation therefore when two `+=` operations are executed concurrently updates
24
+ # may be lost. Use `#concat` instead.
25
+ # @see http://ruby-doc.org/core/Array.html Ruby standard library `Array`
26
+ #
27
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/array.rb#53
28
+ class Concurrent::Array < ::Array; end
29
+
30
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/array.rb#22
31
+ Concurrent::ArrayImplementation = Array
32
+
33
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#7
34
+ module Concurrent::Collection; end
35
+
36
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#10
37
+ Concurrent::Collection::MapImplementation = Concurrent::Collection::MriMapBackend
38
+
39
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#10
40
+ class Concurrent::Collection::MriMapBackend < ::Concurrent::Collection::NonConcurrentMapBackend
41
+ # @return [MriMapBackend] a new instance of MriMapBackend
42
+ #
43
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#12
44
+ def initialize(options = T.unsafe(nil), &default_proc); end
45
+
46
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#17
47
+ def []=(key, value); end
48
+
49
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#61
50
+ def clear; end
51
+
52
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#33
53
+ def compute(key); end
54
+
55
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#21
56
+ def compute_if_absent(key); end
57
+
58
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#29
59
+ def compute_if_present(key); end
60
+
61
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#53
62
+ def delete(key); end
63
+
64
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#57
65
+ def delete_pair(key, value); end
66
+
67
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#49
68
+ def get_and_set(key, value); end
69
+
70
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#37
71
+ def merge_pair(key, value); end
72
+
73
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#45
74
+ def replace_if_exists(key, new_value); end
75
+
76
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#41
77
+ def replace_pair(key, old_value, new_value); end
78
+ end
79
+
80
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#9
81
+ class Concurrent::Collection::NonConcurrentMapBackend
82
+ # WARNING: all public methods of the class must operate on the @backend
83
+ # directly without calling each other. This is important because of the
84
+ # SynchronizedMapBackend which uses a non-reentrant mutex for performance
85
+ # reasons.
86
+ #
87
+ # @return [NonConcurrentMapBackend] a new instance of NonConcurrentMapBackend
88
+ #
89
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#15
90
+ def initialize(options = T.unsafe(nil), &default_proc); end
91
+
92
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#21
93
+ def [](key); end
94
+
95
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#25
96
+ def []=(key, value); end
97
+
98
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#94
99
+ def clear; end
100
+
101
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#59
102
+ def compute(key); end
103
+
104
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#29
105
+ def compute_if_absent(key); end
106
+
107
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#53
108
+ def compute_if_present(key); end
109
+
110
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#81
111
+ def delete(key); end
112
+
113
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#85
114
+ def delete_pair(key, value); end
115
+
116
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#99
117
+ def each_pair; end
118
+
119
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#71
120
+ def get_and_set(key, value); end
121
+
122
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#110
123
+ def get_or_default(key, default_value); end
124
+
125
+ # @return [Boolean]
126
+ #
127
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#77
128
+ def key?(key); end
129
+
130
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#63
131
+ def merge_pair(key, value); end
132
+
133
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#46
134
+ def replace_if_exists(key, new_value); end
135
+
136
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#37
137
+ def replace_pair(key, old_value, new_value); end
138
+
139
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#106
140
+ def size; end
141
+
142
+ private
143
+
144
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#130
145
+ def dupped_backend; end
146
+
147
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#124
148
+ def initialize_copy(other); end
149
+
150
+ # @return [Boolean]
151
+ #
152
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#134
153
+ def pair?(key, expected_value); end
154
+
155
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#116
156
+ def set_backend(default_proc); end
157
+
158
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#138
159
+ def store_computed_value(key, new_value); end
160
+ end
161
+
162
+ # A thread-safe subclass of Hash. This version locks against the object
163
+ # itself for every method call, ensuring only one thread can be reading
164
+ # or writing at a time. This includes iteration methods like `#each`,
165
+ # which takes the lock repeatedly when reading an item.
166
+ #
167
+ # @see http://ruby-doc.org/core/Hash.html Ruby standard library `Hash`
168
+ #
169
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/hash.rb#49
170
+ class Concurrent::Hash < ::Hash; end
171
+
172
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/hash.rb#16
173
+ Concurrent::HashImplementation = Hash
174
+
175
+ # `Concurrent::Map` is a hash-like object and should have much better performance
176
+ # characteristics, especially under high concurrency, than `Concurrent::Hash`.
177
+ # However, `Concurrent::Map `is not strictly semantically equivalent to a ruby `Hash`
178
+ # -- for instance, it does not necessarily retain ordering by insertion time as `Hash`
179
+ # does. For most uses it should do fine though, and we recommend you consider
180
+ # `Concurrent::Map` instead of `Concurrent::Hash` for your concurrency-safe hash needs.
181
+ #
182
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#39
183
+ class Concurrent::Map < ::Concurrent::Collection::MriMapBackend
184
+ # Iterates over each key value pair.
185
+ # This method is atomic.
186
+ #
187
+ # @note Atomic methods taking a block do not allow the `self` instance
188
+ # to be used within the block. Doing so will cause a deadlock.
189
+ # @return [self]
190
+ # @yield for each key value pair in the map
191
+ # @yieldparam key [Object]
192
+ # @yieldparam value [Object]
193
+ #
194
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#274
195
+ def each; end
196
+
197
+ # Iterates over each key.
198
+ # This method is atomic.
199
+ #
200
+ # @note Atomic methods taking a block do not allow the `self` instance
201
+ # to be used within the block. Doing so will cause a deadlock.
202
+ # @return [self]
203
+ # @yield for each key in the map
204
+ # @yieldparam key [Object]
205
+ #
206
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#255
207
+ def each_key; end
208
+
209
+ # Iterates over each key value pair.
210
+ # This method is atomic.
211
+ #
212
+ # @note Atomic methods taking a block do not allow the `self` instance
213
+ # to be used within the block. Doing so will cause a deadlock.
214
+ # @return [self]
215
+ # @yield for each key value pair in the map
216
+ # @yieldparam key [Object]
217
+ # @yieldparam value [Object]
218
+ #
219
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#274
220
+ def each_pair; end
221
+
222
+ # Iterates over each value.
223
+ # This method is atomic.
224
+ #
225
+ # @note Atomic methods taking a block do not allow the `self` instance
226
+ # to be used within the block. Doing so will cause a deadlock.
227
+ # @return [self]
228
+ # @yield for each value in the map
229
+ # @yieldparam value [Object]
230
+ #
231
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#264
232
+ def each_value; end
233
+
234
+ # Is map empty?
235
+ #
236
+ # @return [true, false]
237
+ #
238
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#291
239
+ def empty?; end
240
+
241
+ # Get a value with key, or default_value when key is absent,
242
+ # or fail when no default_value is given.
243
+ #
244
+ # @note The "fetch-then-act" methods of `Map` are not atomic. `Map` is intended
245
+ # to be use as a concurrency primitive with strong happens-before
246
+ # guarantees. It is not intended to be used as a high-level abstraction
247
+ # supporting complex operations. All read and write operations are
248
+ # thread safe, but no guarantees are made regarding race conditions
249
+ # between the fetch operation and yielding to the block. Additionally,
250
+ # this method does not support recursion. This is due to internal
251
+ # constraints that are very unlikely to change in the near future.
252
+ # @param key [Object]
253
+ # @param default_value [Object]
254
+ # @raise [KeyError] when key is missing and no default_value is provided
255
+ # @return [Object] the value or default value
256
+ # @yield default value for a key
257
+ # @yieldparam key [Object]
258
+ # @yieldreturn [Object] default value
259
+ #
260
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#183
261
+ def fetch(key, default_value = T.unsafe(nil)); end
262
+
263
+ # Fetch value with key, or store default value when key is absent,
264
+ # or fail when no default_value is given. This is a two step operation,
265
+ # therefore not atomic. The store can overwrite other concurrently
266
+ # stored value.
267
+ #
268
+ # @param key [Object]
269
+ # @param default_value [Object]
270
+ # @return [Object] the value or default value
271
+ # @yield default value for a key
272
+ # @yieldparam key [Object]
273
+ # @yieldreturn [Object] default value
274
+ #
275
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#205
276
+ def fetch_or_store(key, default_value = T.unsafe(nil)); end
277
+
278
+ # Get a value with key
279
+ #
280
+ # @param key [Object]
281
+ # @return [Object] the value
282
+ #
283
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb#21
284
+ def get(key); end
285
+
286
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#321
287
+ def inspect; end
288
+
289
+ # Find key of a value.
290
+ #
291
+ # @param value [Object]
292
+ # @return [Object, nil] key or nil when not found
293
+ #
294
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#284
295
+ def key(value); end
296
+
297
+ # All keys
298
+ #
299
+ # @return [::Array<Object>] keys
300
+ #
301
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#236
302
+ def keys; end
303
+
304
+ # @raise [TypeError]
305
+ #
306
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#305
307
+ def marshal_dump; end
308
+
309
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#313
310
+ def marshal_load(hash); end
311
+
312
+ # Set a value with key
313
+ #
314
+ # @param key [Object]
315
+ # @param value [Object]
316
+ # @return [Object] the new value
317
+ #
318
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb#17
319
+ def put(key, value); end
320
+
321
+ # Insert value into map with key if key is absent in one atomic step.
322
+ #
323
+ # @param key [Object]
324
+ # @param value [Object]
325
+ # @return [Object, nil] the previous value when key was present or nil when there was no key
326
+ #
327
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#215
328
+ def put_if_absent(key, value); end
329
+
330
+ # Is the value stored in the map. Iterates over all values.
331
+ #
332
+ # @param value [Object]
333
+ # @return [true, false]
334
+ #
335
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#227
336
+ def value?(value); end
337
+
338
+ # All values
339
+ #
340
+ # @return [::Array<Object>] values
341
+ #
342
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#244
343
+ def values; end
344
+
345
+ private
346
+
347
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#331
348
+ def initialize_copy(other); end
349
+
350
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#336
351
+ def populate_from(hash); end
352
+
353
+ # @raise [KeyError]
354
+ #
355
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#327
356
+ def raise_fetch_no_key; end
357
+
358
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/map.rb#341
359
+ def validate_options_hash!(options); end
360
+ end
361
+
362
+ # Various classes within allows for +nil+ values to be stored,
363
+ # so a special +NULL+ token is required to indicate the "nil-ness".
364
+ #
365
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/constants.rb#6
366
+ Concurrent::NULL = T.let(T.unsafe(nil), Object)
367
+
368
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util.rb#4
369
+ module Concurrent::ThreadSafe; end
370
+
371
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util.rb#7
372
+ module Concurrent::ThreadSafe::Util; end
373
+
374
+ # TODO (pitr-ch 15-Oct-2016): migrate to Utility::ProcessorCounter
375
+ #
376
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util.rb#13
377
+ Concurrent::ThreadSafe::Util::CPU_COUNT = T.let(T.unsafe(nil), Integer)
378
+
379
+ # TODO (pitr-ch 15-Oct-2016): migrate to Utility::NativeInteger
380
+ #
381
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util.rb#10
382
+ Concurrent::ThreadSafe::Util::FIXNUM_BIT_SIZE = T.let(T.unsafe(nil), Integer)
383
+
384
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/thread_safe/util.rb#11
385
+ Concurrent::ThreadSafe::Util::MAX_INT = T.let(T.unsafe(nil), Integer)
386
+
387
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#3
388
+ module Concurrent::Utility; end
389
+
390
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#6
391
+ module Concurrent::Utility::EngineDetector
392
+ # @return [Boolean]
393
+ #
394
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#7
395
+ def on_cruby?; end
396
+
397
+ # @return [Boolean]
398
+ #
399
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#11
400
+ def on_jruby?; end
401
+
402
+ # @return [Boolean]
403
+ #
404
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#27
405
+ def on_linux?; end
406
+
407
+ # @return [Boolean]
408
+ #
409
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#23
410
+ def on_osx?; end
411
+
412
+ # @return [Boolean]
413
+ #
414
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#15
415
+ def on_truffleruby?; end
416
+
417
+ # @return [Boolean]
418
+ #
419
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#19
420
+ def on_windows?; end
421
+
422
+ # source://concurrent-ruby//lib/concurrent-ruby/concurrent/utility/engine.rb#31
423
+ def ruby_version(version = T.unsafe(nil), comparison, major, minor, patch); end
424
+ end
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `connection_pool` gem.
5
+ # Please instead update this file by running `bin/tapioca gem connection_pool`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `console` gem.
5
+ # Please instead update this file by running `bin/tapioca gem console`.
6
+
7
+
8
+ # THIS IS AN EMPTY RBI FILE.
9
+ # see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem