roast-ai 1.0.2 → 1.2.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 (125) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/commands/docs/write-comments.md +1 -1
  3. data/.rubocop.yml +12 -1
  4. data/Gemfile +2 -2
  5. data/Gemfile.lock +149 -34
  6. data/README.md +56 -3
  7. data/examples/agent_with_multiple_prompts.rb +27 -0
  8. data/examples/custom_logging.rb +4 -2
  9. data/examples/demo/Gemfile.lock +49 -15
  10. data/examples/plugin-gem-example/Gemfile.lock +19 -15
  11. data/examples/simple_chat.rb +1 -1
  12. data/examples/simple_pi_agent.rb +18 -0
  13. data/internal/rubocop/cop/roast/no_test_class_nesting.rb +126 -0
  14. data/internal/rubocop/rubocop-roast.yml +6 -0
  15. data/internal/workflows/maintenance/branch_docs_impact.rb +97 -0
  16. data/internal/workflows/maintenance/deprecated_models_docs_updater.rb +78 -0
  17. data/lib/roast/cog/config.rb +1 -1
  18. data/lib/roast/cog/output.rb +2 -1
  19. data/lib/roast/cog/registry.rb +3 -3
  20. data/lib/roast/cog_input_manager.rb +28 -7
  21. data/lib/roast/cogs/agent/config.rb +2 -2
  22. data/lib/roast/cogs/agent/input.rb +20 -22
  23. data/lib/roast/cogs/agent/providers/claude/claude_invocation.rb +13 -5
  24. data/lib/roast/cogs/agent/providers/claude/messages/result_message.rb +1 -1
  25. data/lib/roast/cogs/agent/providers/claude/tool_result.rb +344 -4
  26. data/lib/roast/cogs/agent/providers/claude/tool_use.rb +356 -1
  27. data/lib/roast/cogs/agent/providers/claude.rb +16 -3
  28. data/lib/roast/cogs/agent/providers/pi/messages/tool_call_message.rb +60 -0
  29. data/lib/roast/cogs/agent/providers/pi/messages/tool_result_message.rb +57 -0
  30. data/lib/roast/cogs/agent/providers/pi/pi_invocation.rb +352 -0
  31. data/lib/roast/cogs/agent/providers/pi.rb +41 -0
  32. data/lib/roast/cogs/agent/stats.rb +29 -0
  33. data/lib/roast/cogs/agent/usage.rb +22 -0
  34. data/lib/roast/cogs/agent.rb +5 -6
  35. data/lib/roast/cogs/chat/config.rb +28 -2
  36. data/lib/roast/cogs/chat.rb +82 -10
  37. data/lib/roast/event.rb +1 -0
  38. data/lib/roast/event_monitor.rb +35 -3
  39. data/lib/roast/log.rb +21 -0
  40. data/lib/roast/log_formatter.rb +9 -7
  41. data/lib/roast/version.rb +1 -1
  42. data/lib/roast.rb +1 -3
  43. data/roast-ai.gemspec +2 -1
  44. data/sorbet/rbi/gems/activesupport@8.0.2.rbi +549 -383
  45. data/sorbet/rbi/gems/addressable@2.8.7.rbi +46 -44
  46. data/sorbet/rbi/gems/ast@2.4.3.rbi +7 -6
  47. data/sorbet/rbi/gems/async@2.34.0.rbi +21 -3
  48. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +7 -7
  49. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +198 -1
  50. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +405 -328
  51. data/sorbet/rbi/gems/console@1.34.2.rbi +2 -2
  52. data/sorbet/rbi/gems/docile@1.4.1.rbi +30 -30
  53. data/sorbet/rbi/gems/drb@2.2.3.rbi +25 -25
  54. data/sorbet/rbi/gems/erubi@1.13.1.rbi +2 -0
  55. data/sorbet/rbi/gems/faraday-net_http@3.4.2.rbi +2 -77
  56. data/sorbet/rbi/gems/faraday-retry@2.3.2.rbi +2 -57
  57. data/sorbet/rbi/gems/faraday@2.14.1.rbi +382 -75
  58. data/sorbet/rbi/gems/guard-compat@1.2.1.rbi +1 -110
  59. data/sorbet/rbi/gems/guard-minitest@2.4.6.rbi +0 -139
  60. data/sorbet/rbi/gems/guard@2.19.1.rbi +38 -38
  61. data/sorbet/rbi/gems/hashdiff@1.2.0.rbi +3 -3
  62. data/sorbet/rbi/gems/i18n@1.14.7.rbi +53 -29
  63. data/sorbet/rbi/gems/io-event@1.14.0.rbi +67 -10
  64. data/sorbet/rbi/gems/json@2.18.1.rbi +227 -5
  65. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +83 -0
  66. data/sorbet/rbi/gems/listen@3.9.0.rbi +7 -7
  67. data/sorbet/rbi/gems/logger@1.7.0.rbi +3 -3
  68. data/sorbet/rbi/gems/lumberjack@1.2.10.rbi +21 -21
  69. data/sorbet/rbi/gems/marcel@1.1.0.rbi +1 -1
  70. data/sorbet/rbi/gems/minitest-rg@5.3.0.rbi +0 -96
  71. data/sorbet/rbi/gems/minitest@5.25.5.rbi +1 -16
  72. data/sorbet/rbi/gems/net-http@0.9.1.rbi +27 -19
  73. data/sorbet/rbi/gems/netrc@0.11.0.rbi +18 -0
  74. data/sorbet/rbi/gems/notiffany@0.1.3.rbi +20 -20
  75. data/sorbet/rbi/gems/ostruct@0.6.2.rbi +149 -15
  76. data/sorbet/rbi/gems/parser@3.3.8.0.rbi +141 -139
  77. data/sorbet/rbi/gems/prism@1.4.0.rbi +922 -864
  78. data/sorbet/rbi/gems/public_suffix@6.0.2.rbi +56 -35
  79. data/sorbet/rbi/gems/racc@1.8.1.rbi +10 -2
  80. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +12 -12
  81. data/sorbet/rbi/gems/rake@13.3.0.rbi +219 -318
  82. data/sorbet/rbi/gems/{rbi@0.3.6.rbi → rbi@0.3.9.rbi} +612 -2267
  83. data/sorbet/rbi/gems/{rbs@3.9.4.rbi → rbs@4.0.0.dev.5.rbi} +2013 -680
  84. data/sorbet/rbi/gems/regexp_parser@2.10.0.rbi +151 -113
  85. data/sorbet/rbi/gems/require-hooks@0.2.3.rbi +110 -0
  86. data/sorbet/rbi/gems/rexml@3.4.2.rbi +24 -51
  87. data/sorbet/rbi/gems/rubocop-ast@1.45.1.rbi +506 -815
  88. data/sorbet/rbi/gems/rubocop-sorbet@0.10.5.rbi +16 -16
  89. data/sorbet/rbi/gems/rubocop@1.77.0.rbi +2692 -2327
  90. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +8 -8
  91. data/sorbet/rbi/gems/ruby_llm@1.8.2.rbi +38 -23
  92. data/sorbet/rbi/gems/securerandom@0.4.1.rbi +1 -1
  93. data/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +2 -131
  94. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +28 -127
  95. data/sorbet/rbi/gems/{spoom@1.6.3.rbi → spoom@1.7.11.rbi} +1139 -2246
  96. data/sorbet/rbi/gems/sqlite3@2.9.0.rbi +91 -1
  97. data/sorbet/rbi/gems/{tapioca@0.16.11.rbi → tapioca@0.17.10.rbi} +721 -835
  98. data/sorbet/rbi/gems/thor@1.4.0.rbi +53 -53
  99. data/sorbet/rbi/gems/tsort@0.2.0.rbi +393 -0
  100. data/sorbet/rbi/gems/type_toolkit@0.0.5.rbi +49 -0
  101. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +144 -143
  102. data/sorbet/rbi/gems/uri@1.1.1.rbi +7 -7
  103. data/sorbet/rbi/gems/vcr@6.3.1.rbi +53 -36
  104. data/sorbet/rbi/gems/webmock@3.25.1.rbi +38 -13
  105. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +39 -272
  106. data/sorbet/rbi/shims/lib/roast/execution_context.rbi +3 -3
  107. data/tutorial/01_your_first_workflow/README.md +9 -5
  108. data/tutorial/01_your_first_workflow/configured_chat.rb +1 -1
  109. data/tutorial/02_chaining_cogs/README.md +2 -2
  110. data/tutorial/02_chaining_cogs/code_review.rb +1 -1
  111. data/tutorial/02_chaining_cogs/session_resumption.rb +1 -1
  112. data/tutorial/03_targets_and_params/README.md +1 -1
  113. data/tutorial/04_configuration_options/README.md +2 -2
  114. data/tutorial/08_iterative_workflows/README.md +1 -1
  115. data/tutorial/README.md +1 -1
  116. metadata +39 -17
  117. data/docs/AGENT_STEPS.md +0 -288
  118. data/docs/INSTRUMENTATION.md +0 -243
  119. data/docs/ITERATION_SYNTAX.md +0 -147
  120. data/docs/VALIDATION.md +0 -178
  121. data/lib/roast/nil_assertions.rb +0 -23
  122. /data/internal/documentation/{architectural-notes.md → comments/architectural-notes.md} +0 -0
  123. /data/internal/documentation/{doc-comments-external.md → comments/doc-comments-external.md} +0 -0
  124. /data/internal/documentation/{doc-comments-internal.md → comments/doc-comments-internal.md} +0 -0
  125. /data/internal/documentation/{doc-comments.md → comments/doc-comments.md} +0 -0
