igniter 0.3.1 → 0.4.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/docs/DISTRIBUTED_CONTRACTS_V1.md +493 -0
  3. data/examples/distributed_workflow.rb +52 -0
  4. data/lib/igniter/compiler/compiled_graph.rb +12 -0
  5. data/lib/igniter/compiler/validation_pipeline.rb +3 -1
  6. data/lib/igniter/compiler/validators/await_validator.rb +53 -0
  7. data/lib/igniter/compiler/validators/dependencies_validator.rb +41 -1
  8. data/lib/igniter/compiler/validators/remote_validator.rb +58 -0
  9. data/lib/igniter/compiler.rb +2 -0
  10. data/lib/igniter/contract.rb +59 -8
  11. data/lib/igniter/dsl/contract_builder.rb +42 -4
  12. data/lib/igniter/errors.rb +6 -1
  13. data/lib/igniter/integrations/llm/config.rb +69 -0
  14. data/lib/igniter/integrations/llm/context.rb +74 -0
  15. data/lib/igniter/integrations/llm/executor.rb +159 -0
  16. data/lib/igniter/integrations/llm/providers/anthropic.rb +148 -0
  17. data/lib/igniter/integrations/llm/providers/base.rb +33 -0
  18. data/lib/igniter/integrations/llm/providers/ollama.rb +137 -0
  19. data/lib/igniter/integrations/llm/providers/openai.rb +153 -0
  20. data/lib/igniter/integrations/llm.rb +59 -0
  21. data/lib/igniter/integrations/rails/cable_adapter.rb +49 -0
  22. data/lib/igniter/integrations/rails/contract_job.rb +76 -0
  23. data/lib/igniter/integrations/rails/generators/contract/contract_generator.rb +22 -0
  24. data/lib/igniter/integrations/rails/generators/install/install_generator.rb +33 -0
  25. data/lib/igniter/integrations/rails/railtie.rb +25 -0
  26. data/lib/igniter/integrations/rails/webhook_concern.rb +49 -0
  27. data/lib/igniter/integrations/rails.rb +12 -0
  28. data/lib/igniter/model/await_node.rb +21 -0
  29. data/lib/igniter/model/remote_node.rb +26 -0
  30. data/lib/igniter/model.rb +2 -0
  31. data/lib/igniter/runtime/execution.rb +2 -2
  32. data/lib/igniter/runtime/input_validator.rb +5 -3
  33. data/lib/igniter/runtime/resolver.rb +43 -1
  34. data/lib/igniter/runtime/stores/active_record_store.rb +13 -1
  35. data/lib/igniter/runtime/stores/file_store.rb +50 -2
  36. data/lib/igniter/runtime/stores/memory_store.rb +55 -2
  37. data/lib/igniter/runtime/stores/redis_store.rb +13 -1
  38. data/lib/igniter/server/client.rb +123 -0
  39. data/lib/igniter/server/config.rb +27 -0
  40. data/lib/igniter/server/handlers/base.rb +105 -0
  41. data/lib/igniter/server/handlers/contracts_handler.rb +15 -0
  42. data/lib/igniter/server/handlers/event_handler.rb +28 -0
  43. data/lib/igniter/server/handlers/execute_handler.rb +37 -0
  44. data/lib/igniter/server/handlers/health_handler.rb +32 -0
  45. data/lib/igniter/server/handlers/status_handler.rb +27 -0
  46. data/lib/igniter/server/http_server.rb +109 -0
  47. data/lib/igniter/server/rack_app.rb +35 -0
  48. data/lib/igniter/server/registry.rb +56 -0
  49. data/lib/igniter/server/router.rb +75 -0
  50. data/lib/igniter/server.rb +67 -0
  51. data/lib/igniter/version.rb +1 -1
  52. data/lib/igniter.rb +4 -0
  53. metadata +36 -2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: igniter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander
@@ -54,6 +54,7 @@ files:
54
54
  - docs/BACKLOG.md
55
55
  - docs/BRANCHES_V1.md
56
56
  - docs/COLLECTIONS_V1.md
57
+ - docs/DISTRIBUTED_CONTRACTS_V1.md
57
58
  - docs/EXECUTION_MODEL_V2.md
58
59
  - docs/IGNITER_CONCEPTS.md
59
60
  - docs/PATTERNS.md
@@ -65,6 +66,7 @@ files:
65
66
  - examples/collection_partial_failure.rb
66
67
  - examples/composition.rb
67
68
  - examples/diagnostics.rb
