rigortype 0.1.9 → 0.1.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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/rigor/analysis/runner.rb +67 -9
  4. data/lib/rigor/analysis/worker_session.rb +13 -4
  5. data/lib/rigor/cache/rbs_descriptor.rb +21 -2
  6. data/lib/rigor/cache/rbs_environment.rb +2 -1
  7. data/lib/rigor/cli/annotate_command.rb +57 -7
  8. data/lib/rigor/cli/coverage_command.rb +126 -0
  9. data/lib/rigor/cli/coverage_renderer.rb +162 -0
  10. data/lib/rigor/cli/coverage_report.rb +75 -0
  11. data/lib/rigor/cli/mcp_command.rb +70 -0
  12. data/lib/rigor/cli.rb +73 -3
  13. data/lib/rigor/environment/rbs_loader.rb +46 -5
  14. data/lib/rigor/environment/reporters.rb +3 -2
  15. data/lib/rigor/environment.rb +159 -4
  16. data/lib/rigor/inference/def_return_typer.rb +98 -0
  17. data/lib/rigor/inference/expression_typer.rb +143 -12
  18. data/lib/rigor/inference/method_dispatcher/constant_folding.rb +5 -0
  19. data/lib/rigor/inference/method_dispatcher/literal_string_folding.rb +62 -15
  20. data/lib/rigor/inference/method_dispatcher/shape_dispatch.rb +115 -7
  21. data/lib/rigor/inference/precision_scanner.rb +131 -0
  22. data/lib/rigor/inference/statement_evaluator.rb +26 -2
  23. data/lib/rigor/mcp/loop.rb +43 -0
  24. data/lib/rigor/mcp/server.rb +263 -0
  25. data/lib/rigor/mcp.rb +16 -0
  26. data/lib/rigor/plugin/base.rb +28 -5
  27. data/lib/rigor/plugin/manifest.rb +33 -5
  28. data/lib/rigor/plugin/registry.rb +21 -0
  29. data/lib/rigor/plugin/source_rbs_synthesis_reporter.rb +51 -0
  30. data/lib/rigor/sig_gen/generator.rb +150 -75
  31. data/lib/rigor/type/combinator.rb +57 -0
  32. data/lib/rigor/version.rb +1 -1
  33. data/sig/rigor/analysis/baseline.rbs +39 -0
  34. data/sig/rigor/environment.rbs +3 -2
  35. data/sig/rigor/type.rbs +4 -0
  36. data/sig/rigor.rbs +2 -0
  37. metadata +32 -1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rigortype
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rigor contributors
@@ -109,6 +109,26 @@ dependencies:
109
109
  - - "<"
110
110
  - !ruby/object:Gem::Version
111
111
  version: '15.0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rbs-inline
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0.5'
119
+ - - "<"
120
+ - !ruby/object:Gem::Version
121
+ version: '1.0'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0.5'
129
+ - - "<"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.0'
112
132
  - !ruby/object:Gem::Dependency
113
133
  name: rspec
114
134
  requirement: !ruby/object:Gem::Requirement
@@ -263,9 +283,13 @@ files:
263
283
  - lib/rigor/cli.rb
264
284
  - lib/rigor/cli/annotate_command.rb
265
285
  - lib/rigor/cli/baseline_command.rb
286
+ - lib/rigor/cli/coverage_command.rb
287
+ - lib/rigor/cli/coverage_renderer.rb
288
+ - lib/rigor/cli/coverage_report.rb
266
289
  - lib/rigor/cli/diff_command.rb
267
290
  - lib/rigor/cli/explain_command.rb
268
291
  - lib/rigor/cli/lsp_command.rb
292
+ - lib/rigor/cli/mcp_command.rb
269
293
  - lib/rigor/cli/prism_colorizer.rb
270
294
  - lib/rigor/cli/sig_gen_command.rb
271
295
  - lib/rigor/cli/triage_command.rb
@@ -319,6 +343,7 @@ files:
319
343
  - lib/rigor/inference/builtins/time_catalog.rb
320
344
  - lib/rigor/inference/closure_escape_analyzer.rb
321
345
  - lib/rigor/inference/coverage_scanner.rb
346
+ - lib/rigor/inference/def_return_typer.rb
322
347
  - lib/rigor/inference/expression_typer.rb
323
348
  - lib/rigor/inference/fallback.rb
324
349
  - lib/rigor/inference/fallback_tracer.rb
@@ -349,6 +374,7 @@ files:
349
374
  - lib/rigor/inference/method_parameter_binder.rb
350
375
  - lib/rigor/inference/multi_target_binder.rb
351
376
  - lib/rigor/inference/narrowing.rb
377
+ - lib/rigor/inference/precision_scanner.rb
352
378
  - lib/rigor/inference/project_patched_methods.rb
353
379
  - lib/rigor/inference/project_patched_scanner.rb
354
380
  - lib/rigor/inference/rbs_type_translator.rb
@@ -373,6 +399,9 @@ files:
373
399
  - lib/rigor/language_server/signature_help_provider.rb
374
400
  - lib/rigor/language_server/synchronized_writer.rb
375
401
  - lib/rigor/language_server/uri.rb
402
+ - lib/rigor/mcp.rb
403
+ - lib/rigor/mcp/loop.rb
404
+ - lib/rigor/mcp/server.rb
376
405
  - lib/rigor/plugin.rb
377
406
  - lib/rigor/plugin/access_denied_error.rb
378
407
  - lib/rigor/plugin/base.rb
@@ -390,6 +419,7 @@ files:
390
419
  - lib/rigor/plugin/protocol_contract.rb
391
420
  - lib/rigor/plugin/registry.rb
392
421
  - lib/rigor/plugin/services.rb
422
+ - lib/rigor/plugin/source_rbs_synthesis_reporter.rb
393
423
  - lib/rigor/plugin/trust_policy.rb
394
424
  - lib/rigor/plugin/type_node_resolver.rb
395
425
  - lib/rigor/rbs_extended.rb
@@ -447,6 +477,7 @@ files:
447
477
  - lib/rigor/type_node/union.rb
448
478
  - lib/rigor/version.rb
449
479
  - sig/rigor.rbs
480
+ - sig/rigor/analysis/baseline.rbs
450
481
  - sig/rigor/analysis/check_rules/always_truthy_condition_collector.rbs
451
482
  - sig/rigor/analysis/check_rules/dead_assignment_collector.rbs
452
483
  - sig/rigor/analysis/dependency_source_inference/gem_resolver.rbs