@@ -13,7 +13,7 @@ module Addressable; end
13
13
  # source://addressable//lib/addressable/idna/pure.rb#21
14
14
  module Addressable::IDNA
15
15
  class << self
16
- # source://addressable//lib/addressable/idna/pure.rb#117
16
+ # source://addressable//lib/addressable/idna/pure.rb#122
17
17
  def _deprecated_unicode_normalize_kc(value); end
18
18
 
19
19
  # Converts from a Unicode internationalized domain name to an ASCII
@@ -29,6 +29,8 @@ module Addressable::IDNA
29
29
  def to_unicode(input); end
30
30
 
31
31
  # @deprecated Use {String#unicode_normalize(:nfkc)} instead
32
+ #
33
+ # source://addressable//lib/addressable/idna/pure.rb#117
32
34
  def unicode_normalize_kc(*args, **_arg1, &block); end
33
35
 
34
36
  private
@@ -200,7 +202,7 @@ class Addressable::Template
200
202
  # otherwise.
201
203
  # @see #==
202
204
  #
203
- # source://addressable//lib/addressable/template.rb#274
205
+ # source://addressable//lib/addressable/template.rb#283
204
206
  def eql?(template); end
205
207
 
206
208
  # Expands a URI template into a full URI.
@@ -253,8 +255,8 @@ class Addressable::Template
253
255
  # ).to_str
