tasker-rb 0.1.3-x86_64-linux

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 (63) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +55 -0
  3. data/lib/tasker_core/batch_processing/batch_aggregation_scenario.rb +85 -0
  4. data/lib/tasker_core/batch_processing/batch_worker_context.rb +238 -0
  5. data/lib/tasker_core/bootstrap.rb +394 -0
  6. data/lib/tasker_core/client.rb +165 -0
  7. data/lib/tasker_core/domain_events/base_publisher.rb +220 -0
  8. data/lib/tasker_core/domain_events/base_subscriber.rb +178 -0
  9. data/lib/tasker_core/domain_events/publisher_registry.rb +253 -0
  10. data/lib/tasker_core/domain_events/subscriber_registry.rb +152 -0
  11. data/lib/tasker_core/domain_events.rb +43 -0
  12. data/lib/tasker_core/errors/CLAUDE.md +7 -0
  13. data/lib/tasker_core/errors/common.rb +305 -0
  14. data/lib/tasker_core/errors/error_classifier.rb +61 -0
  15. data/lib/tasker_core/errors.rb +4 -0
  16. data/lib/tasker_core/event_bridge.rb +330 -0
  17. data/lib/tasker_core/handlers.rb +159 -0
  18. data/lib/tasker_core/internal.rb +31 -0
  19. data/lib/tasker_core/logger.rb +234 -0
  20. data/lib/tasker_core/models.rb +337 -0
  21. data/lib/tasker_core/observability/types.rb +158 -0
  22. data/lib/tasker_core/observability.rb +292 -0
  23. data/lib/tasker_core/registry/handler_registry.rb +453 -0
  24. data/lib/tasker_core/registry/resolver_chain.rb +258 -0
  25. data/lib/tasker_core/registry/resolvers/base_resolver.rb +90 -0
  26. data/lib/tasker_core/registry/resolvers/class_constant_resolver.rb +156 -0
  27. data/lib/tasker_core/registry/resolvers/explicit_mapping_resolver.rb +146 -0
  28. data/lib/tasker_core/registry/resolvers/method_dispatch_wrapper.rb +144 -0
  29. data/lib/tasker_core/registry/resolvers/registry_resolver.rb +229 -0
  30. data/lib/tasker_core/registry/resolvers.rb +42 -0
  31. data/lib/tasker_core/registry.rb +12 -0
  32. data/lib/tasker_core/step_handler/api.rb +48 -0
  33. data/lib/tasker_core/step_handler/base.rb +354 -0
  34. data/lib/tasker_core/step_handler/batchable.rb +50 -0
  35. data/lib/tasker_core/step_handler/decision.rb +53 -0
  36. data/lib/tasker_core/step_handler/mixins/api.rb +452 -0
  37. data/lib/tasker_core/step_handler/mixins/batchable.rb +465 -0
  38. data/lib/tasker_core/step_handler/mixins/decision.rb +252 -0
  39. data/lib/tasker_core/step_handler/mixins.rb +66 -0
  40. data/lib/tasker_core/subscriber.rb +212 -0
  41. data/lib/tasker_core/task_handler/base.rb +254 -0
  42. data/lib/tasker_core/tasker_rb.so +0 -0
  43. data/lib/tasker_core/template_discovery.rb +181 -0
  44. data/lib/tasker_core/test_environment.rb +313 -0
  45. data/lib/tasker_core/tracing.rb +166 -0
  46. data/lib/tasker_core/types/batch_processing_outcome.rb +301 -0
  47. data/lib/tasker_core/types/client_types.rb +145 -0
  48. data/lib/tasker_core/types/decision_point_outcome.rb +177 -0
  49. data/lib/tasker_core/types/error_types.rb +72 -0
  50. data/lib/tasker_core/types/simple_message.rb +151 -0
  51. data/lib/tasker_core/types/step_context.rb +328 -0
  52. data/lib/tasker_core/types/step_handler_call_result.rb +307 -0
  53. data/lib/tasker_core/types/step_message.rb +112 -0
  54. data/lib/tasker_core/types/step_types.rb +207 -0
  55. data/lib/tasker_core/types/task_template.rb +240 -0
  56. data/lib/tasker_core/types/task_types.rb +148 -0
  57. data/lib/tasker_core/types.rb +132 -0
  58. data/lib/tasker_core/version.rb +13 -0
  59. data/lib/tasker_core/worker/CLAUDE.md +7 -0
  60. data/lib/tasker_core/worker/event_poller.rb +224 -0
  61. data/lib/tasker_core/worker/in_process_domain_event_poller.rb +271 -0
  62. data/lib/tasker_core.rb +161 -0
  63. metadata +292 -0
