rails-ai-bridge 4.3.0 → 5.1.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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/.reek.yml +507 -255
  3. data/.reviewer.toml +13 -0
  4. data/.rs-guardignore +26 -0
  5. data/.rubocop.yml +2 -0
  6. data/AGENTS.md +6 -3
  7. data/Archspec.rb +111 -0
  8. data/CHANGELOG.md +89 -0
  9. data/CLAUDE.md +6 -3
  10. data/CONTRIBUTING.md +4 -0
  11. data/README.md +38 -3
  12. data/UPGRADING.md +204 -11
  13. data/docs/COVERAGE.md +41 -26
  14. data/docs/diagrams/how-it-works.html +155 -0
  15. data/docs/mcp-security.md +56 -0
  16. data/docs/offline-mode.md +4 -4
  17. data/docs/v5/context-providers-design.md +282 -0
  18. data/lib/generators/rails_ai_bridge/install/install_generator.rb +27 -0
  19. data/lib/rails_ai_bridge/app_scope.rb +53 -0
  20. data/lib/rails_ai_bridge/assistant_formats_preference.rb +3 -2
  21. data/lib/rails_ai_bridge/boot_manager.rb +116 -0
  22. data/lib/rails_ai_bridge/cache_warmer.rb +4 -2
  23. data/lib/rails_ai_bridge/config/context_providers.rb +147 -0
  24. data/lib/rails_ai_bridge/config/introspection.rb +1 -0
  25. data/lib/rails_ai_bridge/config/registry.rb +22 -9
  26. data/lib/rails_ai_bridge/configuration.rb +12 -7
  27. data/lib/rails_ai_bridge/context_provider.rb +7 -3
  28. data/lib/rails_ai_bridge/database_size.rb +91 -0
  29. data/lib/rails_ai_bridge/doctor/checkers/registry_checker.rb +174 -1
  30. data/lib/rails_ai_bridge/doctor.rb +61 -4
  31. data/lib/rails_ai_bridge/exclusion_helper.rb +2 -2
  32. data/lib/rails_ai_bridge/http_transport_app.rb +1 -0
  33. data/lib/rails_ai_bridge/introspector/parallel_runner.rb +1 -0
  34. data/lib/rails_ai_bridge/introspector.rb +55 -5
  35. data/lib/rails_ai_bridge/introspectors/api_introspector.rb +1 -2
  36. data/lib/rails_ai_bridge/introspectors/config_introspector.rb +1 -0
  37. data/lib/rails_ai_bridge/introspectors/controller_introspector.rb +3 -3
  38. data/lib/rails_ai_bridge/introspectors/convention_detector.rb +2 -2
  39. data/lib/rails_ai_bridge/introspectors/database_stats_introspector.rb +1 -1
  40. data/lib/rails_ai_bridge/introspectors/model_introspector.rb +3 -3
  41. data/lib/rails_ai_bridge/introspectors/route_introspector.rb +1 -0
  42. data/lib/rails_ai_bridge/introspectors/schema_introspector.rb +1 -0
  43. data/lib/rails_ai_bridge/introspectors/seeds_introspector.rb +6 -6
  44. data/lib/rails_ai_bridge/introspectors/semantic_introspector.rb +2 -2
  45. data/lib/rails_ai_bridge/introspectors/stimulus_introspector.rb +4 -4
  46. data/lib/rails_ai_bridge/introspectors/view_introspector.rb +1 -1
  47. data/lib/rails_ai_bridge/middleware.rb +7 -2
  48. data/lib/rails_ai_bridge/registry/authentication_error.rb +14 -0
  49. data/lib/rails_ai_bridge/registry/connection_error.rb +14 -0
  50. data/lib/rails_ai_bridge/registry/context_aggregator.rb +194 -0
  51. data/lib/rails_ai_bridge/registry/context_provider_client.rb +216 -0
  52. data/lib/rails_ai_bridge/registry/context_provider_error.rb +26 -0
  53. data/lib/rails_ai_bridge/registry/context_tool_spec.rb +7 -0
  54. data/lib/rails_ai_bridge/registry/endpoint_policy.rb +238 -0
  55. data/lib/rails_ai_bridge/registry/message_sanitizer.rb +24 -0
  56. data/lib/rails_ai_bridge/registry/pack_resolver.rb +3 -0
  57. data/lib/rails_ai_bridge/registry/pinning_http_adapter.rb +45 -0
  58. data/lib/rails_ai_bridge/registry/policy_error.rb +14 -0
  59. data/lib/rails_ai_bridge/registry/protocol_error.rb +14 -0
  60. data/lib/rails_ai_bridge/registry/provider_request_scope.rb +37 -0
  61. data/lib/rails_ai_bridge/registry/rake_presenter.rb +1 -0
  62. data/lib/rails_ai_bridge/registry/remote_tool_error.rb +14 -0
  63. data/lib/rails_ai_bridge/registry/resolver_cache.rb +2 -2
  64. data/lib/rails_ai_bridge/registry/response_too_large_error.rb +14 -0
  65. data/lib/rails_ai_bridge/registry/timeout_error.rb +14 -0
  66. data/lib/rails_ai_bridge/registry.rb +21 -3
  67. data/lib/rails_ai_bridge/resources.rb +5 -1
  68. data/lib/rails_ai_bridge/rubydex_adapter.rb +4 -0
  69. data/lib/rails_ai_bridge/serializers/context_file_serializer.rb +7 -2
  70. data/lib/rails_ai_bridge/serializers/context_summary.rb +1 -85
  71. data/lib/rails_ai_bridge/serializers/markdown_serializer.rb +1 -1
  72. data/lib/rails_ai_bridge/serializers/providers/base_provider_serializer.rb +1 -0
  73. data/lib/rails_ai_bridge/serializers/providers/claude_rules_serializer.rb +1 -0
  74. data/lib/rails_ai_bridge/serializers/providers/claude_serializer.rb +1 -0
  75. data/lib/rails_ai_bridge/serializers/providers/codex_serializer.rb +1 -0
  76. data/lib/rails_ai_bridge/serializers/providers/collaborators/stack_overview_builder.rb +3 -1
  77. data/lib/rails_ai_bridge/serializers/providers/copilot_serializer.rb +1 -0
  78. data/lib/rails_ai_bridge/serializers/providers/cursor_rules_serializer.rb +2 -2
  79. data/lib/rails_ai_bridge/serializers/providers/devin_serializer.rb +1 -0
  80. data/lib/rails_ai_bridge/serializers/providers/gemini_serializer.rb +1 -0
  81. data/lib/rails_ai_bridge/serializers/providers/rules_orchestrator.rb +1 -0
  82. data/lib/rails_ai_bridge/serializers/providers/rules_serializer.rb +1 -0
  83. data/lib/rails_ai_bridge/serializers/shared_assistant_guidance.rb +5 -2
  84. data/lib/rails_ai_bridge/server.rb +2 -1
  85. data/lib/rails_ai_bridge/static_app.rb +99 -0
  86. data/lib/rails_ai_bridge/tasks/rails_ai_bridge.rake +6 -4
  87. data/lib/rails_ai_bridge/tool_result_cache.rb +12 -1
  88. data/lib/rails_ai_bridge/tools/base_tool.rb +4 -2
  89. data/lib/rails_ai_bridge/tools/get_context/related_tests.rb +2 -2
  90. data/lib/rails_ai_bridge/tools/get_context/resolver.rb +2 -2
  91. data/lib/rails_ai_bridge/tools/get_context.rb +26 -12
  92. data/lib/rails_ai_bridge/tools/get_provider_context.rb +280 -0
  93. data/lib/rails_ai_bridge/tools/get_view/base_formatter.rb +2 -2
  94. data/lib/rails_ai_bridge/tools/list_registry.rb +2 -2
  95. data/lib/rails_ai_bridge/version.rb +1 -1
  96. data/lib/rails_ai_bridge/watcher.rb +5 -2
  97. data/lib/rails_ai_bridge.rb +14 -6
  98. data/lib/tasks/quality.rake +22 -0
  99. data/lib/tasks/zeitwerk.rake +32 -0
  100. data/rails-ai-bridge.gemspec +8 -2
  101. metadata +72 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d937341388cd5f16ca5c4df0bfb3e540b0aabd88f21fb7edd8a99c4109a504e2