254
256
  # #=> Addressable::Template::InvalidTemplateValueError
255
257
  # @param mapping [Hash] The mapping that corresponds to the pattern.
256
- # @param processor [#validate, #transform] An optional processor object may be supplied.
257
258
  # @param normalize_values [Boolean] Optional flag to enable/disable unicode normalization. Default: true
259
+ # @param processor [#validate, #transform] An optional processor object may be supplied.
258
260
  # @return [Addressable::URI] The expanded URI template.
259
261
  #
260
262
  # source://addressable//lib/addressable/template.rb#591
@@ -294,7 +296,6 @@ class Addressable::Template
294
296
  # "http://example.com/{first}/{-list|/|second}/"
295
297
  # ).extract(uri)
296
298
  # #=> {"first" => "a", "second" => ["b", "c"]}
297
- # @param uri [Addressable::URI, #to_str] The URI to extract from.
298
299
  # @param processor [#restore, #match] A template processor object may optionally be supplied.
299
300
  #
300
301
  # The object should respond to either the <tt>restore</tt> or
@@ -308,6 +309,7 @@ class Addressable::Template
308
309
  # matching on that particular variable. The default value is `".*?"`.
309
310
  # The <tt>match</tt> method has no effect on multivariate operator
310
311
  # expansions.
312
+ # @param uri [Addressable::URI, #to_str] The URI to extract from.
311
313
  # @return [Hash, NilClass] The <tt>Hash</tt> mapping that was extracted from the URI, or
312
314
  # <tt>nil</tt> if the URI didn't match the template.
313
315
  #
@@ -335,7 +337,7 @@ class Addressable::Template
335
337
  #
336
338
  # @return [Array] The variables present in the template's pattern.
337
339
  #
338
- # source://addressable//lib/addressable/template.rb#607
340
+ # source://addressable//lib/addressable/template.rb#610
339
341
  def keys; end
340
342
 
341
343
  # Extracts match data from the URI using a URI Template pattern.
@@ -381,7 +383,6 @@ class Addressable::Template
381
383
  # #=> ["first", "second"]
382
384
  # match.captures
383
385
  # #=> ["a", ["b", "c"]]
384
- # @param uri [Addressable::URI, #to_str] The URI to extract from.
385
386
  # @param processor [#restore, #match] A template processor object may optionally be supplied.
386
387
  #
387
388
  # The object should respond to either the <tt>restore</tt> or
@@ -395,6 +396,7 @@ class Addressable::Template
395
396
  # matching on that particular variable. The default value is `".*?"`.
396
397
  # The <tt>match</tt> method has no effect on multivariate operator
397
398
  # expansions.
399
+ # @param uri [Addressable::URI, #to_str] The URI to extract from.
398
400
  # @return [Hash, NilClass] The <tt>Hash</tt> mapping that was extracted from the URI, or
399
401
  # <tt>nil</tt> if the URI didn't match the template.
400
402
  #
@@ -416,7 +418,7 @@ class Addressable::Template
416
418
  #
417
419
  # @return [Array] The variables present in the template's pattern.
418
420
  #
419
- # source://addressable//lib/addressable/template.rb#607
421
+ # source://addressable//lib/addressable/template.rb#611
420
422
  def names; end
421
423
 
422
424
  # Expands a URI template into another URI template.
@@ -449,8 +451,8 @@ class Addressable::Template
449
451
  # ).partial_expand({"one" => "1", "three" => 3}).pattern
450
452
  # #=> "http://example.com/?one=1{&two}&three=3"
451
453
  # @param mapping [Hash] The mapping that corresponds to the pattern.
452
- # @param processor [#validate, #transform] An optional processor object may be supplied.
453
454
  # @param normalize_values [Boolean] Optional flag to enable/disable unicode normalization. Default: true
455
+ # @param processor [#validate, #transform] An optional processor object may be supplied.
454
456
  # @return [Addressable::Template] The partially expanded URI template.
455
457
  #
456
458
  # source://addressable//lib/addressable/template.rb#524
