langgraphrb_rails 0.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 (58) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +816 -0
  3. data/Rakefile +23 -0
  4. data/app/assets/javascripts/langgraphrb_rails.js +153 -0
  5. data/app/assets/stylesheets/langgraphrb_rails.css +95 -0
  6. data/lib/generators/langgraph_rb/compatibility.rb +71 -0
  7. data/lib/generators/langgraph_rb/controller/templates/controller.rb +54 -0
  8. data/lib/generators/langgraph_rb/controller/templates/view.html.erb +101 -0
  9. data/lib/generators/langgraph_rb/controller_generator.rb +39 -0
  10. data/lib/generators/langgraph_rb/graph/templates/graph.rb +68 -0
  11. data/lib/generators/langgraph_rb/graph_generator.rb +23 -0
  12. data/lib/generators/langgraph_rb/install/templates/README +45 -0
  13. data/lib/generators/langgraph_rb/install/templates/example_graph.rb +89 -0
  14. data/lib/generators/langgraph_rb/install/templates/initializer.rb +35 -0
  15. data/lib/generators/langgraph_rb/install/templates/langgraph_rb.yml +45 -0
  16. data/lib/generators/langgraph_rb/install_generator.rb +34 -0
  17. data/lib/generators/langgraph_rb/job/templates/job.rb +38 -0
  18. data/lib/generators/langgraph_rb/job_generator.rb +27 -0
  19. data/lib/generators/langgraph_rb/model/templates/migration.rb +12 -0
  20. data/lib/generators/langgraph_rb/model/templates/model.rb +15 -0
  21. data/lib/generators/langgraph_rb/model_generator.rb +34 -0
  22. data/lib/generators/langgraph_rb/task/templates/task.rake +58 -0
  23. data/lib/generators/langgraph_rb/task_generator.rb +23 -0
  24. data/lib/generators/langgraphrb_rails/compatibility.rb +71 -0
  25. data/lib/generators/langgraphrb_rails/controller/templates/controller.rb +30 -0
  26. data/lib/generators/langgraphrb_rails/controller/templates/view.html.erb +112 -0
  27. data/lib/generators/langgraphrb_rails/controller_generator.rb +29 -0
  28. data/lib/generators/langgraphrb_rails/graph/templates/graph.rb +14 -0
  29. data/lib/generators/langgraphrb_rails/graph/templates/node.rb +16 -0
  30. data/lib/generators/langgraphrb_rails/graph_generator.rb +48 -0
  31. data/lib/generators/langgraphrb_rails/install/templates/config.yml +30 -0
  32. data/lib/generators/langgraphrb_rails/install/templates/example_graph.rb +44 -0
  33. data/lib/generators/langgraphrb_rails/install/templates/initializer.rb +27 -0
  34. data/lib/generators/langgraphrb_rails/install_generator.rb +35 -0
  35. data/lib/generators/langgraphrb_rails/jobs/templates/run_job.rb +45 -0
  36. data/lib/generators/langgraphrb_rails/jobs_generator.rb +34 -0
  37. data/lib/generators/langgraphrb_rails/model/templates/migration.rb +20 -0
  38. data/lib/generators/langgraphrb_rails/model/templates/model.rb +14 -0
  39. data/lib/generators/langgraphrb_rails/model_generator.rb +30 -0
  40. data/lib/generators/langgraphrb_rails/persistence/templates/create_langgraph_runs.rb +18 -0
  41. data/lib/generators/langgraphrb_rails/persistence/templates/langgraph_run.rb +56 -0
  42. data/lib/generators/langgraphrb_rails/persistence_generator.rb +28 -0
  43. data/lib/generators/langgraphrb_rails/task/templates/task.rake +30 -0
  44. data/lib/generators/langgraphrb_rails/task_generator.rb +17 -0
  45. data/lib/generators/langgraphrb_rails/tracing/templates/traced.rb +45 -0
  46. data/lib/generators/langgraphrb_rails/tracing_generator.rb +63 -0
  47. data/lib/langgraphrb_rails/configuration.rb +47 -0
  48. data/lib/langgraphrb_rails/engine.rb +20 -0
  49. data/lib/langgraphrb_rails/helper.rb +141 -0
  50. data/lib/langgraphrb_rails/middleware/streaming.rb +77 -0
  51. data/lib/langgraphrb_rails/railtie.rb +55 -0
  52. data/lib/langgraphrb_rails/stores/active_record.rb +51 -0
  53. data/lib/langgraphrb_rails/stores/redis.rb +57 -0
  54. data/lib/langgraphrb_rails/test_helper.rb +126 -0
  55. data/lib/langgraphrb_rails/version.rb +28 -0
  56. data/lib/langgraphrb_rails.rb +111 -0
  57. data/lib/tasks/langgraphrb_rails_tasks.rake +62 -0
  58. metadata +217 -0