69
+ - examples/distributed_workflow.rb
68
70
  - examples/marketing_ergonomics.rb
69
71
  - examples/ringcentral_routing.rb
70
72
  - lib/igniter.rb
@@ -75,9 +77,11 @@ files:
75
77
  - lib/igniter/compiler/validation_context.rb
76
78
  - lib/igniter/compiler/validation_pipeline.rb
77
79
  - lib/igniter/compiler/validator.rb
80
+ - lib/igniter/compiler/validators/await_validator.rb
78
81
  - lib/igniter/compiler/validators/callable_validator.rb
79
82
  - lib/igniter/compiler/validators/dependencies_validator.rb
80
83
  - lib/igniter/compiler/validators/outputs_validator.rb
84
+ - lib/igniter/compiler/validators/remote_validator.rb
81
85
  - lib/igniter/compiler/validators/type_compatibility_validator.rb
82
86
  - lib/igniter/compiler/validators/uniqueness_validator.rb
83
87
  - lib/igniter/contract.rb
@@ -107,7 +111,23 @@ files:
107
111
  - lib/igniter/extensions/reactive/engine.rb
108
112
  - lib/igniter/extensions/reactive/matcher.rb
109
113
  - lib/igniter/extensions/reactive/reaction.rb
114
+ - lib/igniter/integrations/llm.rb
115
+ - lib/igniter/integrations/llm/config.rb
116
+ - lib/igniter/integrations/llm/context.rb
117
+ - lib/igniter/integrations/llm/executor.rb
118
+ - lib/igniter/integrations/llm/providers/anthropic.rb
119
+ - lib/igniter/integrations/llm/providers/base.rb
120
+ - lib/igniter/integrations/llm/providers/ollama.rb
121
+ - lib/igniter/integrations/llm/providers/openai.rb
122
+ - lib/igniter/integrations/rails.rb
123
+ - lib/igniter/integrations/rails/cable_adapter.rb
124
+ - lib/igniter/integrations/rails/contract_job.rb
125
+ - lib/igniter/integrations/rails/generators/contract/contract_generator.rb
126
+ - lib/igniter/integrations/rails/generators/install/install_generator.rb
127
+ - lib/igniter/integrations/rails/railtie.rb
128
+ - lib/igniter/integrations/rails/webhook_concern.rb
110
129
  - lib/igniter/model.rb
130
+ - lib/igniter/model/await_node.rb
111
131
  - lib/igniter/model/branch_node.rb
112
132
  - lib/igniter/model/collection_node.rb
113
133
  - lib/igniter/model/composition_node.rb
@@ -116,6 +136,7 @@ files:
116
136
  - lib/igniter/model/input_node.rb
117
137
  - lib/igniter/model/node.rb
118
138
  - lib/igniter/model/output_node.rb
139
+ - lib/igniter/model/remote_node.rb
119
140
  - lib/igniter/runtime.rb
120
141
  - lib/igniter/runtime/cache.rb
121
142
  - lib/igniter/runtime/collection_result.rb
@@ -136,6 +157,19 @@ files:
136
157
  - lib/igniter/runtime/stores/file_store.rb
137
158
  - lib/igniter/runtime/stores/memory_store.rb
138
159
  - lib/igniter/runtime/stores/redis_store.rb
160
+ - lib/igniter/server.rb
161
+ - lib/igniter/server/client.rb
162
+ - lib/igniter/server/config.rb
163
+ - lib/igniter/server/handlers/base.rb
164
+ - lib/igniter/server/handlers/contracts_handler.rb
165
+ - lib/igniter/server/handlers/event_handler.rb
166
+ - lib/igniter/server/handlers/execute_handler.rb
167
+ - lib/igniter/server/handlers/health_handler.rb
168
+ - lib/igniter/server/handlers/status_handler.rb
169
+ - lib/igniter/server/http_server.rb
170
+ - lib/igniter/server/rack_app.rb
171
+ - lib/igniter/server/registry.rb
172
+ - lib/igniter/server/router.rb
139
173
  - lib/igniter/type_system.rb
140
174
  - lib/igniter/version.rb
141
175
  - sig/igniter.rbs
@@ -161,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
195
  - !ruby/object:Gem::Version
162
196
  version: '0'
163
197
  requirements: []
164
- rubygems_version: 3.7.2
198
+ rubygems_version: 4.0.9
165
199
  specification_version: 4
166
200
  summary: Declarative dependency-graph runtime for business logic
167
201
  test_files: []