@@ -567,10 +569,10 @@ class Addressable::Template
567
569
  # automatically. Unicode normalization will be performed both before and
568
570
  # after sending the value to the transform method.
569
571
  #
570
- # @param mapping [Hash] The mapping to replace captures
571
572
  # @param capture [String] The expression to replace
572
- # @param processor [#validate, #transform] An optional processor object may be supplied.
573
+ # @param mapping [Hash] The mapping to replace captures
573
574
  # @param normalize_values [Boolean] Optional flag to enable/disable unicode normalization. Default: true
575
+ # @param processor [#validate, #transform] An optional processor object may be supplied.
574
576
  # @return [String] The expanded expression
575
577
  #
576
578
  # source://addressable//lib/addressable/template.rb#753
@@ -590,10 +592,10 @@ class Addressable::Template
590
592
  # automatically. Unicode normalization will be performed both before and
591
593
  # after sending the value to the transform method.
592
594
  #
593
- # @param mapping [Hash] Set of keys to expand
594
595
  # @param capture [String] The expression to expand
595
- # @param processor [#validate, #transform] An optional processor object may be supplied.
596
+ # @param mapping [Hash] Set of keys to expand
596
597
  # @param normalize_values [Boolean] Optional flag to enable/disable unicode normalization. Default: true
598
+ # @param processor [#validate, #transform] An optional processor object may be supplied.
597
599
  # @return [String] The expanded expression
598
600
  #
599
601
  # source://addressable//lib/addressable/template.rb#694
@@ -654,7 +656,7 @@ class Addressable::Template::MatchData
654
656
  # Note that this list will include nils for any variables which
655
657
  # were in the Template, but did not appear in the URI.
656
658
  #
657
- # source://addressable//lib/addressable/template.rb#143
659
+ # source://addressable//lib/addressable/template.rb#149
658
660
  def captures; end
659
661
 
660
662
  # Returns a <tt>String</tt> representation of the MatchData's state.
@@ -668,7 +670,7 @@ class Addressable::Template::MatchData
668
670
  # Note that this list will include variables which do not appear
669
671
  # in the mapping because they were not present in URI.
670
672
  #
671
- # source://addressable//lib/addressable/template.rb#132
673
+ # source://addressable//lib/addressable/template.rb#135
672
674
  def keys; end
673
675
 
674
676
  # @return [Hash] The mapping that resulted from the match.
@@ -683,14 +685,14 @@ class Addressable::Template::MatchData
683
685
  # Note that this list will include variables which do not appear
684
686
  # in the mapping because they were not present in URI.
685
687
  #
686
- # source://addressable//lib/addressable/template.rb#132
688
+ # source://addressable//lib/addressable/template.rb#136
687
689
  def names; end
688
690
 
689
691
  # Dummy method for code expecting a ::MatchData instance
690
692
  #
691
693
  # @return [String] An empty string.
692
694
  #
693
- # source://addressable//lib/addressable/template.rb#222
695
+ # source://addressable//lib/addressable/template.rb#225
694
696
  def post_match; end
695
697
 
696
698
  # Dummy method for code expecting a ::MatchData instance
@@ -702,7 +704,7 @@ class Addressable::Template::MatchData
702
704
 
703
705
  # @return [String] The matched URI as String.
704
706
  #
705
- # source://addressable//lib/addressable/template.rb#191
707
+ # source://addressable//lib/addressable/template.rb#194
706
708
  def string; end
707
709
 
708
710
  # @return [Addressable::Template] The Template used for the match.
@@ -799,7 +801,7 @@ class Addressable::URI
799
801
  # @param The [String, Addressable::URI, #to_str] URI to join with.
800
802
  # @return [Addressable::URI] The joined URI.
801
803
  #
802
- # source://addressable//lib/addressable/uri.rb#1889
804
+ # source://addressable//lib/addressable/uri.rb#1982
803
805
  def +(uri); end
804
806
 
805
807
  # Returns <code>true</code> if the URI objects are equal. This method
@@ -1403,7 +1405,7 @@ class Addressable::URI
1403
1405
  #
1404
1406
  # @return [String] The URI's <code>String</code> representation.
1405
1407
  #
1406
- # source://addressable//lib/addressable/uri.rb#2341
1408
+ # source://addressable//lib/addressable/uri.rb#2361
1407
1409
  def to_str; end
1408
1410
 
1409
1411
  # The user component for this URI.
@@ -1515,11 +1517,11 @@ class Addressable::URI
1515
1517
 
1516
1518
  # Percent encodes any special characters in the URI.
1517
1519
  #
1518
- # @param uri [String, Addressable::URI, #to_str] The URI to encode.
1519
1520
  # @param return_type [Class] The type of object to return.
1520
1521
  # This value may only be set to <code>String</code> or
1521
1522
  # <code>Addressable::URI</code>. All other values are invalid. Defaults
1522
1523
  # to <code>String</code>.
1524
+ # @param uri [String, Addressable::URI, #to_str] The URI to encode.
1523
1525
  # @return [String, Addressable::URI] The encoded URI.