4
- data.tar.gz: 92b5ef03eed9e1a2a3c2f3161543e2f3143724e2af146b941a83b159ca9f7324
3
+ metadata.gz: 74d2175a281a2d2b0e3efb53e3970ffbf8658724241a9fcbf4a241e8a22375c8
4
+ data.tar.gz: e674ed5c5bf81c08d1b0c918c414ddafb518b48ac3f4843f6d25c8a173fdecfc
5
5
  SHA512:
6
- metadata.gz: '09bdcacd48c5a46c069a90468cd772b0179d4b5464cd48438923b27e8ac8e4895afbcaecfa08136bd70e51231d70a439dfb4ddc5b3b153488fa1f16caf1ed22c'
7
- data.tar.gz: 64715803d3c38e8827dfdd9200bbed447663d5751854193f1ae5f5a818c8eb9f2a9aabbf14fc3c84bc1a79b47f48e8bf3007cd6b1f26f10c1dab98771f300f74
6
+ metadata.gz: 9e5cc4ff68c3d003b228231504169c4dfab1b0baf2b8bbf4d057a97fd3a3d14ea8e689bec29056bb57a5c140f43017f3a07737c08469ecfe7b17d34d6c002641
7
+ data.tar.gz: d0b72a96954862bf6bde9b9e64945481ac4352a74f0403edebd3d0b1600445152f0d6b061fa177c9912276b571883da404347ad25d0f20e114b1a8d6bdf268ed