roast-ai 0.4.9 → 0.4.10

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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -7
  3. data/Gemfile.lock +14 -2
  4. data/dsl/demo/Gemfile +4 -0
  5. data/dsl/demo/Gemfile.lock +120 -0
  6. data/dsl/demo/cogs/local.rb +15 -0
  7. data/dsl/demo/simple_external_cog.rb +17 -0
  8. data/dsl/plugin-gem-example/.gitignore +8 -0
  9. data/dsl/plugin-gem-example/Gemfile +13 -0
  10. data/dsl/plugin-gem-example/Gemfile.lock +178 -0
  11. data/dsl/plugin-gem-example/lib/other.rb +17 -0
  12. data/dsl/plugin-gem-example/lib/plugin_gem_example.rb +5 -0
  13. data/dsl/plugin-gem-example/lib/simple.rb +15 -0
  14. data/dsl/plugin-gem-example/lib/version.rb +10 -0
  15. data/dsl/plugin-gem-example/plugin-gem-example.gemspec +28 -0
  16. data/dsl/prototype.rb +11 -3
  17. data/dsl/scoped_executors.rb +28 -0
  18. data/dsl/simple_chat.rb +12 -0
  19. data/dsl/step_communication.rb +10 -4
  20. data/lib/roast/dsl/cog/config.rb +6 -1
  21. data/lib/roast/dsl/cog/input.rb +30 -0
  22. data/lib/roast/dsl/cog/output.rb +24 -0
  23. data/lib/roast/dsl/cog/registry.rb +39 -0
  24. data/lib/roast/dsl/cog/stack.rb +2 -1
  25. data/lib/roast/dsl/cog/store.rb +8 -5
  26. data/lib/roast/dsl/cog.rb +49 -28
  27. data/lib/roast/dsl/cog_input_context.rb +9 -0
  28. data/lib/roast/dsl/cog_input_manager.rb +47 -0
  29. data/lib/roast/dsl/cogs/chat.rb +78 -0
  30. data/lib/roast/dsl/cogs/cmd.rb +97 -20
  31. data/lib/roast/dsl/cogs/execute.rb +46 -0
  32. data/lib/roast/dsl/cogs/graph.rb +3 -3
  33. data/lib/roast/dsl/config_context.rb +2 -47
  34. data/lib/roast/dsl/config_manager.rb +96 -0
  35. data/lib/roast/dsl/execution_context.rb +9 -0
  36. data/lib/roast/dsl/execution_manager.rb +137 -0
  37. data/lib/roast/dsl/workflow.rb +113 -0
  38. data/lib/roast/version.rb +1 -1
  39. data/lib/roast.rb +3 -2
  40. data/roast.gemspec +1 -0
  41. data/sorbet/config +1 -0
  42. data/sorbet/rbi/gems/marcel@1.1.0.rbi +239 -0
  43. data/sorbet/rbi/gems/{rack@2.2.18.rbi → rack@2.2.19.rbi} +55 -38
  44. data/sorbet/rbi/gems/ruby_llm@1.8.2.rbi +5703 -0
  45. data/sorbet/rbi/shims/lib/roast/dsl/cog_input_context.rbi +17 -0
  46. data/sorbet/rbi/shims/lib/roast/dsl/config_context.rbi +6 -0
  47. data/sorbet/rbi/shims/lib/roast/dsl/execution_context.rbi +17 -0
  48. metadata +45 -8
  49. data/lib/roast/dsl/cog_execution_context.rb +0 -29
  50. data/lib/roast/dsl/cogs.rb +0 -65
  51. data/lib/roast/dsl/executor.rb +0 -82
  52. data/lib/roast/dsl/workflow_execution_context.rb +0 -47
  53. data/sorbet/rbi/gems/rbs-inline@0.12.0.rbi +0 -2170
  54. data/sorbet/rbi/shims/lib/roast/dsl/workflow_execution_context.rbi +0 -11
@@ -2305,57 +2305,65 @@ class Rack::Multipart::MultipartTotalPartLimitError < ::StandardError; end
2305
2305
  class Rack::Multipart::Parser
2306
2306
  # @return [Parser] a new instance of Parser
2307
2307
  #
2308
- # source://rack//lib/rack/multipart/parser.rb#180
2308
+ # source://rack//lib/rack/multipart/parser.rb#201
2309
2309
  def initialize(boundary, tempfile, bufsize, query_parser); end
2310
2310
 
2311
- # source://rack//lib/rack/multipart/parser.rb#199
2311
+ # source://rack//lib/rack/multipart/parser.rb#222
2312
2312
  def on_read(content); end
2313
2313
 
2314
- # source://rack//lib/rack/multipart/parser.rb#205
2314
+ # source://rack//lib/rack/multipart/parser.rb#228
2315
2315
  def result; end
2316
2316
 
2317
2317
  # Returns the value of attribute state.
2318
2318
  #
2319
- # source://rack//lib/rack/multipart/parser.rb#178
2319
+ # source://rack//lib/rack/multipart/parser.rb#199
2320
2320
  def state; end