1524
1526
  # The return type is determined by the <code>return_type</code>
1525
1527
  # parameter.
@@ -1545,12 +1547,12 @@ class Addressable::URI
1545
1547
  # "simple/example", Addressable::URI::CharacterClasses::UNRESERVED
1546
1548
  # )
1547
1549
  # => "simple%2Fexample"
1548
- # @param component [String, #to_str] The URI component to encode.
1549
1550
  # @param character_class [String, Regexp] The characters which are not percent encoded. If a <code>String</code>
1550
1551
  # is passed, the <code>String</code> must be formatted as a regular
1551
1552
  # expression character class. (Do not include the surrounding square
1552
1553
  # brackets.) For example, <code>"b-zB-Z0-9"</code> would cause
1553
1554
  # everything but the letters 'b' through 'z' and the numbers '0' through
1555
+ # @param component [String, #to_str] The URI component to encode.
1554
1556
  # @param upcase_encoded [Regexp] A string of characters that may already be percent encoded, and whose
1555
1557
  # encodings should be upcased. This allows normalization of percent
1556
1558
  # encodings for characters not included in the
@@ -1562,16 +1564,16 @@ class Addressable::URI
1562
1564
 
1563
1565
  # Percent encodes any special characters in the URI.
1564
1566
  #
1565
- # @param uri [String, Addressable::URI, #to_str] The URI to encode.
1566
1567
  # @param return_type [Class] The type of object to return.
1567
1568
  # This value may only be set to <code>String</code> or
1568
1569
  # <code>Addressable::URI</code>. All other values are invalid. Defaults
1569
1570
  # to <code>String</code>.
1571
+ # @param uri [String, Addressable::URI, #to_str] The URI to encode.
1570
1572
  # @return [String, Addressable::URI] The encoded URI.
1571
1573
  # The return type is determined by the <code>return_type</code>
1572
1574
  # parameter.
1573
1575
  #
1574
- # source://addressable//lib/addressable/uri.rb#616
1576
+ # source://addressable//lib/addressable/uri.rb#651
1575
1577
  def escape(uri, return_type = T.unsafe(nil)); end
1576
1578
 
1577
1579
  # Percent encodes a URI component.
@@ -1592,19 +1594,19 @@ class Addressable::URI
1592
1594
  # "simple/example", Addressable::URI::CharacterClasses::UNRESERVED
1593
1595
  # )
1594
1596
  # => "simple%2Fexample"
1595
- # @param component [String, #to_str] The URI component to encode.
1596
1597
  # @param character_class [String, Regexp] The characters which are not percent encoded. If a <code>String</code>
1597
1598
  # is passed, the <code>String</code> must be formatted as a regular
1598
1599
  # expression character class. (Do not include the surrounding square
1599
1600
  # brackets.) For example, <code>"b-zB-Z0-9"</code> would cause
1600
1601
  # everything but the letters 'b' through 'z' and the numbers '0' through
1602
+ # @param component [String, #to_str] The URI component to encode.
1601
1603
  # @param upcase_encoded [Regexp] A string of characters that may already be percent encoded, and whose
1602
1604
  # encodings should be upcased. This allows normalization of percent
1603
1605
  # encodings for characters not included in the
1604
1606
  # <code>character_class</code>.
1605
1607
  # @return [String] The encoded component.
1606
1608
  #
1607
- # source://addressable//lib/addressable/uri.rb#403
1609
+ # source://addressable//lib/addressable/uri.rb#446
1608
1610
  def escape_component(component, character_class = T.unsafe(nil), upcase_encoded = T.unsafe(nil)); end
1609
1611
 
1610
1612
  # Encodes a set of key/value pairs according to the rules for the
@@ -1633,11 +1635,11 @@ class Addressable::URI
1633
1635
  # URI — the method will use heuristics to guess what URI was intended.
1634
1636
  # This is not standards-compliant, merely user-friendly.
1635
1637
  #
1638
+ # @param hints [Hash] A <code>Hash</code> of hints to the heuristic parser.
1639
+ # Defaults to <code>{:scheme => "http"}</code>.
1636
1640
  # @param uri [String, Addressable::URI, #to_str] The URI string to parse.
1637
1641
  # No parsing is performed if the object is already an
1638
1642
  # <code>Addressable::URI</code>.
1639
- # @param hints [Hash] A <code>Hash</code> of hints to the heuristic parser.
1640
- # Defaults to <code>{:scheme => "http"}</code>.
1641
1643
  # @return [Addressable::URI] The parsed URI.
1642
1644
  #
1643
1645
  # source://addressable//lib/addressable/uri.rb#191
@@ -1683,7 +1685,6 @@ class Addressable::URI
1683
1685
  # "/"
1684
1686
  # )
1685
1687
  # => "one two%2Fthree&four"
1686
- # @param component [String, #to_str] The URI component to encode.
1687
1688
  # @param character_class [String, Regexp] The characters which are not percent encoded. If a <code>String</code>
