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
@@ -1,4 +1,4 @@
1
- # typed: true
1
+ # typed: false
2
2
 
3
3
  # DO NOT EDIT MANUALLY
4
4
  # This is an autogenerated file for types exported from the `bigdecimal` gem.
@@ -7,6 +7,156 @@
7
7
 
8
8
  # source://bigdecimal//lib/bigdecimal/util.rb#78
9
9
  class BigDecimal < ::Numeric
10
+ # source://bigdecimal//lib/bigdecimal.rb#4
11
+ def %(_arg0); end
12
+
13
+ # source://bigdecimal//lib/bigdecimal.rb#4
14
+ def *(_arg0); end
15
+
16
+ # source://bigdecimal//lib/bigdecimal.rb#4
17
+ def **(_arg0); end
18
+
19
+ # source://bigdecimal//lib/bigdecimal.rb#4
20
+ def +(_arg0); end
21
+
22
+ # source://bigdecimal//lib/bigdecimal.rb#4
23
+ def +@; end
24
+
25
+ # source://bigdecimal//lib/bigdecimal.rb#4
26
+ def -(_arg0); end
27
+
28
+ # source://bigdecimal//lib/bigdecimal.rb#4
29
+ def -@; end
30
+
31
+ # source://bigdecimal//lib/bigdecimal.rb#4
32
+ def /(_arg0); end
33
+
34
+ # source://bigdecimal//lib/bigdecimal.rb#4
35
+ def <(_arg0); end
36
+
37
+ # source://bigdecimal//lib/bigdecimal.rb#4
38
+ def <=(_arg0); end
39
+
40
+ # source://bigdecimal//lib/bigdecimal.rb#4
41
+ def <=>(_arg0); end
42
+
43
+ # source://bigdecimal//lib/bigdecimal.rb#4
44
+ def ==(_arg0); end
45
+
46
+ # source://bigdecimal//lib/bigdecimal.rb#4
47
+ def ===(_arg0); end
48
+
49
+ # source://bigdecimal//lib/bigdecimal.rb#4
50
+ def >(_arg0); end
51
+
52
+ # source://bigdecimal//lib/bigdecimal.rb#4
53
+ def >=(_arg0); end
54
+
55
+ # source://bigdecimal//lib/bigdecimal.rb#4
56
+ def _dump(*_arg0); end
57
+
58
+ # source://bigdecimal//lib/bigdecimal.rb#4
59
+ def abs; end
60
+
61
+ # source://bigdecimal//lib/bigdecimal.rb#4
62
+ def add(_arg0, _arg1); end
63
+
64
+ # source://bigdecimal//lib/bigdecimal.rb#4
65
+ def ceil(*_arg0); end
66
+
67
+ # source://bigdecimal//lib/bigdecimal.rb#4
68
+ def clone; end
69
+
70
+ # source://bigdecimal//lib/bigdecimal.rb#4
71
+ def coerce(_arg0); end
72
+
73
+ # source://bigdecimal//lib/bigdecimal.rb#4
74
+ def div(*_arg0); end
75
+
76
+ # source://bigdecimal//lib/bigdecimal.rb#4
77
+ def divmod(_arg0); end
78
+
79
+ # source://bigdecimal//lib/bigdecimal.rb#4
80
+ def dup; end
81
+
82
+ # source://bigdecimal//lib/bigdecimal.rb#4
83
+ def eql?(_arg0); end
84
+
85
+ # source://bigdecimal//lib/bigdecimal.rb#4
86
+ def exponent; end
87
+
88
+ # source://bigdecimal//lib/bigdecimal.rb#4
89
+ def finite?; end
90
+
91
+ # source://bigdecimal//lib/bigdecimal.rb#4
92
+ def fix; end
93
+
94
+ # source://bigdecimal//lib/bigdecimal.rb#4
95
+ def floor(*_arg0); end
96
+
97
+ # source://bigdecimal//lib/bigdecimal.rb#4
98
+ def frac; end
99
+
100
+ # source://bigdecimal//lib/bigdecimal.rb#4
101
+ def hash; end
102
+
103
+ # source://bigdecimal//lib/bigdecimal.rb#4
104
+ def infinite?; end
105
+
106
+ # source://bigdecimal//lib/bigdecimal.rb#4
107
+ def inspect; end
108
+
109
+ # source://bigdecimal//lib/bigdecimal.rb#4
110
+ def modulo(_arg0); end
111
+
112
+ # source://bigdecimal//lib/bigdecimal.rb#4
113
+ def mult(_arg0, _arg1); end
114
+
115
+ # source://bigdecimal//lib/bigdecimal.rb#4
116
+ def n_significant_digits; end
117
+
118
+ # source://bigdecimal//lib/bigdecimal.rb#4
119
+ def nan?; end
120
+
121
+ # source://bigdecimal//lib/bigdecimal.rb#4
122
+ def nonzero?; end
123
+
124
+ # source://bigdecimal//lib/bigdecimal.rb#4
125
+ def power(*_arg0); end
126
+
127
+ # source://bigdecimal//lib/bigdecimal.rb#4
128
+ def precision; end
129
+
130
+ # source://bigdecimal//lib/bigdecimal.rb#4
131
+ def precision_scale; end
132
+
133
+ # source://bigdecimal//lib/bigdecimal.rb#4
134
+ def precs; end
135
+
136
+ # source://bigdecimal//lib/bigdecimal.rb#4
137
+ def quo(*_arg0); end
138
+
139
+ # source://bigdecimal//lib/bigdecimal.rb#4
140
+ def remainder(_arg0); end
141
+
142
+ # source://bigdecimal//lib/bigdecimal.rb#4
143
+ def round(*_arg0); end
144
+
145
+ # source://bigdecimal//lib/bigdecimal.rb#4
146
+ def scale; end
147
+
148
+ # source://bigdecimal//lib/bigdecimal.rb#4
149
+ def sign; end
150
+
151
+ # source://bigdecimal//lib/bigdecimal.rb#4
152
+ def split; end
153
+
154
+ # source://bigdecimal//lib/bigdecimal.rb#4
155
+ def sqrt(_arg0); end
156
+
157
+ # source://bigdecimal//lib/bigdecimal.rb#4
158
+ def sub(_arg0, _arg1); end
159
+
10
160
  # call-seq:
11
161
  # a.to_d -> bigdecimal
12
162
  #
@@ -33,6 +183,53 @@ class BigDecimal < ::Numeric
33
183
  #
34
184
  # source://bigdecimal//lib/bigdecimal/util.rb#90
35
185
  def to_digits; end
186
+
187
+ # source://bigdecimal//lib/bigdecimal.rb#4
188
+ def to_f; end
189
+
190
+ # source://bigdecimal//lib/bigdecimal.rb#4
191
+ def to_i; end
192
+
193
+ # source://bigdecimal//lib/bigdecimal.rb#4
194
+ def to_int; end
195
+
196
+ # source://bigdecimal//lib/bigdecimal.rb#4
197
+ def to_r; end
198
+
199
+ # source://bigdecimal//lib/bigdecimal.rb#4
200
+ def to_s(format = T.unsafe(nil)); end
201
+
202
+ # source://bigdecimal//lib/bigdecimal.rb#4
203
+ def truncate(*_arg0); end
204
+
205
+ # source://bigdecimal//lib/bigdecimal.rb#4
206
+ def zero?; end
207
+
208
+ class << self
209
+ # source://bigdecimal//lib/bigdecimal.rb#4
210
+ def _load(_arg0); end
211
+
212
+ # source://bigdecimal//lib/bigdecimal.rb#4
213
+ def double_fig; end
214
+
215
+ # source://bigdecimal//lib/bigdecimal.rb#4
216
+ def interpret_loosely(_arg0); end
217
+
218
+ # source://bigdecimal//lib/bigdecimal.rb#4
219
+ def limit(*_arg0); end
220
+
221
+ # source://bigdecimal//lib/bigdecimal.rb#4
222
+ def mode(*_arg0); end
223
+
224
+ # source://bigdecimal//lib/bigdecimal.rb#4
225
+ def save_exception_mode; end
226
+
227
+ # source://bigdecimal//lib/bigdecimal.rb#4
228
+ def save_limit; end
229
+
230
+ # source://bigdecimal//lib/bigdecimal.rb#4
231
+ def save_rounding_mode; end
232
+ end
36
233
  end
37
234
 
38
235
  BigDecimal::VERSION = T.let(T.unsafe(nil), String)