2321
2321
 
2322
2322
  private
2323
2323
 
2324
- # source://rack//lib/rack/multipart/parser.rb#302
2324
+ # Scan until the we find the start or end of the boundary.
2325
+ # If we find it, return the appropriate symbol for the start or
2326
+ # end of the boundary. If we don't find the start or end of the
2327
+ # boundary, clear the buffer and return nil.
2328
+ #
2329
+ # source://rack//lib/rack/multipart/parser.rb#358
2325
2330
  def consume_boundary; end
2326
2331
 
2327
- # source://rack//lib/rack/multipart/parser.rb#300
2332
+ # source://rack//lib/rack/multipart/parser.rb#345
2328
2333
  def full_boundary; end
2329
2334
 
2330
- # source://rack//lib/rack/multipart/parser.rb#312
2335
+ # source://rack//lib/rack/multipart/parser.rb#368
2331
2336
  def get_filename(head); end
2332
2337
 
2333
- # source://rack//lib/rack/multipart/parser.rb#248
2338
+ # source://rack//lib/rack/multipart/parser.rb#277
2334
2339
  def handle_consume_token; end
2335
2340
 
2336
- # source://rack//lib/rack/multipart/parser.rb#377
2341
+ # source://rack//lib/rack/multipart/parser.rb#433
2337
2342
  def handle_empty_content!(content); end
2338
2343
 
2339
- # source://rack//lib/rack/multipart/parser.rb#234
2344
+ # source://rack//lib/rack/multipart/parser.rb#257
2340
2345
  def handle_fast_forward; end
2341
2346
 
2342
- # source://rack//lib/rack/multipart/parser.rb#281
2347
+ # source://rack//lib/rack/multipart/parser.rb#323
2343
2348
  def handle_mime_body; end
2344
2349
 
2345
- # source://rack//lib/rack/multipart/parser.rb#258
2350
+ # source://rack//lib/rack/multipart/parser.rb#287
2346
2351
  def handle_mime_head; end
2347
2352
 
2348
- # source://rack//lib/rack/multipart/parser.rb#217
2353
+ # source://rack//lib/rack/multipart/parser.rb#240
2349
2354
  def run_parser; end
2350
2355
 
2351
- # source://rack//lib/rack/multipart/parser.rb#349
2356
+ # source://rack//lib/rack/multipart/parser.rb#405
2352
2357
  def tag_multipart_encoding(filename, content_type, name, body); end
2353
2358
 
2359
+ # source://rack//lib/rack/multipart/parser.rb#347
2360
+ def update_retained_size(size); end
2361
+
2354
2362
  class << self
2355
- # source://rack//lib/rack/multipart/parser.rb#66
2363
+ # source://rack//lib/rack/multipart/parser.rb#87
2356
2364
  def parse(io, content_length, content_type, tmpfile, bufsize, qp); end
2357
2365
 
2358
- # source://rack//lib/rack/multipart/parser.rb#59
2366
+ # source://rack//lib/rack/multipart/parser.rb#80
2359
2367
  def parse_boundary(content_type); end
2360
2368
  end
2361
2369
  end
@@ -2363,87 +2371,96 @@ end
2363
2371
  # source://rack//lib/rack/multipart/parser.rb#21
2364
2372
  Rack::Multipart::Parser::BOUNDARY_REGEX = T.let(T.unsafe(nil), Regexp)
2365
2373
 
2374
+ # source://rack//lib/rack/multipart/parser.rb#23
2375
+ Rack::Multipart::Parser::BOUNDARY_START_LIMIT = T.let(T.unsafe(nil), Integer)
2376
+
2377
+ # source://rack//lib/rack/multipart/parser.rb#41
2378
+ Rack::Multipart::Parser::BUFFERED_UPLOAD_BYTESIZE_LIMIT = T.let(T.unsafe(nil), Integer)
2379
+
2366
2380
  # source://rack//lib/rack/multipart/parser.rb#13
2367
2381
  Rack::Multipart::Parser::BUFSIZE = T.let(T.unsafe(nil), Integer)
2368
2382
 
2369
- # source://rack//lib/rack/multipart/parser.rb#23
2383
+ # source://rack//lib/rack/multipart/parser.rb#44
2370
2384
  class Rack::Multipart::Parser::BoundedIO
2371
2385
  # @return [BoundedIO] a new instance of BoundedIO
2372
2386
  #
2373
- # source://rack//lib/rack/multipart/parser.rb#24
2387
+ # source://rack//lib/rack/multipart/parser.rb#45
2374
2388
  def initialize(io, content_length); end
2375
2389
 
2376
- # source://rack//lib/rack/multipart/parser.rb#30
2390
+ # source://rack//lib/rack/multipart/parser.rb#51
2377
2391
  def read(size, outbuf = T.unsafe(nil)); end
2378
2392
 
2379
- # source://rack//lib/rack/multipart/parser.rb#51
2393
+ # source://rack//lib/rack/multipart/parser.rb#72
2380
2394
  def rewind; end