1688
1689
  # is passed, the <code>String</code> must be formatted as a regular
1689
1690
  # expression character class. (Do not include the surrounding square
@@ -1695,6 +1696,7 @@ class Addressable::URI
1695
1696
  # <code>Addressable::URI::CharacterClasses</code> module. The default
1696
1697
  # value is the reserved plus unreserved character classes specified in
1697
1698
  # <a href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>.
1699
+ # @param component [String, #to_str] The URI component to encode.
1698
1700
  # @param leave_encoded [String] When <code>character_class</code> is a <code>String</code> then
1699
1701
  # <code>leave_encoded</code> is a string of characters that should remain
1700
1702
  # percent encoded while normalizing the component; if they appear percent
@@ -1716,11 +1718,11 @@ class Addressable::URI
1716
1718
  # Normalizes the encoding of a URI. Characters within a hostname are
1717
1719
  # not percent encoded to allow for internationalized domain names.
1718
1720
  #
1719
- # @param uri [String, Addressable::URI, #to_str] The URI to encode.
1720
1721
  # @param return_type [Class] The type of object to return.
1721
1722
  # This value may only be set to <code>String</code> or
1722
1723
  # <code>Addressable::URI</code>. All other values are invalid. Defaults
1723
1724
  # to <code>String</code>.
1725
+ # @param uri [String, Addressable::URI, #to_str] The URI to encode.
1724
1726
  # @return [String, Addressable::URI] The encoded URI.
1725
1727
  # The return type is determined by the <code>return_type</code>
1726
1728
  # parameter.
@@ -1750,13 +1752,13 @@ class Addressable::URI
1750
1752
  # however, it is recommended to use the <code>unencode_component</code>
1751
1753
  # alias when unencoding components.
1752
1754
  #
1753
- # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
1755
+ # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
1756
+ # in this list is encountered then it will remain percent encoded.
1754
1757
  # @param return_type [Class] The type of object to return.
1755
1758
  # This value may only be set to <code>String</code> or
1756
1759
  # <code>Addressable::URI</code>. All other values are invalid. Defaults
1757
1760
  # to <code>String</code>.
1758
- # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
1759
- # in this list is encountered then it will remain percent encoded.
1761
+ # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
1760
1762
  # @return [String, Addressable::URI] The unencoded component or URI.
1761
1763
  # The return type is determined by the <code>return_type</code>
1762
1764
  # parameter.
@@ -1769,18 +1771,18 @@ class Addressable::URI
1769
1771
  # however, it is recommended to use the <code>unencode_component</code>
1770
1772
  # alias when unencoding components.
1771
1773
  #
1772
- # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
1774
+ # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
1775
+ # in this list is encountered then it will remain percent encoded.
1773
1776
  # @param return_type [Class] The type of object to return.
1774
1777
  # This value may only be set to <code>String</code> or
1775
1778
  # <code>Addressable::URI</code>. All other values are invalid. Defaults
1776
1779
  # to <code>String</code>.
1777
- # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
1778
- # in this list is encountered then it will remain percent encoded.
1780
+ # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
1779
1781
  # @return [String, Addressable::URI] The unencoded component or URI.
1780
1782
  # The return type is determined by the <code>return_type</code>
1781
1783
  # parameter.
1782
1784
  #
1783
- # source://addressable//lib/addressable/uri.rb#472
1785
+ # source://addressable//lib/addressable/uri.rb#502
1784
1786
  def unencode_component(uri, return_type = T.unsafe(nil), leave_encoded = T.unsafe(nil)); end
1785
1787
 
1786
1788
  # Unencodes any percent encoded characters within a URI component.
@@ -1788,18 +1790,18 @@ class Addressable::URI
1788
1790
  # however, it is recommended to use the <code>unencode_component</code>
1789
1791
  # alias when unencoding components.
1790
1792
  #
1791
- # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
1793
+ # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
1794
+ # in this list is encountered then it will remain percent encoded.
1792
1795
  # @param return_type [Class] The type of object to return.
1793
1796
  # This value may only be set to <code>String</code> or
1794
1797
  # <code>Addressable::URI</code>. All other values are invalid. Defaults
1795
1798
  # to <code>String</code>.
1796
- # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
1797
- # in this list is encountered then it will remain percent encoded.
1799
+ # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
1798
1800
  # @return [String, Addressable::URI] The unencoded component or URI.
1799
1801
  # The return type is determined by the <code>return_type</code>
1800
1802
  # parameter.
1801
1803
  #
1802
- # source://addressable//lib/addressable/uri.rb#472
1804
+ # source://addressable//lib/addressable/uri.rb#501
1803
1805
  def unescape(uri, return_type = T.unsafe(nil), leave_encoded = T.unsafe(nil)); end
1804
1806
 
1805
1807
  # Unencodes any percent encoded characters within a URI component.
@@ -1807,18 +1809,18 @@ class Addressable::URI
1807
1809
  # however, it is recommended to use the <code>unencode_component</code>
1808
1810
  # alias when unencoding components.
1809
1811
  #
