hatchet-sdk 0.0.1 → 0.1.0.pre.alpha

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 (443) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -2
  3. data/CLAUDE.md +20 -0
  4. data/INTEGRATION_TESTING.md +176 -0
  5. data/LICENSE.txt +1 -1
  6. data/REST_API_GENERATION.md +257 -0
  7. data/Rakefile +9 -0
  8. data/Rakefile.rest +133 -0
  9. data/config/openapi_generator_config.json +31 -0
  10. data/lib/hatchet/clients/rest/.gitignore +39 -0
  11. data/lib/hatchet/clients/rest/.gitlab-ci.yml +26 -0
  12. data/lib/hatchet/clients/rest/.openapi-generator/FILES +420 -0
  13. data/lib/hatchet/clients/rest/.openapi-generator/VERSION +1 -0
  14. data/lib/hatchet/clients/rest/.openapi-generator-ignore +23 -0
  15. data/lib/hatchet/clients/rest/.rspec +2 -0
  16. data/lib/hatchet/clients/rest/.rubocop.yml +148 -0
  17. data/lib/hatchet/clients/rest/.travis.yml +11 -0
  18. data/lib/hatchet/clients/rest/Gemfile +9 -0
  19. data/lib/hatchet/clients/rest/README.md +420 -0
  20. data/lib/hatchet/clients/rest/Rakefile +10 -0
  21. data/lib/hatchet/clients/rest/docs/APIError.md +24 -0
  22. data/lib/hatchet/clients/rest/docs/APIErrors.md +18 -0
  23. data/lib/hatchet/clients/rest/docs/APIMeta.md +30 -0
  24. data/lib/hatchet/clients/rest/docs/APIMetaAuth.md +18 -0
  25. data/lib/hatchet/clients/rest/docs/APIMetaIntegration.md +20 -0
  26. data/lib/hatchet/clients/rest/docs/APIMetaPosthog.md +20 -0
  27. data/lib/hatchet/clients/rest/docs/APIResourceMeta.md +22 -0
  28. data/lib/hatchet/clients/rest/docs/APIToken.md +22 -0
  29. data/lib/hatchet/clients/rest/docs/APITokenApi.md +235 -0
  30. data/lib/hatchet/clients/rest/docs/AcceptInviteRequest.md +18 -0
  31. data/lib/hatchet/clients/rest/docs/BulkCreateEventRequest.md +18 -0
  32. data/lib/hatchet/clients/rest/docs/CancelEventRequest.md +18 -0
  33. data/lib/hatchet/clients/rest/docs/ConcurrencyLimitStrategy.md +15 -0
  34. data/lib/hatchet/clients/rest/docs/CreateAPITokenRequest.md +20 -0
  35. data/lib/hatchet/clients/rest/docs/CreateAPITokenResponse.md +18 -0
  36. data/lib/hatchet/clients/rest/docs/CreateCronWorkflowTriggerRequest.md +26 -0
  37. data/lib/hatchet/clients/rest/docs/CreateEventRequest.md +26 -0
  38. data/lib/hatchet/clients/rest/docs/CreatePullRequestFromStepRun.md +18 -0
  39. data/lib/hatchet/clients/rest/docs/CreateSNSIntegrationRequest.md +18 -0
  40. data/lib/hatchet/clients/rest/docs/CreateTenantAlertEmailGroupRequest.md +18 -0
  41. data/lib/hatchet/clients/rest/docs/CreateTenantInviteRequest.md +20 -0
  42. data/lib/hatchet/clients/rest/docs/CreateTenantRequest.md +24 -0
  43. data/lib/hatchet/clients/rest/docs/CronWorkflows.md +40 -0
  44. data/lib/hatchet/clients/rest/docs/CronWorkflowsList.md +20 -0
  45. data/lib/hatchet/clients/rest/docs/CronWorkflowsMethod.md +15 -0
  46. data/lib/hatchet/clients/rest/docs/CronWorkflowsOrderByField.md +15 -0
  47. data/lib/hatchet/clients/rest/docs/DefaultApi.md +602 -0
  48. data/lib/hatchet/clients/rest/docs/Event.md +28 -0
  49. data/lib/hatchet/clients/rest/docs/EventApi.md +809 -0
  50. data/lib/hatchet/clients/rest/docs/EventData.md +18 -0
  51. data/lib/hatchet/clients/rest/docs/EventKeyList.md +20 -0
  52. data/lib/hatchet/clients/rest/docs/EventList.md +20 -0
  53. data/lib/hatchet/clients/rest/docs/EventOrderByDirection.md +15 -0
  54. data/lib/hatchet/clients/rest/docs/EventOrderByField.md +15 -0
  55. data/lib/hatchet/clients/rest/docs/EventUpdateCancel200Response.md +18 -0
  56. data/lib/hatchet/clients/rest/docs/EventWorkflowRunSummary.md +28 -0
  57. data/lib/hatchet/clients/rest/docs/Events.md +20 -0
  58. data/lib/hatchet/clients/rest/docs/FilterApi.md +402 -0
  59. data/lib/hatchet/clients/rest/docs/GetStepRunDiffResponse.md +18 -0
  60. data/lib/hatchet/clients/rest/docs/GithubApi.md +73 -0
  61. data/lib/hatchet/clients/rest/docs/HealthcheckApi.md +129 -0
  62. data/lib/hatchet/clients/rest/docs/InfoGetVersion200Response.md +18 -0
  63. data/lib/hatchet/clients/rest/docs/Job.md +30 -0
  64. data/lib/hatchet/clients/rest/docs/JobRun.md +48 -0
  65. data/lib/hatchet/clients/rest/docs/JobRunStatus.md +15 -0
  66. data/lib/hatchet/clients/rest/docs/ListAPITokensResponse.md +20 -0
  67. data/lib/hatchet/clients/rest/docs/ListPullRequestsResponse.md +18 -0
  68. data/lib/hatchet/clients/rest/docs/ListSNSIntegrations.md +20 -0
  69. data/lib/hatchet/clients/rest/docs/ListSlackWebhooks.md +20 -0
  70. data/lib/hatchet/clients/rest/docs/LogApi.md +171 -0
  71. data/lib/hatchet/clients/rest/docs/LogLine.md +22 -0
  72. data/lib/hatchet/clients/rest/docs/LogLineLevel.md +15 -0
  73. data/lib/hatchet/clients/rest/docs/LogLineList.md +20 -0
  74. data/lib/hatchet/clients/rest/docs/LogLineOrderByDirection.md +15 -0
  75. data/lib/hatchet/clients/rest/docs/LogLineOrderByField.md +15 -0
  76. data/lib/hatchet/clients/rest/docs/MetadataApi.md +203 -0
  77. data/lib/hatchet/clients/rest/docs/PaginationResponse.md +22 -0
  78. data/lib/hatchet/clients/rest/docs/PullRequest.md +32 -0
  79. data/lib/hatchet/clients/rest/docs/PullRequestState.md +15 -0
  80. data/lib/hatchet/clients/rest/docs/QueueMetrics.md +22 -0
  81. data/lib/hatchet/clients/rest/docs/RateLimit.md +28 -0
  82. data/lib/hatchet/clients/rest/docs/RateLimitList.md +20 -0
  83. data/lib/hatchet/clients/rest/docs/RateLimitOrderByDirection.md +15 -0
  84. data/lib/hatchet/clients/rest/docs/RateLimitOrderByField.md +15 -0
  85. data/lib/hatchet/clients/rest/docs/RateLimitsApi.md +94 -0
  86. data/lib/hatchet/clients/rest/docs/RecentStepRuns.md +30 -0
  87. data/lib/hatchet/clients/rest/docs/RejectInviteRequest.md +18 -0
  88. data/lib/hatchet/clients/rest/docs/ReplayEventRequest.md +18 -0
  89. data/lib/hatchet/clients/rest/docs/ReplayWorkflowRunsRequest.md +18 -0
  90. data/lib/hatchet/clients/rest/docs/ReplayWorkflowRunsResponse.md +18 -0
  91. data/lib/hatchet/clients/rest/docs/RerunStepRunRequest.md +18 -0
  92. data/lib/hatchet/clients/rest/docs/SNSApi.md +235 -0
  93. data/lib/hatchet/clients/rest/docs/SNSIntegration.md +24 -0
  94. data/lib/hatchet/clients/rest/docs/ScheduleWorkflowRunRequest.md +24 -0
  95. data/lib/hatchet/clients/rest/docs/ScheduledRunStatus.md +15 -0
  96. data/lib/hatchet/clients/rest/docs/ScheduledWorkflows.md +44 -0
  97. data/lib/hatchet/clients/rest/docs/ScheduledWorkflowsList.md +20 -0
  98. data/lib/hatchet/clients/rest/docs/ScheduledWorkflowsMethod.md +15 -0
  99. data/lib/hatchet/clients/rest/docs/ScheduledWorkflowsOrderByField.md +15 -0
  100. data/lib/hatchet/clients/rest/docs/SemaphoreSlots.md +28 -0
  101. data/lib/hatchet/clients/rest/docs/SlackApi.md +156 -0
  102. data/lib/hatchet/clients/rest/docs/SlackWebhook.md +28 -0
  103. data/lib/hatchet/clients/rest/docs/Step.md +32 -0
  104. data/lib/hatchet/clients/rest/docs/StepRun.md +68 -0
  105. data/lib/hatchet/clients/rest/docs/StepRunApi.md +560 -0
  106. data/lib/hatchet/clients/rest/docs/StepRunArchive.md +50 -0
  107. data/lib/hatchet/clients/rest/docs/StepRunArchiveList.md +20 -0
  108. data/lib/hatchet/clients/rest/docs/StepRunDiff.md +22 -0
  109. data/lib/hatchet/clients/rest/docs/StepRunEvent.md +36 -0
  110. data/lib/hatchet/clients/rest/docs/StepRunEventList.md +20 -0
  111. data/lib/hatchet/clients/rest/docs/StepRunEventReason.md +15 -0
  112. data/lib/hatchet/clients/rest/docs/StepRunEventSeverity.md +15 -0
  113. data/lib/hatchet/clients/rest/docs/StepRunStatus.md +15 -0
  114. data/lib/hatchet/clients/rest/docs/TaskApi.md +566 -0
  115. data/lib/hatchet/clients/rest/docs/Tenant.md +30 -0
  116. data/lib/hatchet/clients/rest/docs/TenantAlertEmailGroup.md +20 -0
  117. data/lib/hatchet/clients/rest/docs/TenantAlertEmailGroupList.md +20 -0
  118. data/lib/hatchet/clients/rest/docs/TenantAlertingSettings.md +30 -0
  119. data/lib/hatchet/clients/rest/docs/TenantApi.md +1362 -0
  120. data/lib/hatchet/clients/rest/docs/TenantInvite.md +28 -0
  121. data/lib/hatchet/clients/rest/docs/TenantInviteList.md +20 -0
  122. data/lib/hatchet/clients/rest/docs/TenantList.md +20 -0
  123. data/lib/hatchet/clients/rest/docs/TenantMember.md +24 -0
  124. data/lib/hatchet/clients/rest/docs/TenantMemberList.md +20 -0
  125. data/lib/hatchet/clients/rest/docs/TenantMemberRole.md +15 -0
  126. data/lib/hatchet/clients/rest/docs/TenantQueueMetrics.md +22 -0
  127. data/lib/hatchet/clients/rest/docs/TenantResource.md +15 -0
  128. data/lib/hatchet/clients/rest/docs/TenantResourceLimit.md +30 -0
  129. data/lib/hatchet/clients/rest/docs/TenantResourcePolicy.md +18 -0
  130. data/lib/hatchet/clients/rest/docs/TenantStepRunQueueMetrics.md +18 -0
  131. data/lib/hatchet/clients/rest/docs/TenantUIVersion.md +15 -0
  132. data/lib/hatchet/clients/rest/docs/TenantVersion.md +15 -0
  133. data/lib/hatchet/clients/rest/docs/TriggerWorkflowRunRequest.md +20 -0
  134. data/lib/hatchet/clients/rest/docs/UpdateTenantAlertEmailGroupRequest.md +18 -0
  135. data/lib/hatchet/clients/rest/docs/UpdateTenantInviteRequest.md +18 -0
  136. data/lib/hatchet/clients/rest/docs/UpdateTenantRequest.md +34 -0
  137. data/lib/hatchet/clients/rest/docs/UpdateWorkerRequest.md +18 -0
  138. data/lib/hatchet/clients/rest/docs/User.md +28 -0
  139. data/lib/hatchet/clients/rest/docs/UserApi.md +805 -0
  140. data/lib/hatchet/clients/rest/docs/UserChangePasswordRequest.md +20 -0
  141. data/lib/hatchet/clients/rest/docs/UserLoginRequest.md +20 -0
  142. data/lib/hatchet/clients/rest/docs/UserRegisterRequest.md +22 -0
  143. data/lib/hatchet/clients/rest/docs/UserTenantMembershipsList.md +20 -0
  144. data/lib/hatchet/clients/rest/docs/UserTenantPublic.md +20 -0
  145. data/lib/hatchet/clients/rest/docs/V1CancelTaskRequest.md +20 -0
  146. data/lib/hatchet/clients/rest/docs/V1CancelledTasks.md +18 -0
  147. data/lib/hatchet/clients/rest/docs/V1CreateFilterRequest.md +24 -0
  148. data/lib/hatchet/clients/rest/docs/V1DagChildren.md +20 -0
  149. data/lib/hatchet/clients/rest/docs/V1Event.md +36 -0
  150. data/lib/hatchet/clients/rest/docs/V1EventList.md +20 -0
  151. data/lib/hatchet/clients/rest/docs/V1EventTriggeredRun.md +20 -0
  152. data/lib/hatchet/clients/rest/docs/V1EventWorkflowRunSummary.md +26 -0
  153. data/lib/hatchet/clients/rest/docs/V1Filter.md +28 -0
  154. data/lib/hatchet/clients/rest/docs/V1FilterList.md +20 -0
  155. data/lib/hatchet/clients/rest/docs/V1LogLine.md +28 -0
  156. data/lib/hatchet/clients/rest/docs/V1LogLineLevel.md +15 -0
  157. data/lib/hatchet/clients/rest/docs/V1LogLineList.md +20 -0
  158. data/lib/hatchet/clients/rest/docs/V1ReplayTaskRequest.md +20 -0
  159. data/lib/hatchet/clients/rest/docs/V1ReplayedTasks.md +18 -0
  160. data/lib/hatchet/clients/rest/docs/V1TaskEvent.md +38 -0
  161. data/lib/hatchet/clients/rest/docs/V1TaskEventList.md +20 -0
  162. data/lib/hatchet/clients/rest/docs/V1TaskEventType.md +15 -0
  163. data/lib/hatchet/clients/rest/docs/V1TaskFilter.md +26 -0
  164. data/lib/hatchet/clients/rest/docs/V1TaskPointMetric.md +22 -0
  165. data/lib/hatchet/clients/rest/docs/V1TaskPointMetrics.md +18 -0
  166. data/lib/hatchet/clients/rest/docs/V1TaskRunMetric.md +20 -0
  167. data/lib/hatchet/clients/rest/docs/V1TaskRunStatus.md +15 -0
  168. data/lib/hatchet/clients/rest/docs/V1TaskStatus.md +15 -0
  169. data/lib/hatchet/clients/rest/docs/V1TaskSummary.md +72 -0
  170. data/lib/hatchet/clients/rest/docs/V1TaskSummaryList.md +20 -0
  171. data/lib/hatchet/clients/rest/docs/V1TaskTiming.md +46 -0
  172. data/lib/hatchet/clients/rest/docs/V1TaskTimingList.md +20 -0
  173. data/lib/hatchet/clients/rest/docs/V1TriggerWorkflowRunRequest.md +24 -0
  174. data/lib/hatchet/clients/rest/docs/V1UpdateFilterRequest.md +22 -0
  175. data/lib/hatchet/clients/rest/docs/V1WorkflowRun.md +46 -0
  176. data/lib/hatchet/clients/rest/docs/V1WorkflowRunDetails.md +26 -0
  177. data/lib/hatchet/clients/rest/docs/V1WorkflowRunDisplayName.md +20 -0
  178. data/lib/hatchet/clients/rest/docs/V1WorkflowRunDisplayNameList.md +20 -0
  179. data/lib/hatchet/clients/rest/docs/V1WorkflowType.md +15 -0
  180. data/lib/hatchet/clients/rest/docs/WebhookWorker.md +22 -0
  181. data/lib/hatchet/clients/rest/docs/WebhookWorkerCreateRequest.md +22 -0
  182. data/lib/hatchet/clients/rest/docs/WebhookWorkerCreateResponse.md +18 -0
  183. data/lib/hatchet/clients/rest/docs/WebhookWorkerCreated.md +24 -0
  184. data/lib/hatchet/clients/rest/docs/WebhookWorkerListResponse.md +20 -0
  185. data/lib/hatchet/clients/rest/docs/WebhookWorkerRequest.md +22 -0
  186. data/lib/hatchet/clients/rest/docs/WebhookWorkerRequestListResponse.md +18 -0
  187. data/lib/hatchet/clients/rest/docs/WebhookWorkerRequestMethod.md +15 -0
  188. data/lib/hatchet/clients/rest/docs/Worker.md +48 -0
  189. data/lib/hatchet/clients/rest/docs/WorkerApi.md +234 -0
  190. data/lib/hatchet/clients/rest/docs/WorkerLabel.md +22 -0
  191. data/lib/hatchet/clients/rest/docs/WorkerList.md +20 -0
  192. data/lib/hatchet/clients/rest/docs/WorkerRuntimeInfo.md +26 -0
  193. data/lib/hatchet/clients/rest/docs/WorkerRuntimeSDKs.md +15 -0
  194. data/lib/hatchet/clients/rest/docs/WorkerType.md +15 -0
  195. data/lib/hatchet/clients/rest/docs/Workflow.md +32 -0
  196. data/lib/hatchet/clients/rest/docs/WorkflowApi.md +1480 -0
  197. data/lib/hatchet/clients/rest/docs/WorkflowConcurrency.md +22 -0
  198. data/lib/hatchet/clients/rest/docs/WorkflowKind.md +15 -0
  199. data/lib/hatchet/clients/rest/docs/WorkflowList.md +22 -0
  200. data/lib/hatchet/clients/rest/docs/WorkflowMetrics.md +20 -0
  201. data/lib/hatchet/clients/rest/docs/WorkflowRun.md +48 -0
  202. data/lib/hatchet/clients/rest/docs/WorkflowRunApi.md +477 -0
  203. data/lib/hatchet/clients/rest/docs/WorkflowRunList.md +20 -0
  204. data/lib/hatchet/clients/rest/docs/WorkflowRunOrderByDirection.md +15 -0
  205. data/lib/hatchet/clients/rest/docs/WorkflowRunOrderByField.md +15 -0
  206. data/lib/hatchet/clients/rest/docs/WorkflowRunShape.md +50 -0
  207. data/lib/hatchet/clients/rest/docs/WorkflowRunShapeItemForWorkflowRunDetails.md +24 -0
  208. data/lib/hatchet/clients/rest/docs/WorkflowRunStatus.md +15 -0
  209. data/lib/hatchet/clients/rest/docs/WorkflowRunTriggeredBy.md +26 -0
  210. data/lib/hatchet/clients/rest/docs/WorkflowRunsApi.md +572 -0
  211. data/lib/hatchet/clients/rest/docs/WorkflowRunsCancelRequest.md +18 -0
  212. data/lib/hatchet/clients/rest/docs/WorkflowRunsMetrics.md +18 -0
  213. data/lib/hatchet/clients/rest/docs/WorkflowRunsMetricsCounts.md +28 -0
  214. data/lib/hatchet/clients/rest/docs/WorkflowTag.md +20 -0
  215. data/lib/hatchet/clients/rest/docs/WorkflowTriggerCronRef.md +20 -0
  216. data/lib/hatchet/clients/rest/docs/WorkflowTriggerEventRef.md +20 -0
  217. data/lib/hatchet/clients/rest/docs/WorkflowTriggers.md +26 -0
  218. data/lib/hatchet/clients/rest/docs/WorkflowUpdateRequest.md +18 -0
  219. data/lib/hatchet/clients/rest/docs/WorkflowVersion.md +40 -0
  220. data/lib/hatchet/clients/rest/docs/WorkflowVersionDefinition.md +18 -0
  221. data/lib/hatchet/clients/rest/docs/WorkflowVersionMeta.md +26 -0
  222. data/lib/hatchet/clients/rest/docs/WorkflowWorkersCount.md +22 -0
  223. data/lib/hatchet/clients/rest/git_push.sh +57 -0
  224. data/lib/hatchet/clients/rest/hatchet-sdk-rest.gemspec +41 -0
  225. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/api_token_api.rb +242 -0
  226. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/default_api.rb +622 -0
  227. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/event_api.rb +836 -0
  228. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/filter_api.rb +449 -0
  229. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/github_api.rb +107 -0
  230. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/healthcheck_api.rb +132 -0
  231. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/log_api.rb +182 -0
  232. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/metadata_api.rb +193 -0
  233. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/rate_limits_api.rb +108 -0
  234. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/slack_api.rb +164 -0
  235. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/sns_api.rb +242 -0
  236. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/step_run_api.rb +615 -0
  237. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/task_api.rb +599 -0
  238. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/tenant_api.rb +1327 -0
  239. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/user_api.rb +729 -0
  240. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/worker_api.rb +246 -0
  241. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/workflow_api.rb +1654 -0
  242. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/workflow_run_api.rb +540 -0
  243. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/workflow_runs_api.rb +614 -0
  244. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api_client.rb +437 -0
  245. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api_error.rb +58 -0
  246. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/configuration.rb +399 -0
  247. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/accept_invite_request.rb +255 -0
  248. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_error.rb +268 -0
  249. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_errors.rb +239 -0
  250. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_meta.rb +279 -0
  251. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_meta_auth.rb +223 -0
  252. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_meta_integration.rb +265 -0
  253. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_meta_posthog.rb +231 -0
  254. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_resource_meta.rb +310 -0
  255. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_token.rb +300 -0
  256. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/bulk_create_event_request.rb +239 -0
  257. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/cancel_event_request.rb +239 -0
  258. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/concurrency_limit_strategy.rb +42 -0
  259. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_api_token_request.rb +257 -0
  260. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_api_token_response.rb +238 -0
  261. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_cron_workflow_trigger_request.rb +352 -0
  262. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_event_request.rb +295 -0
  263. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_pull_request_from_step_run.rb +237 -0
  264. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_sns_integration_request.rb +238 -0
  265. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_tenant_alert_email_group_request.rb +240 -0
  266. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_tenant_invite_request.rb +287 -0
  267. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_tenant_request.rb +307 -0
  268. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/cron_workflows.rb +509 -0
  269. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/cron_workflows_list.rb +231 -0
  270. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/cron_workflows_method.rb +40 -0
  271. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/cron_workflows_order_by_field.rb +40 -0
  272. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event.rb +321 -0
  273. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_data.rb +238 -0
  274. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_key_list.rb +231 -0
  275. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_list.rb +231 -0
  276. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_order_by_direction.rb +40 -0
  277. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_order_by_field.rb +39 -0
  278. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_update_cancel200_response.rb +222 -0
  279. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_workflow_run_summary.rb +271 -0
  280. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/events.rb +266 -0
  281. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/get_step_run_diff_response.rb +239 -0
  282. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/info_get_version200_response.rb +237 -0
  283. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/job.rb +363 -0
  284. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/job_run.rb +464 -0
  285. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/job_run_status.rb +44 -0
  286. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/list_api_tokens_response.rb +231 -0
  287. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/list_pull_requests_response.rb +239 -0
  288. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/list_slack_webhooks.rb +265 -0
  289. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/list_sns_integrations.rb +265 -0
  290. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/log_line.rb +292 -0
  291. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/log_line_level.rb +42 -0
  292. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/log_line_list.rb +231 -0
  293. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/log_line_order_by_direction.rb +40 -0
  294. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/log_line_order_by_field.rb +39 -0
  295. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/pagination_response.rb +241 -0
  296. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/pull_request.rb +441 -0
  297. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/pull_request_state.rb +40 -0
  298. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/queue_metrics.rb +292 -0
  299. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rate_limit.rb +373 -0
  300. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rate_limit_list.rb +231 -0
  301. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rate_limit_order_by_direction.rb +40 -0
  302. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rate_limit_order_by_field.rb +41 -0
  303. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/recent_step_runs.rb +365 -0
  304. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/reject_invite_request.rb +255 -0
  305. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/replay_event_request.rb +239 -0
  306. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/replay_workflow_runs_request.rb +239 -0
  307. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/replay_workflow_runs_response.rb +239 -0
  308. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rerun_step_run_request.rb +237 -0
  309. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/schedule_workflow_run_request.rb +326 -0
  310. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/scheduled_run_status.rb +45 -0
  311. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/scheduled_workflows.rb +538 -0
  312. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/scheduled_workflows_list.rb +231 -0
  313. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/scheduled_workflows_method.rb +40 -0
  314. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/scheduled_workflows_order_by_field.rb +40 -0
  315. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/semaphore_slots.rb +343 -0
  316. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/slack_webhook.rb +372 -0
  317. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/sns_integration.rb +301 -0
  318. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step.rb +374 -0
  319. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run.rb +556 -0
  320. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_archive.rb +432 -0
  321. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_archive_list.rb +231 -0
  322. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_diff.rb +289 -0
  323. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_event.rb +442 -0
  324. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_event_list.rb +231 -0
  325. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_event_reason.rb +55 -0
  326. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_event_severity.rb +41 -0
  327. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_status.rb +47 -0
  328. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant.rb +370 -0
  329. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_alert_email_group.rb +266 -0
  330. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_alert_email_group_list.rb +231 -0
  331. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_alerting_settings.rb +314 -0
  332. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_invite.rb +377 -0
  333. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_invite_list.rb +231 -0
  334. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_list.rb +231 -0
  335. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_member.rb +323 -0
  336. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_member_list.rb +231 -0
  337. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_member_role.rb +41 -0
  338. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_queue_metrics.rb +243 -0
  339. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_resource.rb +45 -0
  340. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_resource_limit.rb +370 -0
  341. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_resource_policy.rb +240 -0
  342. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_step_run_queue_metrics.rb +220 -0
  343. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_ui_version.rb +40 -0
  344. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_version.rb +40 -0
  345. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/trigger_workflow_run_request.rb +246 -0
  346. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/update_tenant_alert_email_group_request.rb +240 -0
  347. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/update_tenant_invite_request.rb +260 -0
  348. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/update_tenant_request.rb +323 -0
  349. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/update_worker_request.rb +221 -0
  350. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user.rb +321 -0
  351. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user_change_password_request.rb +265 -0
  352. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user_login_request.rb +265 -0
  353. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user_register_request.rb +292 -0
  354. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user_tenant_memberships_list.rb +231 -0
  355. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user_tenant_public.rb +248 -0
  356. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_cancel_task_request.rb +232 -0
  357. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_cancelled_tasks.rb +223 -0
  358. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_create_filter_request.rb +320 -0
  359. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_dag_children.rb +231 -0
  360. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_event.rb +380 -0
  361. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_event_list.rb +231 -0
  362. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_event_triggered_run.rb +266 -0
  363. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_event_workflow_run_summary.rb +346 -0
  364. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_filter.rb +390 -0
  365. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_filter_list.rb +231 -0
  366. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_log_line.rb +344 -0
  367. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_log_line_level.rb +42 -0
  368. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_log_line_list.rb +231 -0
  369. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_replay_task_request.rb +232 -0
  370. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_replayed_tasks.rb +223 -0
  371. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_event.rb +419 -0
  372. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_event_list.rb +231 -0
  373. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_event_type.rb +58 -0
  374. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_filter.rb +279 -0
  375. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_point_metric.rb +289 -0
  376. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_point_metrics.rb +222 -0
  377. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_run_metric.rb +285 -0
  378. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_run_status.rb +43 -0
  379. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_status.rb +43 -0
  380. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_summary.rb +812 -0
  381. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_summary_list.rb +266 -0
  382. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_timing.rb +581 -0
  383. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_timing_list.rb +266 -0
  384. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_trigger_workflow_run_request.rb +283 -0
  385. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_update_filter_request.rb +241 -0
  386. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_run.rb +544 -0
  387. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_run_details.rb +331 -0
  388. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_run_display_name.rb +263 -0
  389. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_run_display_name_list.rb +266 -0
  390. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_type.rb +40 -0
  391. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker.rb +291 -0
  392. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_create_request.rb +294 -0
  393. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_create_response.rb +220 -0
  394. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_created.rb +318 -0
  395. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_list_response.rb +231 -0
  396. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_request.rb +314 -0
  397. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_request_list_response.rb +223 -0
  398. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_request_method.rb +41 -0
  399. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker.rb +489 -0
  400. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_label.rb +274 -0
  401. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_list.rb +231 -0
  402. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_runtime_info.rb +278 -0
  403. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_runtime_sdks.rb +41 -0
  404. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_type.rb +41 -0
  405. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow.rb +346 -0
  406. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_concurrency.rb +314 -0
  407. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_kind.rb +41 -0
  408. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_list.rb +240 -0
  409. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_metrics.rb +231 -0
  410. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run.rb +524 -0
  411. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_list.rb +231 -0
  412. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_order_by_direction.rb +40 -0
  413. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_order_by_field.rb +42 -0
  414. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_shape.rb +533 -0
  415. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_shape_item_for_workflow_run_details.rb +353 -0
  416. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_status.rb +45 -0
  417. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_triggered_by.rb +273 -0
  418. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_runs_cancel_request.rb +239 -0
  419. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_runs_metrics.rb +220 -0
  420. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_runs_metrics_counts.rb +265 -0
  421. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_tag.rb +265 -0
  422. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_trigger_cron_ref.rb +229 -0
  423. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_trigger_event_ref.rb +229 -0
  424. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_triggers.rb +260 -0
  425. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_update_request.rb +221 -0
  426. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_version.rb +392 -0
  427. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_version_definition.rb +238 -0
  428. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_version_meta.rb +325 -0
  429. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_workers_count.rb +238 -0
  430. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/version.rb +15 -0
  431. data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest.rb +241 -0
  432. data/lib/hatchet/clients/rest/spec/spec_helper.rb +111 -0
  433. data/lib/hatchet/clients/rest.rb +126 -0
  434. data/lib/hatchet/clients.rb +71 -0
  435. data/lib/hatchet/config.rb +7 -7
  436. data/lib/hatchet/features/events.rb +265 -0
  437. data/lib/hatchet/features/runs.rb +423 -0
  438. data/lib/hatchet/version.rb +1 -1
  439. data/lib/hatchet-sdk.rb +21 -0
  440. data/scripts/generate.sh +167 -0
  441. data/scripts/generate_api.rb +174 -0
  442. data/sig/hatchet-sdk.rbs +425 -3
  443. metadata +490 -1