metadata ADDED
@@ -0,0 +1,292 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tasker-rb
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
+ platform: x86_64-linux
6
+ authors:
7
+ - Pete Taylor
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: activesupport
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '8.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '8.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: json-schema
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.4'
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 2.4.0
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '2.4'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 2.4.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: logger
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.6'
53
+ type: :runtime
54
+ prerelease: false
55
+ version_requirements: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.6'
60
+ - !ruby/object:Gem::Dependency
61
+ name: dry-events
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '1.1'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '1.1'
74
+ - !ruby/object:Gem::Dependency
75
+ name: dry-struct
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '1.8'
81
+ type: :runtime
82
+ prerelease: false
83
+ version_requirements: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '1.8'
88
+ - !ruby/object:Gem::Dependency
89
+ name: dry-types
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '1.8'
95
+ type: :runtime
96
+ prerelease: false
97
+ version_requirements: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - "~>"
100
+ - !ruby/object:Gem::Version
101
+ version: '1.8'
102
+ - !ruby/object:Gem::Dependency
103
+ name: dry-validation
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '1.10'
109
+ type: :runtime
110
+ prerelease: false
111
+ version_requirements: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - "~>"
114
+ - !ruby/object:Gem::Version
115
+ version: '1.10'
116
+ - !ruby/object:Gem::Dependency
117
+ name: dotenv
118
+ requirement: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - "~>"
121
+ - !ruby/object:Gem::Version
122
+ version: '2.8'
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '2.8'
130
+ - !ruby/object:Gem::Dependency
131
+ name: faraday
132
+ requirement: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: 2.12.2
137
+ type: :runtime
138
+ prerelease: false
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "~>"
142
+ - !ruby/object:Gem::Version
143
+ version: 2.12.2
144
+ - !ruby/object:Gem::Dependency
145
+ name: csv
146
+ requirement: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - "~>"
149
+ - !ruby/object:Gem::Version
150
+ version: '3.3'
151
+ type: :runtime
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '3.3'
158
+ - !ruby/object:Gem::Dependency
159
+ name: concurrent-ruby
160
+ requirement: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - "~>"
163
+ - !ruby/object:Gem::Version
164
+ version: 1.3.5
165
+ type: :runtime
166
+ prerelease: false
167
+ version_requirements: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - "~>"
170
+ - !ruby/object:Gem::Version
171
+ version: 1.3.5
172
+ - !ruby/object:Gem::Dependency
173
+ name: concurrent-ruby-ext
174
+ requirement: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - "~>"
177
+ - !ruby/object:Gem::Version
178
+ version: 1.3.5
179
+ type: :runtime
180
+ prerelease: false
181
+ version_requirements: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - "~>"
184
+ - !ruby/object:Gem::Version
185
+ version: 1.3.5
186
+ description: |
187
+ Ruby FFI bindings for tasker-core, providing 10-100x performance improvements
188
+ for workflow orchestration, dependency resolution, and state management.
189
+
190
+ This gem enables Rails applications using the Tasker engine to leverage
191
+ Rust's performance for computationally intensive orchestration operations
192
+ while maintaining Ruby's flexibility for business logic.
193
+ email:
194
+ - pete.jc.taylor@hey.com
195
+ executables: []
196
+ extensions: []
197
+ extra_rdoc_files: []
198
+ files:
199
+ - README.md
200
+ - lib/tasker_core.rb
201
+ - lib/tasker_core/batch_processing/batch_aggregation_scenario.rb
202
+ - lib/tasker_core/batch_processing/batch_worker_context.rb
203
+ - lib/tasker_core/bootstrap.rb
204
+ - lib/tasker_core/client.rb
205
+ - lib/tasker_core/domain_events.rb
206
+ - lib/tasker_core/domain_events/base_publisher.rb
207
+ - lib/tasker_core/domain_events/base_subscriber.rb
208
+ - lib/tasker_core/domain_events/publisher_registry.rb
209
+ - lib/tasker_core/domain_events/subscriber_registry.rb
210
+ - lib/tasker_core/errors.rb
211
+ - lib/tasker_core/errors/CLAUDE.md
212
+ - lib/tasker_core/errors/common.rb
213
+ - lib/tasker_core/errors/error_classifier.rb
214
+ - lib/tasker_core/event_bridge.rb
215
+ - lib/tasker_core/handlers.rb
216
+ - lib/tasker_core/internal.rb
217
+ - lib/tasker_core/logger.rb
218
+ - lib/tasker_core/models.rb
219
+ - lib/tasker_core/observability.rb
220
+ - lib/tasker_core/observability/types.rb
221
+ - lib/tasker_core/registry.rb
222
+ - lib/tasker_core/registry/handler_registry.rb
223
+ - lib/tasker_core/registry/resolver_chain.rb
224
+ - lib/tasker_core/registry/resolvers.rb
225
+ - lib/tasker_core/registry/resolvers/base_resolver.rb
226
+ - lib/tasker_core/registry/resolvers/class_constant_resolver.rb
227
+ - lib/tasker_core/registry/resolvers/explicit_mapping_resolver.rb
228
+ - lib/tasker_core/registry/resolvers/method_dispatch_wrapper.rb
229
+ - lib/tasker_core/registry/resolvers/registry_resolver.rb
230
+ - lib/tasker_core/step_handler/api.rb
231
+ - lib/tasker_core/step_handler/base.rb
232
+ - lib/tasker_core/step_handler/batchable.rb
233
+ - lib/tasker_core/step_handler/decision.rb
234
+ - lib/tasker_core/step_handler/mixins.rb
235
+ - lib/tasker_core/step_handler/mixins/api.rb
236
+ - lib/tasker_core/step_handler/mixins/batchable.rb
237
+ - lib/tasker_core/step_handler/mixins/decision.rb
238
+ - lib/tasker_core/subscriber.rb
239
+ - lib/tasker_core/task_handler/base.rb
240
+ - lib/tasker_core/tasker_rb.so
241
+ - lib/tasker_core/template_discovery.rb
242
+ - lib/tasker_core/test_environment.rb
243
+ - lib/tasker_core/tracing.rb
244
+ - lib/tasker_core/types.rb
245
+ - lib/tasker_core/types/batch_processing_outcome.rb
246
+ - lib/tasker_core/types/client_types.rb
247
+ - lib/tasker_core/types/decision_point_outcome.rb
248
+ - lib/tasker_core/types/error_types.rb
249
+ - lib/tasker_core/types/simple_message.rb
250
+ - lib/tasker_core/types/step_context.rb
251
+ - lib/tasker_core/types/step_handler_call_result.rb
252
+ - lib/tasker_core/types/step_message.rb
253
+ - lib/tasker_core/types/step_types.rb
254
+ - lib/tasker_core/types/task_template.rb
255
+ - lib/tasker_core/types/task_types.rb
256
+ - lib/tasker_core/version.rb
257
+ - lib/tasker_core/worker/CLAUDE.md
258
+ - lib/tasker_core/worker/event_poller.rb
259
+ - lib/tasker_core/worker/in_process_domain_event_poller.rb
260
+ homepage: https://github.com/tasker-systems/tasker-core
261
+ licenses:
262
+ - MIT
263
+ metadata:
264
+ homepage_uri: https://github.com/tasker-systems/tasker-core
265
+ source_code_uri: https://github.com/tasker-systems/tasker-core/tree/main/workers/ruby
266
+ changelog_uri: https://github.com/tasker-systems/tasker-core/blob/main/workers/ruby/CHANGELOG.md
267
+ documentation_uri: https://github.com/tasker-systems/tasker-core/blob/main/docs/RUBY.md
268
+ bug_tracker_uri: https://github.com/tasker-systems/tasker-core/issues
269
+ allowed_push_host: https://rubygems.org
270
+ rubygems_mfa_required: 'true'
271
+ post_install_message: "\n\U0001F980 tasker-rb successfully installed!\n\nThis gem
272
+ provides high-performance Rust-powered workflow orchestration.\n\nDocumentation:
273
+ https://github.com/tasker-systems/tasker-core/blob/main/docs/workers/ruby.md\n\nFor
274
+ Rails integration, see the tasker-engine gem documentation.\n\n"
275
+ rdoc_options: []
276
+ require_paths:
277
+ - lib
278
+ required_ruby_version: !ruby/object:Gem::Requirement
279
+ requirements:
280
+ - - ">="
281
+ - !ruby/object:Gem::Version
282
+ version: 3.4.0
283
+ required_rubygems_version: !ruby/object:Gem::Requirement
284
+ requirements:
285
+ - - ">="
286
+ - !ruby/object:Gem::Version
287
+ version: '0'
288
+ requirements: []
289
+ rubygems_version: 3.6.9
290
+ specification_version: 4
291
+ summary: High-performance Ruby bindings for Tasker workflow orchestration
292
+ test_files: []