1810
- # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
1812
+ # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
1813
+ # in this list is encountered then it will remain percent encoded.
1811
1814
  # @param return_type [Class] The type of object to return.
1812
1815
  # This value may only be set to <code>String</code> or
1813
1816
  # <code>Addressable::URI</code>. All other values are invalid. Defaults
1814
1817
  # to <code>String</code>.
1815
- # @param leave_encoded [String] A string of characters to leave encoded. If a percent encoded character
1816
- # in this list is encountered then it will remain percent encoded.
1818
+ # @param uri [String, Addressable::URI, #to_str] The URI or component to unencode.
1817
1819
  # @return [String, Addressable::URI] The unencoded component or URI.
1818
1820
  # The return type is determined by the <code>return_type</code>
1819
1821
  # parameter.
1820
1822
  #
1821
- # source://addressable//lib/addressable/uri.rb#472
1823
+ # source://addressable//lib/addressable/uri.rb#503
1822
1824
  def unescape_component(uri, return_type = T.unsafe(nil), leave_encoded = T.unsafe(nil)); end
1823
1825
  end
1824
1826
  end
@@ -77,14 +77,14 @@ class AST::Node
77
77
  #
78
78
  # @return [AST::Node]
79
79
  #
80
- # source://ast//lib/ast/node.rb#168
80
+ # source://ast//lib/ast/node.rb#172
81
81
  def +(array); end
82
82
 
83
83
  # Appends `element` to `children` and returns the resulting node.
84
84
  #
85
85
  # @return [AST::Node]
86
86
  #
87
- # source://ast//lib/ast/node.rb#177
87
+ # source://ast//lib/ast/node.rb#181
88
88
  def <<(element); end
89
89
 
90
90
  # Compares `self` to `other`, possibly converting with `to_ast`. Only
@@ -123,7 +123,7 @@ class AST::Node
123
123
  #
124
124
  # @return self
125
125
  #
126
- # source://ast//lib/ast/node.rb#115
126
+ # source://ast//lib/ast/node.rb#118
127
127
  def clone; end
128
128
 
129
129
  # Concatenates `array` with `children` and returns the resulting node.
@@ -186,7 +186,7 @@ class AST::Node
186
186
  #
187
187
  # @return [Array]
188
188
  #
189
- # source://ast//lib/ast/node.rb#56
189
+ # source://ast//lib/ast/node.rb#57
190
190
  def to_a; end
191
191
 
192
192
  # @return [AST::Node] self
@@ -199,7 +199,7 @@ class AST::Node
199
199
  # @param indent [Integer] Base indentation level.
200
200
  # @return [String]
201
201
  #
202
- # source://ast//lib/ast/node.rb#187
202
+ # source://ast//lib/ast/node.rb#204
203
203
  def to_s(indent = T.unsafe(nil)); end
204
204
 
205
205
  # Converts `self` to a pretty-printed s-expression.
@@ -234,9 +234,9 @@ class AST::Node
234
234
  #
235
235
  # If the resulting node would be identical to `self`, does nothing.
236
236
  #
237
- # @param type [Symbol, nil]
238
237
  # @param children [Array, nil]
239
238
  # @param properties [Hash, nil]
239
+ # @param type [Symbol, nil]
240
240
  # @return [AST::Node]
241
241
  #
242
242
  # source://ast//lib/ast/node.rb#133
@@ -266,6 +266,7 @@ class AST::Node
266
266
 
267
267
  private
268
268
 
269
+ # source://ast//lib/ast/node.rb#107
269
270
  def original_dup; end
270
271
  end
271
272
 
@@ -305,7 +305,7 @@ class Async::List
305
305
  # source://async//lib/async/list.rb#189
306
306
  def include?(needle); end
307
307
 
308
- # source://async//lib/async/list.rb#18
308
+ # source://async//lib/async/list.rb#23
309
309
  def inspect; end
310
310
 
311
311
  # source://async//lib/async/list.rb#215
@@ -419,7 +419,7 @@ class Async::List::Node
419
419
  # source://async//lib/async/list.rb#240
420
420
  def head=(_arg0); end
421
421
 
422
- # source://async//lib/async/list.rb#244
422
+ # source://async//lib/async/list.rb#249
423
423
  def inspect; end
424
424
 
425
425
  # Returns the value of attribute tail.
@@ -504,7 +504,7 @@ class Async::Node
504
504
  # source://async//lib/async/node.rb#97
505
505
  def head=(_arg0); end
506
506
 
507
- # source://async//lib/async/node.rb#180
507
+ # source://async//lib/async/node.rb#185
508
508
  def inspect; end
509
509
 
510
510
  # Returns the value of attribute parent.
@@ -627,12 +627,16 @@ class Async::Notification::Signal < ::Struct
627
627
  # Returns the value of attribute ready
628
628
  #
629
629
  # @return [Object] the current value of ready
630
+ #
631
+ # source://async//lib/async/notification.rb#23
630
632
  def ready; end
631
633
 
632
634
  # Sets the attribute ready