@@ -0,0 +1,126 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ require 'fileutils'
5
+ require 'rbconfig'
6
+
7
+ # Integration file for generated Hatchet REST API client
8
+ # This file loads the generated REST client and makes it available under the Hatchet::Clients::Rest namespace
9
+
10
+ begin
11
+ # Set up load paths for the generated client
12
+ rest_lib_path = File.expand_path("rest/lib", __dir__)
13
+ $LOAD_PATH.unshift(rest_lib_path) unless $LOAD_PATH.include?(rest_lib_path)
14
+
15
+ # Create an alias so hatchet-sdk-rest/ paths resolve to the actual location
16
+ # This is a bit of a hack, but necessary because the generator expects gem-style paths
17
+ hatchet_sdk_rest_base = File.expand_path("rest/lib/hatchet-sdk-rest", __dir__)
18
+ $LOAD_PATH.unshift(hatchet_sdk_rest_base) unless $LOAD_PATH.include?(hatchet_sdk_rest_base)
19
+
20
+ # Create a symlink in the load path to make hatchet-sdk-rest/ paths work
21
+ fake_gem_path = File.expand_path("rest/lib/hatchet-sdk-rest/hatchet-sdk-rest", __dir__)
22
+ unless File.exist?(fake_gem_path)
23
+ FileUtils.mkdir_p(File.dirname(fake_gem_path))
24
+ # On Unix systems, create a symlink; on Windows, copy the files
25
+ if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
26
+ require 'fileutils'
27
+ FileUtils.cp_r(hatchet_sdk_rest_base, fake_gem_path)
28
+ else
29
+ File.symlink(hatchet_sdk_rest_base, fake_gem_path)
30
+ end
31
+ end
32
+
33
+ # Load the generated REST client
34
+ require_relative "rest/lib/hatchet-sdk-rest"
35
+
36
+ # The generated client creates classes under HatchetSdkRest module
37
+ # We need to alias them to our desired namespace structure
38
+ module Hatchet
39
+ module Clients
40
+ module Rest
41
+ # Re-export the main classes from the generated client
42
+ ApiClient = ::HatchetSdkRest::ApiClient
43
+ ApiError = ::HatchetSdkRest::ApiError
44
+
45
+ # Enhanced Configuration class with Hatchet integration
46
+ class Configuration < ::HatchetSdkRest::Configuration
47
+ # Create a Configuration instance from a Hatchet::Config
48
+ #
49
+ # @param hatchet_config [Hatchet::Config] The main Hatchet configuration
50
+ # @return [Configuration] Configured REST client configuration
51
+ def self.from_hatchet_config(hatchet_config)
52
+ config = new
53
+ config.access_token = hatchet_config.token
54
+
55
+ # Extract host from server_url
56
+ if hatchet_config.server_url && !hatchet_config.server_url.empty?
57
+ config.host = hatchet_config.server_url.gsub(/^https?:\/\//, '').split('/').first
58
+ config.scheme = hatchet_config.server_url.start_with?('https') ? 'https' : 'http'
59
+ end
60
+
61
+ # Set timeout if available
62
+ if hatchet_config.listener_v2_timeout
63
+ config.timeout = hatchet_config.listener_v2_timeout / 1000.0 # Convert ms to seconds
64
+ end
65
+
66
+ config
67
+ end
68
+ end
69
+
70
+ # Re-export API classes
71
+ WorkflowApi = ::HatchetSdkRest::WorkflowApi
72
+ EventApi = ::HatchetSdkRest::EventApi
73
+ StepRunApi = ::HatchetSdkRest::StepRunApi
74
+ WorkflowRunApi = ::HatchetSdkRest::WorkflowRunApi
75
+ WorkflowRunsApi = ::HatchetSdkRest::WorkflowRunsApi
76
+ TenantApi = ::HatchetSdkRest::TenantApi
77
+ UserApi = ::HatchetSdkRest::UserApi
78
+ WorkerApi = ::HatchetSdkRest::WorkerApi
79
+
80
+ # Re-export commonly used model classes
81
+ CreateEventRequest = ::HatchetSdkRest::CreateEventRequest
82
+ Event = ::HatchetSdkRest::Event
83
+
84
+ # Add more API classes and models as needed - you can extend this list
85
+ # with any other generated API classes or models you want to expose
86
+ end
87
+ end
88
+ end
89
+
90
+ rescue LoadError => e
91
+ # If the generated client files are not available, define an empty module
92
+ # This allows the main SDK to load without errors even before generation
93
+ warn "REST client not fully loaded: #{e.message}" if ENV["DEBUG"]
94
+
95
+ module Hatchet
96
+ module Clients
97
+ module Rest
98
+ # Placeholder classes that will raise helpful errors
99
+ class ApiClient
100
+ def initialize(*)
101
+ raise LoadError, "REST client not generated. Run `rake api:generate` to generate it."
102
+ end
103
+ end
104
+
105
+ class Configuration
106
+ def self.from_hatchet_config(*)
107
+ raise LoadError, "REST client not generated. Run `rake api:generate` to generate it."
108
+ end
109
+ end
110
+
111
+ # Placeholder model classes
112
+ class CreateEventRequest
113
+ def initialize(*)
114
+ raise LoadError, "REST client not generated. Run `rake api:generate` to generate it."
115
+ end
116
+ end
117
+
118
+ class Event
119
+ def initialize(*)
120
+ raise LoadError, "REST client not generated. Run `rake api:generate` to generate it."
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Hatchet clients module
5
+ # This module provides access to different client types (REST, gRPC, etc.)
6
+
7
+ module Hatchet
8
+ # Client implementations for different protocols
9
+ module Clients
10
+ # Load REST client if available
11
+ begin
12
+ require_relative "clients/rest"
13
+ rescue LoadError
14
+ # REST client not generated yet - this is expected initially
15
+ # Run `rake api:generate` to generate the REST client
16
+ end
17
+
18
+ # Factory methods for creating pre-configured clients
19
+ class << self
20
+ # Create a REST API client using the provided Hatchet configuration
21
+ #
22
+ # @param config [Hatchet::Config] The main Hatchet configuration
23
+ # @return [Hatchet::Clients::Rest::ApiClient] Configured REST API client
24
+ # @raise [LoadError] if REST client hasn't been generated yet
25
+ #
26
+ # @example Create a REST client
27
+ # config = Hatchet::Config.new(token: "your-jwt-token")
28
+ # rest_client = Hatchet::Clients.rest_client(config)
29
+ # workflows_api = Hatchet::Clients::Rest::WorkflowApi.new(rest_client)
30
+ def rest_client(config)
31
+ unless rest_available?
32
+ raise LoadError, "REST client not available. Run `rake api:generate` to generate it from the OpenAPI spec."
33
+ end
34
+
35
+ rest_config = Rest::Configuration.from_hatchet_config(config)
36
+ Rest::ApiClient.new(rest_config)
37
+ end
38
+
39
+ # Check if REST client is available
40
+ #
41
+ # @return [Boolean] true if REST client has been generated and is available
42
+ def rest_available?
43
+ return false unless defined?(Hatchet::Clients::Rest)
44
+
45
+ # Check if this is the real implementation or just the placeholder
46
+ # The placeholder Configuration.from_hatchet_config raises LoadError
47
+ begin
48
+ # Try to access a method that should exist in the real implementation
49
+ # If it's the placeholder, this will raise LoadError
50
+ Hatchet::Clients::Rest::Configuration.method(:from_hatchet_config)
51
+
52
+ # Try creating a dummy configuration to ensure the real client is loaded
53
+ dummy_config = Struct.new(:token, :server_url, :listener_v2_timeout).new("test", "", nil)
54
+ Hatchet::Clients::Rest::Configuration.from_hatchet_config(dummy_config)
55
+ true
56
+ rescue LoadError
57
+ false
58
+ end
59
+ end
60
+
61
+ # List available client types
62
+ #
63
+ # @return [Array<Symbol>] List of available client types
64
+ def available_clients
65
+ clients = []
66
+ clients << :rest if rest_available?
67
+ clients
68
+ end
69
+ end
70
+ end
71
+ end
@@ -149,7 +149,6 @@ module Hatchet
149
149
  # host_port: "localhost:7070",
150
150
  # server_url: "https://api.hatchet.com",
151
151
  # namespace: "production",
152
- # tenant_id: "custom-tenant",
153
152
  # worker_preset_labels: { "env" => "prod", "region" => "us-east-1" }
154
153
  # )
155
154
  #
@@ -200,12 +199,14 @@ module Hatchet
200
199
  # @return [HealthcheckConfig] Healthcheck configuration
201
200
  # @!attribute otel
202
201
  # @return [OpenTelemetryConfig] OpenTelemetry configuration
203
- attr_accessor :token, :tenant_id, :host_port, :server_url, :namespace,
202
+ attr_accessor :token, :host_port, :server_url, :namespace,
204
203
  :logger, :listener_v2_timeout, :grpc_max_recv_message_length,
205
204
  :grpc_max_send_message_length, :worker_preset_labels,
206
205
  :enable_force_kill_sync_threads, :enable_thread_pool_monitoring,
207
206
  :terminate_worker_after_num_tasks, :disable_log_capture,
208
207
  :grpc_enable_fork_support, :tls_config, :healthcheck, :otel
208
+
209
+ attr_reader :tenant_id
209
210
 
210
211
  # Initialize a new configuration instance
211
212
  #
@@ -217,7 +218,6 @@ module Hatchet
217
218
  #
218
219
  # @param options [Hash] Configuration options
219
220
  # @option options [String] :token JWT token for authentication (required)
220
- # @option options [String] :tenant_id Override tenant ID (extracted from JWT 'sub' field if not provided)
221
221
  # @option options [String] :host_port gRPC server host and port (default: "localhost:7070")
222
222
  # @option options [String] :server_url Server URL for HTTP requests (default: "https://app.dev.hatchet-tools.com")
223
223
  # @option options [String] :namespace Namespace prefix for resource names (default: "")
@@ -241,7 +241,6 @@ module Hatchet
241
241
  @explicitly_set = options.keys.to_set
242
242
 
243
243
  @token = options[:token] || env_var("HATCHET_CLIENT_TOKEN") || ""
244
- @tenant_id = options[:tenant_id] || env_var("HATCHET_CLIENT_TENANT_ID") || ""
245
244
  @host_port = options[:host_port] || env_var("HATCHET_CLIENT_HOST_PORT") || DEFAULT_HOST_PORT
246
245
  @server_url = options[:server_url] || env_var("HATCHET_CLIENT_SERVER_URL") || DEFAULT_SERVER_URL
247
246
  @namespace = options[:namespace] || env_var("HATCHET_CLIENT_NAMESPACE") || ""
@@ -285,6 +284,9 @@ module Hatchet
285
284
  @healthcheck = options[:healthcheck] || HealthcheckConfig.new
286
285
  @otel = options[:otel] || OpenTelemetryConfig.new
287
286
 
287
+ # Initialize tenant_id from JWT token
288
+ @tenant_id = ""
289
+
288
290
  validate!
289
291
  apply_token_defaults if valid_jwt_token?
290
292
  apply_address_defaults if valid_jwt_token?
@@ -335,7 +337,6 @@ module Hatchet
335
337
  def to_h
336
338
  {
337
339
  token: token,
338
- tenant_id: tenant_id,
339
340
  host_port: host_port,
340
341
  server_url: server_url,
341
342
  namespace: namespace,
@@ -358,8 +359,7 @@ module Hatchet
358
359
  end
359
360
 
360
361
  def apply_token_defaults
361
- return unless tenant_id.empty?
362
-
362
+ # tenant_id is only set from JWT token, not from environment variables or parameters
363
363
  extracted_tenant_id = extract_tenant_id_from_jwt
364
364
  @tenant_id = extracted_tenant_id || ""
365
365
  end
@@ -0,0 +1,265 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'time'
4
+
5
+ module Hatchet
6
+ module Features
7
+ # Events client for interacting with Hatchet event management API
8
+ #
9
+ # This class provides a high-level interface for creating and managing events
10
+ # in the Hatchet system. It wraps the generated REST API client with a more
11
+ # convenient Ruby interface.
12
+ #
13
+ # @example Creating an event
14
+ # response = events.push(
15
+ # key: "user-login",
16
+ # data: { user_id: 123, action: "login" },
17
+ # additional_metadata: { ip_address: "192.168.1.1" }
18
+ # )
19
+ #
20
+ # @since 0.1.0
21
+ class Events
22
+ # Re-export commonly used event classes for convenience
23
+ CreateEventRequest = ::HatchetSdkRest::CreateEventRequest
24
+ BulkCreateEventRequest = ::HatchetSdkRest::BulkCreateEventRequest
25
+ EventList = ::HatchetSdkRest::V1EventList
26
+
27
+ # Initializes a new Events client instance
28
+ #
29
+ # @param rest_client [Object] The configured REST client for API communication
30
+ # @param config [Hatchet::Config] The Hatchet configuration containing tenant_id and other settings
31
+ # @return [void]
32
+ # @since 0.1.0
33
+ def initialize(rest_client, config)
34
+ @rest_client = rest_client
35
+ @config = config
36
+ @event_api = HatchetSdkRest::EventApi.new(rest_client)
37
+ end
38
+
39
+ # Creates a new event in the Hatchet system
40
+ #
41
+ # This method sends an event creation request to the Hatchet API using the
42
+ # configured tenant ID. The event will be processed and made available for
43
+ # workflow triggers and event-driven automation.
44
+ #
45
+ # @param key [String] The event key/name
46
+ # @param data [Hash] The event payload data
47
+ # @param additional_metadata [Hash, nil] Additional metadata for the event
48
+ # @param priority [Integer, nil] Event priority
49
+ # @param scope [String, nil] The scope for event filtering
50
+ # @param namespace [String, nil] Override namespace for this event
51
+ # @return [Object] The API response containing the created event details
52
+ # @raise [ArgumentError] If required parameters are missing
53
+ # @raise [Hatchet::Error] If the API request fails or returns an error
54
+ # @example Creating a simple event
55
+ # response = events.create(
56
+ # key: "user-login",
57
+ # data: { user_id: 123, action: "login" },
58
+ # additional_metadata: { ip_address: "192.168.1.1" }
59
+ # )
60
+ # @since 0.1.0
61
+ def create(key:, data:, additional_metadata: nil, priority: nil, scope: nil, namespace: nil)
62
+ event_key = apply_namespace(key, namespace)
63
+
64
+ event_request = HatchetSdkRest::CreateEventRequest.new(
65
+ key: event_key,
66
+ data: data,
67
+ additional_metadata: additional_metadata,
68
+ priority: priority,
69
+ scope: scope
70
+ )
71
+
72
+ @event_api.event_create(@config.tenant_id, event_request)
73
+ end
74
+
75
+ # Push a single event to Hatchet
76
+ #
77
+ # @param event_key [String] The event key/name
78
+ # @param payload [Hash] The event payload data
79
+ # @param additional_metadata [Hash, nil] Additional metadata for the event
80
+ # @param namespace [String, nil] Override namespace for this event
81
+ # @param priority [Integer, nil] Event priority
82
+ # @return [Object] The API response containing the created event details
83
+ # @raise [Hatchet::Error] If the API request fails or returns an error
84
+ # @example Push a simple event
85
+ # response = events.push(
86
+ # "user-signup",
87
+ # { user_id: 456, email: "user@example.com" },
88
+ # additional_metadata: { source: "web" }
89
+ # )
90
+ def push(event_key, payload, additional_metadata: nil, namespace: nil, priority: nil)
91
+ create(
92
+ key: event_key,
93
+ data: payload,
94
+ additional_metadata: additional_metadata,
95
+ priority: priority,
96
+ namespace: namespace
97
+ )
98
+ end
99
+
100
+ # Create events in bulk
101
+ #
102
+ # @param events [Array<Hash>] Array of event hashes, each containing :key, :data, and optionally :additional_metadata and :priority
103
+ # @param namespace [String, nil] Override namespace for all events
104
+ # @return [Object] The API response containing the created events
105
+ # @raise [Hatchet::Error] If the API request fails or returns an error
106
+ # @example Bulk create events
107
+ # events_data = [
108
+ # { key: "user-signup", data: { user_id: 1 } },
109
+ # { key: "user-login", data: { user_id: 1 }, priority: 1 }
110
+ # ]
111
+ # response = events.bulk_push(events_data)
112
+ def bulk_push(events, namespace: nil)
113
+ events_requests = events.map do |event|
114
+ event_key = apply_namespace(event[:key], namespace)
115
+
116
+ HatchetSdkRest::CreateEventRequest.new(
117
+ key: event_key,
118
+ data: event[:data] || {},
119
+ additional_metadata: event[:additional_metadata],
120
+ priority: event[:priority]
121
+ )
122
+ end
123
+
124
+ bulk_request = HatchetSdkRest::BulkCreateEventRequest.new(
125
+ events: events_requests
126
+ )
127
+
128
+ @event_api.event_create_bulk(@config.tenant_id, bulk_request)
129
+ end
130
+
131
+ # List events with filtering options
132
+ #
133
+ # @param offset [Integer, nil] Pagination offset
134
+ # @param limit [Integer, nil] Maximum number of events to return
135
+ # @param keys [Array<String>, nil] Filter by event keys
136
+ # @param since [Time, nil] Filter events after this time
137
+ # @param until_time [Time, nil] Filter events before this time
138
+ # @param workflow_ids [Array<String>, nil] Filter by workflow IDs
139
+ # @param workflow_run_statuses [Array<String>, nil] Filter by workflow run statuses
140
+ # @param event_ids [Array<String>, nil] Filter by specific event IDs
141
+ # @param additional_metadata [Hash<String, String>, nil] Filter by additional metadata
142
+ # @param scopes [Array<String>, nil] Filter by event scopes
143
+ # @return [HatchetSdkRest::V1EventList] List of events matching the filters
144
+ # @raise [Hatchet::Error] If the API request fails or returns an error
145
+ # @example List recent events
146
+ # events = events_client.list(
147
+ # limit: 10,
148
+ # since: Time.now - 24 * 60 * 60,
149
+ # keys: ["user-signup", "user-login"]
150
+ # )
151
+ def list(
152
+ offset: nil,
153
+ limit: nil,
154
+ keys: nil,
155
+ since: nil,
156
+ until_time: nil,
157
+ workflow_ids: nil,
158
+ workflow_run_statuses: nil,
159
+ event_ids: nil,
160
+ additional_metadata: nil,
161
+ scopes: nil
162
+ )
163
+ @event_api.v1_event_list(
164
+ @config.tenant_id,
165
+ {
166
+ offset: offset,
167
+ limit: limit,
168
+ keys: keys,
169
+ since: since&.utc&.iso8601,
170
+ until: until_time&.utc&.iso8601,
171
+ workflow_ids: workflow_ids,
172
+ workflow_run_statuses: workflow_run_statuses,
173
+ event_ids: event_ids,
174
+ additional_metadata: maybe_additional_metadata_to_kv(additional_metadata),
175
+ scopes: scopes
176
+ }
177
+ )
178
+ end
179
+
180
+ # Get a specific event by ID
181
+ #
182
+ # @param event_id [String] The event ID
183
+ # @return [Object] The event details
184
+ # @raise [Hatchet::Error] If the API request fails or returns an error
185
+ def get(event_id)
186
+ @event_api.event_get(event_id)
187
+ end
188
+
189
+ # Get event data for a specific event
190
+ #
191
+ # @param event_id [String] The event ID
192
+ # @return [Object] The event data
193
+ # @raise [Hatchet::Error] If the API request fails or returns an error
194
+ def get_data(event_id)
195
+ @event_api.event_data_get(event_id)
196
+ end
197
+
198
+ # List available event keys for the tenant
199
+ #
200
+ # @return [Object] List of available event keys
201
+ # @raise [Hatchet::Error] If the API request fails or returns an error
202
+ def list_keys
203
+ @event_api.v1_event_key_list(@config.tenant_id)
204
+ end
205
+
206
+ # Cancel events matching the given criteria
207
+ #
208
+ # @param event_ids [Array<String>, nil] Specific event IDs to cancel
209
+ # @param keys [Array<String>, nil] Event keys to cancel
210
+ # @param since [Time, nil] Cancel events after this time
211
+ # @param until_time [Time, nil] Cancel events before this time
212
+ # @return [Object] The cancellation response
213
+ # @raise [Hatchet::Error] If the API request fails or returns an error
214
+ def cancel(event_ids: nil, keys: nil, since: nil, until_time: nil)
215
+ cancel_request = HatchetSdkRest::CancelEventRequest.new(
216
+ event_ids: event_ids,
217
+ keys: keys,
218
+ since: since&.utc&.iso8601,
219
+ until: until_time&.utc&.iso8601
220
+ )
221
+
222
+ @event_api.event_update_cancel(@config.tenant_id, cancel_request)
223
+ end
224
+
225
+ # Replay events matching the given criteria
226
+ #
227
+ # @param event_ids [Array<String>, nil] Specific event IDs to replay
228
+ # @param keys [Array<String>, nil] Event keys to replay
229
+ # @param since [Time, nil] Replay events after this time
230
+ # @param until_time [Time, nil] Replay events before this time
231
+ # @return [Object] The replay response
232
+ # @raise [Hatchet::Error] If the API request fails or returns an error
233
+ def replay(event_ids: nil, keys: nil, since: nil, until_time: nil)
234
+ replay_request = HatchetSdkRest::ReplayEventRequest.new(
235
+ event_ids: event_ids,
236
+ keys: keys,
237
+ since: since&.utc&.iso8601,
238
+ until: until_time&.utc&.iso8601
239
+ )
240
+
241
+ @event_api.event_update_replay(@config.tenant_id, replay_request)
242
+ end
243
+
244
+ private
245
+
246
+ # Apply namespace to event key
247
+ #
248
+ # @param event_key [String] The original event key
249
+ # @param namespace_override [String, nil] Optional namespace override
250
+ # @return [String] The namespaced event key
251
+ def apply_namespace(event_key, namespace_override = nil)
252
+ @config.apply_namespace(event_key, namespace_override: namespace_override)
253
+ end
254
+
255
+ # Convert additional metadata hash to key-value array format expected by API
256
+ #
257
+ # @param metadata [Hash<String, String>, nil] Metadata hash
258
+ # @return [Array<Hash>, nil] Array of {key: string, value: string} objects
259
+ def maybe_additional_metadata_to_kv(metadata)
260
+ return nil unless metadata
261
+ metadata.map { |k, v| { key: k.to_s, value: v.to_s } }
262
+ end
263
+ end
264
+ end
265
+ end