2381
2395
  end
2382
2396
 
2383
- # source://rack//lib/rack/multipart/parser.rb#347
2397
+ # source://rack//lib/rack/multipart/parser.rb#403
2384
2398
  Rack::Multipart::Parser::CHARSET = T.let(T.unsafe(nil), String)
2385
2399
 
2386
- # source://rack//lib/rack/multipart/parser.rb#87
2400
+ # source://rack//lib/rack/multipart/parser.rb#108
2387
2401
  class Rack::Multipart::Parser::Collector
2388
2402
  include ::Enumerable
2389
2403
 
2390
2404
  # @return [Collector] a new instance of Collector
2391
2405
  #
2392
- # source://rack//lib/rack/multipart/parser.rb#123
2406
+ # source://rack//lib/rack/multipart/parser.rb#144
2393
2407
  def initialize(tempfile); end
2394
2408
 
2395
- # source://rack//lib/rack/multipart/parser.rb#129
2409
+ # source://rack//lib/rack/multipart/parser.rb#150
2396
2410
  def each; end
2397
2411
 
2398
- # source://rack//lib/rack/multipart/parser.rb#149
2412
+ # source://rack//lib/rack/multipart/parser.rb#170
2399
2413
  def on_mime_body(mime_index, content); end
2400
2414
 
2401
- # source://rack//lib/rack/multipart/parser.rb#153
2415
+ # source://rack//lib/rack/multipart/parser.rb#174
2402
2416
  def on_mime_finish(mime_index); end
2403
2417
 
2404
- # source://rack//lib/rack/multipart/parser.rb#133
2418
+ # source://rack//lib/rack/multipart/parser.rb#154
2405
2419
  def on_mime_head(mime_index, head, filename, content_type, name); end
2406
2420
 
2407
2421
  private
2408
2422
 
2409
- # source://rack//lib/rack/multipart/parser.rb#158
2423
+ # source://rack//lib/rack/multipart/parser.rb#179
2410
2424
  def check_part_limits; end
2411
2425
  end
2412
2426
 
2413
- # source://rack//lib/rack/multipart/parser.rb#111
2427
+ # source://rack//lib/rack/multipart/parser.rb#132
2414
2428
  class Rack::Multipart::Parser::Collector::BufferPart < ::Rack::Multipart::Parser::Collector::MimePart
2415
- # source://rack//lib/rack/multipart/parser.rb#113
2429
+ # source://rack//lib/rack/multipart/parser.rb#134
2416
2430
  def close; end
2417
2431
 
2418
2432
  # @return [Boolean]
2419
2433
  #
2420
- # source://rack//lib/rack/multipart/parser.rb#112
2434
+ # source://rack//lib/rack/multipart/parser.rb#133
2421
2435
  def file?; end
2422
2436
  end
2423
2437
 
2424
- # source://rack//lib/rack/multipart/parser.rb#88
2438
+ # source://rack//lib/rack/multipart/parser.rb#109
2425
2439
  class Rack::Multipart::Parser::Collector::MimePart < ::Struct
2426
2440
  # @yield [data]
2427
2441
  #
2428
- # source://rack//lib/rack/multipart/parser.rb#89
2442
+ # source://rack//lib/rack/multipart/parser.rb#110
2429
2443
  def get_data; end
2430
2444
  end
2431
2445
 
2432
- # source://rack//lib/rack/multipart/parser.rb#116
2446
+ # source://rack//lib/rack/multipart/parser.rb#137
2433
2447
  class Rack::Multipart::Parser::Collector::TempfilePart < ::Rack::Multipart::Parser::Collector::MimePart
2434
- # source://rack//lib/rack/multipart/parser.rb#118
2448
+ # source://rack//lib/rack/multipart/parser.rb#139
2435
2449
  def close; end
2436
2450
 
2437
2451
  # @return [Boolean]
2438
2452
  #
2439
- # source://rack//lib/rack/multipart/parser.rb#117
2453
+ # source://rack//lib/rack/multipart/parser.rb#138
2440
2454
  def file?; end
2441
2455
  end
2442
2456
 
2443
- # source://rack//lib/rack/multipart/parser.rb#57
2457
+ # source://rack//lib/rack/multipart/parser.rb#78
2444
2458
  Rack::Multipart::Parser::EMPTY = T.let(T.unsafe(nil), Rack::Multipart::Parser::MultipartInfo)
2445
2459
 
2446
- # source://rack//lib/rack/multipart/parser.rb#56
2460
+ # source://rack//lib/rack/multipart/parser.rb#26
2461
+ Rack::Multipart::Parser::MIME_HEADER_BYTESIZE_LIMIT = T.let(T.unsafe(nil), Integer)
2462
+
2463
+ # source://rack//lib/rack/multipart/parser.rb#77
2447
2464
  class Rack::Multipart::Parser::MultipartInfo < ::Struct
2448
2465
  # Returns the value of attribute params
2449
2466
  #