633
635
  #
634
636
  # @param value [Object] the value to set the attribute ready to.
635
637
  # @return [Object] the newly set value
638
+ #
639
+ # source://async//lib/async/notification.rb#23
636
640
  def ready=(_); end
637
641
 
638
642
  # source://async//lib/async/notification.rb#28
@@ -641,19 +645,32 @@ class Async::Notification::Signal < ::Struct
641
645
  # Returns the value of attribute value
642
646
  #
643
647
  # @return [Object] the current value of value
648
+ #
649
+ # source://async//lib/async/notification.rb#23
644
650
  def value; end
645
651
 
646
652
  # Sets the attribute value
647
653
  #
648
654
  # @param value [Object] the value to set the attribute value to.
649
655
  # @return [Object] the newly set value
656
+ #
657
+ # source://async//lib/async/notification.rb#23
650
658
  def value=(_); end
651
659
 
652
660
  class << self
661
+ # source://async//lib/async/notification.rb#23
653
662
  def [](*_arg0); end
663
+
664
+ # source://async//lib/async/notification.rb#23
654
665
  def inspect; end
666
+
667
+ # source://async//lib/async/notification.rb#23
655
668
  def keyword_init?; end
669
+
670
+ # source://async//lib/async/notification.rb#23
656
671
  def members; end
672
+
673
+ # source://async//lib/async/notification.rb#23
657
674
  def new(*_arg0); end
658
675
  end
659
676
  end
@@ -873,6 +890,7 @@ class Async::Reactor < ::Async::Scheduler
873
890
  # source://async//lib/async/reactor.rb#28
874
891
  def scheduler_close; end
875
892
 
893
+ # source://async//lib/async/reactor.rb#32
876
894
  def sleep(*_arg0); end
877
895
 
878
896
  class << self
@@ -290,7 +290,7 @@ module Benchmark
290
290
  # >total: 2.930000 0.000000 2.930000 ( 2.932889)
291
291
  # >avg: 0.976667 0.000000 0.976667 ( 0.977630)
292
292
  #
293
- # source://benchmark//lib/benchmark.rb#171
293
+ # source://benchmark//lib/benchmark.rb#328
294
294
  def benchmark(caption = T.unsafe(nil), label_width = T.unsafe(nil), format = T.unsafe(nil), *labels); end
295
295
 
296
296
  # A simple interface to the #benchmark method, #bm generates sequential
@@ -313,7 +313,7 @@ module Benchmark
313
313
  # times: 0.960000 0.000000 0.960000 ( 0.960423)
314
314
  # upto: 0.950000 0.000000 0.950000 ( 0.954864)
315
315
  #
316
- # source://benchmark//lib/benchmark.rb#216
316
+ # source://benchmark//lib/benchmark.rb#328
317
317
  def bm(label_width = T.unsafe(nil), *labels, &blk); end
318
318
 
319
319
  # Sometimes benchmark results are skewed because code executed
@@ -353,7 +353,7 @@ module Benchmark
353
353
  # #bmbm yields a Benchmark::Job object and returns an array of
354
354
  # Benchmark::Tms objects.
355
355
  #
356
- # source://benchmark//lib/benchmark.rb#258
356
+ # source://benchmark//lib/benchmark.rb#328
357
357
  def bmbm(width = T.unsafe(nil)); end
358
358
 
359
359
  # Returns the time used to execute the given block as a
@@ -372,7 +372,7 @@ module Benchmark
372
372
  #
373
373
  # 0.220000 0.000000 0.220000 ( 0.227313)
374
374
  #
375
- # source://benchmark//lib/benchmark.rb#303
375
+ # source://benchmark//lib/benchmark.rb#328
376
376
  def measure(label = T.unsafe(nil)); end
377
377
 
378
378
  # Returns the elapsed real time used to execute the given block.
@@ -381,7 +381,7 @@ module Benchmark
381
381
  # Benchmark.realtime { "a" * 1_000_000_000 }
382
382
  # #=> 0.5098029999935534
383
383
  #
384
- # source://benchmark//lib/benchmark.rb#322
384
+ # source://benchmark//lib/benchmark.rb#328
385
385
  def realtime; end
386
386
  end
387
387
  end
@@ -418,7 +418,7 @@ class Benchmark::Job
418
418
  #
419
419
  # @raise [ArgumentError]
420
420
  #
421
- # source://benchmark//lib/benchmark.rb#350
421
+ # source://benchmark//lib/benchmark.rb#359
422
422
  def report(label = T.unsafe(nil), &blk); end
423
423
 
424
424
  # Length of the widest label in the #list.
@@ -464,7 +464,7 @@ class Benchmark::Report
464
464
  # formatted by +format+. See Tms#format for the
465
465
  # formatting rules.
466
466
  #
467
- # source://benchmark//lib/benchmark.rb#389
467
+ # source://benchmark//lib/benchmark.rb#396
468
468
  def report(label = T.unsafe(nil), *format, &blk); end
469
469
 
470
470
  # An array of Benchmark::Tms objects representing each item.