@@ -0,0 +1,62 @@
1
+ namespace :langgraphrb_rails do
2
+ desc "Install LangGraphRB Rails integration"
3
+ task :install => :environment do
4
+ system("rails generate langgraph_rb:install")
5
+ end
6
+
7
+ desc "Create a new LangGraphRB graph"
8
+ task :create_graph, [:name] => :environment do |t, args|
9
+ name = args[:name]
10
+ if name.blank?
11
+ puts "Error: Graph name is required"
12
+ puts "Usage: rake langgraphrb_rails:create_graph[name]"
13
+ else
14
+ system("rails generate langgraph_rb:graph #{name}")
15
+ end
16
+ end
17
+
18
+ desc "Create a new LangGraphRB controller"
19
+ task :create_controller, [:name] => :environment do |t, args|
20
+ name = args[:name]
21
+ if name.blank?
22
+ puts "Error: Controller name is required"
23
+ puts "Usage: rake langgraphrb_rails:create_controller[name]"
24
+ else
25
+ system("rails generate langgraph_rb:controller #{name}")
26
+ end
27
+ end
28
+
29
+ desc "Create a new LangGraphRB model for state persistence"
30
+ task :create_model, [:name] => :environment do |t, args|
31
+ name = args[:name]
32
+ if name.blank?
33
+ puts "Error: Model name is required"
34
+ puts "Usage: rake langgraphrb_rails:create_model[name]"
35
+ else
36
+ system("rails generate langgraph_rb:model #{name} thread_id:string state:json")
37
+ end
38
+ end
39
+
40
+ desc "Clean up expired LangGraphRB states"
41
+ task :cleanup => :environment do
42
+ if defined?(GraphState)
43
+ puts "Cleaning up expired LangGraphRB states..."
44
+ store = LanggraphrbRails::Stores::ActiveRecordStore.new(model: GraphState)
45
+ store.cleanup_expired
46
+ puts "Cleanup complete"
47
+ else
48
+ puts "GraphState model not found. Skipping cleanup."
49
+ end
50
+ end
51
+
52
+ desc "List all available LangGraphRB Rails tasks"
53
+ task :help do
54
+ puts "Available LangGraphRB Rails tasks:"
55
+ puts " rake langgraphrb_rails:install # Install LangGraphRB Rails integration"
56
+ puts " rake langgraphrb_rails:create_graph[name] # Create a new LangGraphRB graph"
57
+ puts " rake langgraphrb_rails:create_controller[name] # Create a new LangGraphRB controller"
58
+ puts " rake langgraphrb_rails:create_model[name] # Create a new LangGraphRB model for state persistence"
59
+ puts " rake langgraphrb_rails:cleanup # Clean up expired LangGraphRB states"
60
+ puts " rake langgraphrb_rails:help # Show this help message"
61
+ end
62
+ end
metadata ADDED
@@ -0,0 +1,217 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: langgraphrb_rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Chris Davis
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 2025-08-19 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: rails
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: 6.0.0
19
+ - - "<="
20
+ - !ruby/object:Gem::Version
21
+ version: 8.0.2
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: 6.0.0
29
+ - - "<="
30
+ - !ruby/object:Gem::Version
31
+ version: 8.0.2
32
+ - !ruby/object:Gem::Dependency
33
+ name: langgraph_rb
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - "~>"
37
+ - !ruby/object:Gem::Version
38
+ version: '0.1'
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 0.1.2
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '0.1'
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: 0.1.2
52
+ - !ruby/object:Gem::Dependency
53
+ name: redis
54
+ requirement: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - "~>"
57
+ - !ruby/object:Gem::Version
58
+ version: '4.0'
59
+ type: :runtime
60
+ prerelease: false
61
+ version_requirements: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - "~>"
64
+ - !ruby/object:Gem::Version
65
+ version: '4.0'
66
+ - !ruby/object:Gem::Dependency
67
+ name: redcarpet
68
+ requirement: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '3.5'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 3.5.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.5'
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: 3.5.0
86
+ - !ruby/object:Gem::Dependency
87
+ name: sqlite3
88
+ requirement: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - "~>"
91
+ - !ruby/object:Gem::Version
92
+ version: '1.4'
93
+ type: :development
94
+ prerelease: false
95
+ version_requirements: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '1.4'
100
+ - !ruby/object:Gem::Dependency
101
+ name: rspec-rails
102
+ requirement: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - "~>"
105
+ - !ruby/object:Gem::Version
106
+ version: '5.0'
107
+ type: :development
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "~>"
112
+ - !ruby/object:Gem::Version
113
+ version: '5.0'
114
+ - !ruby/object:Gem::Dependency
115
+ name: rspec-mocks
116
+ requirement: !ruby/object:Gem::Requirement
117
+ requirements:
118
+ - - "~>"
119
+ - !ruby/object:Gem::Version
120
+ version: '3.10'
121
+ type: :development
122
+ prerelease: false
123
+ version_requirements: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - "~>"
126
+ - !ruby/object:Gem::Version
127
+ version: '3.10'
128
+ description: Provides Rails generators and configuration for integrating langgraph_rb
129
+ into Rails applications
130
+ email:
131
+ - cdaviis@example.com
132
+ executables: []
133
+ extensions: []
134
+ extra_rdoc_files: []
135
+ files:
136
+ - README.md
137
+ - Rakefile
138
+ - app/assets/javascripts/langgraphrb_rails.js
139
+ - app/assets/stylesheets/langgraphrb_rails.css
140
+ - lib/generators/langgraph_rb/compatibility.rb
141
+ - lib/generators/langgraph_rb/controller/templates/controller.rb
142
+ - lib/generators/langgraph_rb/controller/templates/view.html.erb
143
+ - lib/generators/langgraph_rb/controller_generator.rb
144
+ - lib/generators/langgraph_rb/graph/templates/graph.rb
145
+ - lib/generators/langgraph_rb/graph_generator.rb
146
+ - lib/generators/langgraph_rb/install/templates/README
147
+ - lib/generators/langgraph_rb/install/templates/example_graph.rb
148
+ - lib/generators/langgraph_rb/install/templates/initializer.rb
149
+ - lib/generators/langgraph_rb/install/templates/langgraph_rb.yml
150
+ - lib/generators/langgraph_rb/install_generator.rb
151
+ - lib/generators/langgraph_rb/job/templates/job.rb
152
+ - lib/generators/langgraph_rb/job_generator.rb
153
+ - lib/generators/langgraph_rb/model/templates/migration.rb
154
+ - lib/generators/langgraph_rb/model/templates/model.rb
155
+ - lib/generators/langgraph_rb/model_generator.rb
156
+ - lib/generators/langgraph_rb/task/templates/task.rake
157
+ - lib/generators/langgraph_rb/task_generator.rb
158
+ - lib/generators/langgraphrb_rails/compatibility.rb
159
+ - lib/generators/langgraphrb_rails/controller/templates/controller.rb
160
+ - lib/generators/langgraphrb_rails/controller/templates/view.html.erb
161
+ - lib/generators/langgraphrb_rails/controller_generator.rb
162
+ - lib/generators/langgraphrb_rails/graph/templates/graph.rb
163
+ - lib/generators/langgraphrb_rails/graph/templates/node.rb
164
+ - lib/generators/langgraphrb_rails/graph_generator.rb
165
+ - lib/generators/langgraphrb_rails/install/templates/config.yml
166
+ - lib/generators/langgraphrb_rails/install/templates/example_graph.rb
167
+ - lib/generators/langgraphrb_rails/install/templates/initializer.rb
168
+ - lib/generators/langgraphrb_rails/install_generator.rb
169
+ - lib/generators/langgraphrb_rails/jobs/templates/run_job.rb
170
+ - lib/generators/langgraphrb_rails/jobs_generator.rb
171
+ - lib/generators/langgraphrb_rails/model/templates/migration.rb
172
+ - lib/generators/langgraphrb_rails/model/templates/model.rb
173
+ - lib/generators/langgraphrb_rails/model_generator.rb
174
+ - lib/generators/langgraphrb_rails/persistence/templates/create_langgraph_runs.rb
175
+ - lib/generators/langgraphrb_rails/persistence/templates/langgraph_run.rb
176
+ - lib/generators/langgraphrb_rails/persistence_generator.rb
177
+ - lib/generators/langgraphrb_rails/task/templates/task.rake
178
+ - lib/generators/langgraphrb_rails/task_generator.rb
179
+ - lib/generators/langgraphrb_rails/tracing/templates/traced.rb
180
+ - lib/generators/langgraphrb_rails/tracing_generator.rb
181
+ - lib/langgraphrb_rails.rb
182
+ - lib/langgraphrb_rails/configuration.rb
183
+ - lib/langgraphrb_rails/engine.rb
184
+ - lib/langgraphrb_rails/helper.rb
185
+ - lib/langgraphrb_rails/middleware/streaming.rb
186
+ - lib/langgraphrb_rails/railtie.rb
187
+ - lib/langgraphrb_rails/stores/active_record.rb
188
+ - lib/langgraphrb_rails/stores/redis.rb
189
+ - lib/langgraphrb_rails/test_helper.rb
190
+ - lib/langgraphrb_rails/version.rb
191
+ - lib/tasks/langgraphrb_rails_tasks.rake
192
+ homepage: https://github.com/cdaviis/langgraphrb_rails
193
+ licenses:
194
+ - MIT
195
+ metadata:
196
+ homepage_uri: https://github.com/cdaviis/langgraphrb_rails
197
+ source_code_uri: https://github.com/cdaviis/langgraphrb_rails/tree/main
198
+ changelog_uri: https://github.com/cdaviis/langgraphrb_rails/blob/main/CHANGELOG.md
199
+ documentation_uri: https://github.com/cdaviis/langgraphrb_rails/blob/main/README.md
200
+ rdoc_options: []
201
+ require_paths:
202
+ - lib
203
+ required_ruby_version: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - ">="
206
+ - !ruby/object:Gem::Version
207
+ version: 3.0.0
208
+ required_rubygems_version: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: '0'
213
+ requirements: []
214
+ rubygems_version: 3.6.2
215
+ specification_version: 4
216
+ summary: Rails integration for the langgraph_rb gem
217
+ test_files: []