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,174 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # Script to generate Ruby REST API client from OpenAPI specification
5
+ # Similar to the Python SDK's generate.sh script
6
+
7
+ require "fileutils"
8
+ require "json"
9
+ require "open3"
10
+
11
+ class ApiGenerator
12
+ OPENAPI_SPEC_PATH = "../../../../bin/oas/openapi.yaml"
13
+ GENERATOR_CONFIG_PATH = "../config/openapi_generator_config.json"
14
+ OUTPUT_DIR = "../lib/hatchet/clients/rest"
15
+ TEMP_DIR = "../tmp/openapi_generation"
16
+
17
+ def initialize
18
+ @root_dir = __dir__
19
+ @patches_applied = 0
20
+ end
21
+
22
+ def generate
23
+ puts "🚀 Starting Ruby REST API client generation..."
24
+
25
+ setup_directories
26
+ install_openapi_generator if needed
27
+ generate_client_code
28
+ apply_custom_patches
29
+ cleanup_temp_files
30
+
31
+ puts "✅ Ruby REST API client generation completed successfully!"
32
+ end
33
+
34
+ private
35
+
36
+ def setup_directories
37
+ puts "📁 Setting up directories..."
38
+ FileUtils.mkdir_p(OUTPUT_DIR)
39
+ FileUtils.mkdir_p(TEMP_DIR)
40
+ end
41
+
42
+ def install_openapi_generator
43
+ puts "🔧 Checking OpenAPI Generator installation..."
44
+
45
+ # Check if openapi-generator-cli is available
46
+ stdout, stderr, status = Open3.capture3("which openapi-generator-cli")
47
+
48
+ if status.success?
49
+ puts "✅ OpenAPI Generator CLI found"
50
+ else
51
+ puts "📦 Installing OpenAPI Generator CLI via npm..."
52
+ system("npm install -g @openapitools/openapi-generator-cli@7.13.0") ||
53
+ raise("Failed to install OpenAPI Generator CLI")
54
+ end
55
+ end
56
+
57
+ def generate_client_code
58
+ puts "🏗️ Generating Ruby client code from OpenAPI spec..."
59
+
60
+ openapi_spec = File.expand_path(OPENAPI_SPEC_PATH, @root_dir)
61
+ config_file = File.expand_path(GENERATOR_CONFIG_PATH, @root_dir)
62
+ output_path = File.expand_path(OUTPUT_DIR, @root_dir)
63
+
64
+ unless File.exist?(openapi_spec)
65
+ raise "OpenAPI spec not found at #{openapi_spec}"
66
+ end
67
+
68
+ unless File.exist?(config_file)
69
+ puts "⚠️ Config file not found at #{config_file}, using default configuration"
70
+ config_file = nil
71
+ else
72
+ puts "✅ Using config file: #{config_file}"
73
+ end
74
+
75
+ # Generate Ruby client using OpenAPI Generator
76
+ additional_props = build_additional_properties
77
+
78
+ cmd = [
79
+ "openapi-generator-cli", "generate",
80
+ "-i", openapi_spec,
81
+ "-g", "ruby",
82
+ "-o", output_path,
83
+ "--skip-validate-spec",
84
+ "--global-property", "apiTests=false,modelTests=false,apiDocs=true,modelDocs=true",
85
+ "--additional-properties", additional_props
86
+ ]
87
+
88
+ cmd += ["-c", config_file] if config_file
89
+
90
+ puts "Running: #{cmd.join(' ')}"
91
+ puts "Additional properties: #{additional_props}"
92
+ system(*cmd) || raise("Failed to generate Ruby client code")
93
+ end
94
+
95
+ def build_additional_properties
96
+ [
97
+ "gemName=hatchet-sdk-rest",
98
+ "moduleName=HatchetSdkRest",
99
+ "gemVersion=0.0.1",
100
+ "gemDescription=HatchetRubySDKRestClient",
101
+ "gemAuthor=HatchetTeam",
102
+ "gemHomepage=https://github.com/hatchet-dev/hatchet",
103
+ "gemLicense=MIT",
104
+ "library=faraday"
105
+ ].join(",")
106
+ end
107
+
108
+ def apply_custom_patches
109
+ puts "🔧 Applying custom patches..."
110
+
111
+ # Apply Ruby-specific patches here
112
+ patch_require_statements
113
+ patch_cookie_auth
114
+ end
115
+
116
+ def patch_require_statements
117
+ puts " 📝 Patching require statements..."
118
+
119
+ # Find all generated Ruby files and fix require statements
120
+ Dir.glob("#{OUTPUT_DIR}/**/*.rb").each do |file|
121
+ content = File.read(file)
122
+
123
+ # Update require paths to be relative to the gem structure
124
+ content.gsub!(/require ['"]hatchet-sdk-rest\//, "require 'hatchet/clients/rest/")
125
+
126
+ # Ensure consistent module naming
127
+ content.gsub!(/module HatchetSdkRest/, "module Hatchet\n module Clients\n module Rest")
128
+ content.gsub!(/^end$/, " end\n end\nend") if content.include?("module Hatchet")
129
+
130
+ File.write(file, content)
131
+ end
132
+ end
133
+
134
+ def patch_cookie_auth
135
+ puts " 🍪 Enhancing cookie auth..."
136
+ # find the auth_settings hash in the configuration.rb file
137
+ output_path = File.expand_path(OUTPUT_DIR, @root_dir)
138
+ config_file = File.join(output_path, "lib/hatchet-sdk-rest/configuration.rb")
139
+ if not File.exist?(config_file)
140
+ puts "config_file does not exist"
141
+ return false
142
+ end
143
+ content = File.read(config_file)
144
+
145
+ # Apply the fix - replace 'in: ,' with 'in: 'header','
146
+ if content.gsub!(/in:\s*,/, "in: 'header',")
147
+ puts " ✅ Successfully applied cookie auth patch"
148
+ File.write(config_file, content)
149
+ @patches_applied += 1
150
+ else
151
+ puts " ❌ Failed to apply cookie auth patch - no matches found"
152
+ end
153
+ end
154
+
155
+ def cleanup_temp_files
156
+ puts "🧹 Cleaning up temporary files..."
157
+ FileUtils.rm_rf(TEMP_DIR) if Dir.exist?(TEMP_DIR)
158
+ end
159
+
160
+ def needed
161
+ !system("which openapi-generator-cli > /dev/null 2>&1")
162
+ end
163
+ end
164
+
165
+ # Run the generator if this script is executed directly
166
+ if __FILE__ == $0
167
+ begin
168
+ ApiGenerator.new.generate
169
+ rescue => e
170
+ puts "❌ Generation failed: #{e.message}"
171
+ puts e.backtrace.join("\n") if ENV["DEBUG"]
172
+ exit 1
173
+ end
174
+ end
data/sig/hatchet-sdk.rbs CHANGED
@@ -1,3 +1,17 @@
1
+ # Standard library classes
2
+ class Logger
3
+ end
4
+
5
+ class Time
6
+ def self.now: () -> Time
7
+ def utc: () -> Time
8
+ def iso8601: () -> String
9
+ def -: (Numeric) -> Time
10
+ def >=: (Time) -> bool
11
+ end
12
+
13
+ type Numeric = Integer | Float
14
+
1
15
  module Hatchet
2
16
  VERSION: String
3
17
 
@@ -7,9 +21,28 @@ module Hatchet
7
21
  class Client
8
22
  attr_reader config: Config
9
23
 
24
+ def self.new: (
25
+ ?token: String,
26
+ ?host_port: String,
27
+ ?server_url: String,
28
+ ?namespace: String,
29
+ ?logger: Logger,
30
+ ?listener_v2_timeout: Integer,
31
+ ?grpc_max_recv_message_length: Integer,
32
+ ?grpc_max_send_message_length: Integer,
33
+ ?worker_preset_labels: Hash[String, String],
34
+ ?enable_force_kill_sync_threads: bool,
35
+ ?enable_thread_pool_monitoring: bool,
36
+ ?terminate_worker_after_num_tasks: Integer,
37
+ ?disable_log_capture: bool,
38
+ ?grpc_enable_fork_support: bool,
39
+ ?tls_config: TLSConfig,
40
+ ?healthcheck: HealthcheckConfig,
41
+ ?otel: OpenTelemetryConfig
42
+ ) -> instance
43
+
10
44
  def initialize: (
11
45
  ?token: String,
12
- ?tenant_id: String,
13
46
  ?host_port: String,
14
47
  ?server_url: String,
15
48
  ?namespace: String,
@@ -27,11 +60,15 @@ module Hatchet
27
60
  ?healthcheck: HealthcheckConfig,
28
61
  ?otel: OpenTelemetryConfig
29
62
  ) -> void
63
+
64
+ def rest_client: () -> untyped
65
+ def events: () -> Hatchet::Features::Events
66
+ def runs: () -> Hatchet::Features::Runs
30
67
  end
31
68
 
32
69
  class Config
33
70
  attr_accessor token: String
34
- attr_accessor tenant_id: String
71
+ attr_reader tenant_id: String
35
72
  attr_accessor host_port: String
36
73
  attr_accessor server_url: String
37
74
  attr_accessor namespace: String
@@ -49,9 +86,28 @@ module Hatchet
49
86
  attr_accessor healthcheck: HealthcheckConfig
50
87
  attr_accessor otel: OpenTelemetryConfig
51
88
 
89
+ def self.new: (
90
+ ?token: String,
91
+ ?host_port: String,
92
+ ?server_url: String,
93
+ ?namespace: String,
94
+ ?logger: Logger,
95
+ ?listener_v2_timeout: Integer,
96
+ ?grpc_max_recv_message_length: Integer,
97
+ ?grpc_max_send_message_length: Integer,
98
+ ?worker_preset_labels: Hash[String, String],
99
+ ?enable_force_kill_sync_threads: bool,
100
+ ?enable_thread_pool_monitoring: bool,
101
+ ?terminate_worker_after_num_tasks: Integer,
102
+ ?disable_log_capture: bool,
103
+ ?grpc_enable_fork_support: bool,
104
+ ?tls_config: TLSConfig,
105
+ ?healthcheck: HealthcheckConfig,
106
+ ?otel: OpenTelemetryConfig
107
+ ) -> instance
108
+
52
109
  def initialize: (
53
110
  ?token: String,
54
- ?tenant_id: String,
55
111
  ?host_port: String,
56
112
  ?server_url: String,
57
113
  ?namespace: String,
@@ -82,6 +138,14 @@ module Hatchet
82
138
  attr_accessor root_ca_file: String?
83
139
  attr_accessor server_name: String
84
140
 
141
+ def self.new: (
142
+ ?strategy: String,
143
+ ?cert_file: String,
144
+ ?key_file: String,
145
+ ?root_ca_file: String,
146
+ ?server_name: String
147
+ ) -> instance
148
+
85
149
  def initialize: (
86
150
  ?strategy: String,
87
151
  ?cert_file: String,
@@ -95,12 +159,370 @@ module Hatchet
95
159
  attr_accessor port: Integer
96
160
  attr_accessor enabled: bool
97
161
 
162
+ def self.new: (?port: Integer, ?enabled: bool) -> instance
98
163
  def initialize: (?port: Integer, ?enabled: bool) -> void
99
164
  end
100
165
 
101
166
  class OpenTelemetryConfig
102
167
  attr_accessor excluded_attributes: Array[String]
103
168
 
169
+ def self.new: (?excluded_attributes: Array[String]) -> instance
104
170
  def initialize: (?excluded_attributes: Array[String]) -> void
105
171
  end
172
+ end
173
+
174
+ module Hatchet
175
+ module Features
176
+ # Filter options for listing task runs
177
+ class RunFilter
178
+ attr_accessor since: Time
179
+ attr_accessor until_time: Time?
180
+ attr_accessor statuses: Array[untyped]?
181
+ attr_accessor workflow_ids: Array[String]?
182
+ attr_accessor additional_metadata: Hash[String, String]?
183
+
184
+ def initialize: (
185
+ since: Time,
186
+ ?until_time: Time?,
187
+ ?statuses: Array[untyped]?,
188
+ ?workflow_ids: Array[String]?,
189
+ ?additional_metadata: Hash[String, String]?
190
+ ) -> void
191
+ end
192
+
193
+ # Options for bulk cancel and replay operations
194
+ class BulkCancelReplayOpts
195
+ attr_accessor ids: Array[String]?
196
+ attr_accessor filters: RunFilter?
197
+
198
+ def initialize: (
199
+ ?ids: Array[String]?,
200
+ ?filters: RunFilter?
201
+ ) -> void
202
+
203
+ def v1_task_filter: () -> untyped?
204
+ def to_cancel_request: () -> untyped
205
+ def to_replay_request: () -> untyped
206
+ end
207
+
208
+ class Events
209
+ # Re-exported classes from HatchetSdkRest for convenience
210
+ CreateEventRequest: Class
211
+ BulkCreateEventRequest: Class
212
+ EventList: Class
213
+
214
+ def self.new: (untyped rest_client, Hatchet::Config config) -> instance
215
+ def initialize: (untyped rest_client, Hatchet::Config config) -> void
216
+
217
+ def create: (
218
+ key: String,
219
+ data: Hash[String, untyped],
220
+ ?additional_metadata: Hash[String, String]?,
221
+ ?priority: Integer?,
222
+ ?scope: String?,
223
+ ?namespace: String?
224
+ ) -> untyped
225
+
226
+ def push: (
227
+ String event_key,
228
+ Hash[String, untyped] payload,
229
+ ?additional_metadata: Hash[String, String]?,
230
+ ?namespace: String?,
231
+ ?priority: Integer?
232
+ ) -> untyped
233
+
234
+ def bulk_push: (
235
+ Array[Hash[Symbol, untyped]] events,
236
+ ?namespace: String?
237
+ ) -> untyped
238
+
239
+ def list: (
240
+ ?offset: Integer?,
241
+ ?limit: Integer?,
242
+ ?keys: Array[String]?,
243
+ ?since: Time?,
244
+ ?until_time: Time?,
245
+ ?workflow_ids: Array[String]?,
246
+ ?workflow_run_statuses: Array[String]?,
247
+ ?event_ids: Array[String]?,
248
+ ?additional_metadata: Hash[String, String]?,
249
+ ?scopes: Array[String]?
250
+ ) -> untyped
251
+
252
+ def get: (String event_id) -> untyped
253
+ def get_data: (String event_id) -> untyped
254
+ def list_keys: () -> untyped
255
+
256
+ def cancel: (
257
+ ?event_ids: Array[String]?,
258
+ ?keys: Array[String]?,
259
+ ?since: Time?,
260
+ ?until_time: Time?
261
+ ) -> untyped
262
+
263
+ def replay: (
264
+ ?event_ids: Array[String]?,
265
+ ?keys: Array[String]?,
266
+ ?since: Time?,
267
+ ?until_time: Time?
268
+ ) -> untyped
269
+ end
270
+
271
+ class Runs
272
+ # Re-exported classes from HatchetSdkRest for convenience
273
+ TriggerWorkflowRunRequest: Class
274
+ WorkflowRunDetails: Class
275
+ TaskSummary: Class
276
+ TaskSummaryList: Class
277
+ TaskStatus: Class
278
+
279
+ def self.new: (untyped rest_client, Hatchet::Config config) -> instance
280
+ def initialize: (untyped rest_client, Hatchet::Config config) -> void
281
+
282
+ def get_task_run: (String task_run_id) -> untyped
283
+ def get: (String workflow_run_id) -> untyped
284
+ def get_status: (String workflow_run_id) -> untyped
285
+
286
+ def list_with_pagination: (
287
+ ?since: Time?,
288
+ ?only_tasks: bool,
289
+ ?offset: Integer?,
290
+ ?limit: Integer?,
291
+ ?statuses: Array[untyped]?,
292
+ ?until_time: Time?,
293
+ ?additional_metadata: Hash[String, String]?,
294
+ ?workflow_ids: Array[String]?,
295
+ ?worker_id: String?,
296
+ ?parent_task_external_id: String?,
297
+ ?triggering_event_external_id: String?
298
+ ) -> Array[untyped]
299
+
300
+ def list: (
301
+ ?since: Time?,
302
+ ?only_tasks: bool,
303
+ ?offset: Integer?,
304
+ ?limit: Integer?,
305
+ ?statuses: Array[untyped]?,
306
+ ?until_time: Time?,
307
+ ?additional_metadata: Hash[String, String]?,
308
+ ?workflow_ids: Array[String]?,
309
+ ?worker_id: String?,
310
+ ?parent_task_external_id: String?,
311
+ ?triggering_event_external_id: String?
312
+ ) -> untyped
313
+
314
+ def create: (
315
+ name: String,
316
+ input: Hash[String, untyped],
317
+ ?additional_metadata: Hash[String, untyped]?,
318
+ ?priority: Integer?
319
+ ) -> untyped
320
+
321
+ def replay: (String run_id) -> void
322
+ def bulk_replay: (BulkCancelReplayOpts opts) -> void
323
+ def cancel: (String run_id) -> void
324
+ def bulk_cancel: (BulkCancelReplayOpts opts) -> void
325
+ def get_result: (String run_id) -> Hash[String, untyped]
326
+
327
+ def poll: (
328
+ String workflow_run_id,
329
+ ?interval: Numeric,
330
+ ?timeout: Numeric?
331
+ ) -> untyped
332
+ end
333
+ end
334
+ end
335
+
336
+ # External module from the generated REST client
337
+ module HatchetSdkRest
338
+ class CreateEventRequest
339
+ attr_accessor key: String?
340
+ attr_accessor data: Hash[String, untyped]?
341
+ attr_accessor additional_metadata: Hash[String, untyped]?
342
+ attr_accessor priority: Integer?
343
+ attr_accessor scope: String?
344
+
345
+ def self.new: (
346
+ ?key: String,
347
+ ?data: Hash[String, untyped],
348
+ ?additional_metadata: Hash[String, untyped],
349
+ ?priority: Integer,
350
+ ?scope: String
351
+ ) -> instance
352
+
353
+ def initialize: (
354
+ ?key: String,
355
+ ?data: Hash[String, untyped],
356
+ ?additional_metadata: Hash[String, untyped],
357
+ ?priority: Integer,
358
+ ?scope: String
359
+ ) -> void
360
+ end
361
+
362
+ class BulkCreateEventRequest
363
+ attr_accessor events: Array[CreateEventRequest]?
364
+
365
+ def self.new: (?events: Array[CreateEventRequest]) -> instance
366
+ def initialize: (?events: Array[CreateEventRequest]) -> void
367
+ end
368
+
369
+ class V1EventList
370
+ attr_accessor rows: Array[untyped]?
371
+ attr_accessor pagination: untyped?
372
+
373
+ def self.new: (?rows: Array[untyped], ?pagination: untyped) -> instance
374
+ def initialize: (?rows: Array[untyped], ?pagination: untyped) -> void
375
+ end
376
+
377
+ class CancelEventRequest
378
+ attr_accessor event_ids: Array[String]?
379
+ attr_accessor keys: Array[String]?
380
+ attr_accessor since: String?
381
+ attr_accessor until: String?
382
+
383
+ def self.new: (
384
+ ?event_ids: Array[String],
385
+ ?keys: Array[String],
386
+ ?since: String,
387
+ ?until: String
388
+ ) -> instance
389
+
390
+ def initialize: (
391
+ ?event_ids: Array[String],
392
+ ?keys: Array[String],
393
+ ?since: String,
394
+ ?until: String
395
+ ) -> void
396
+ end
397
+
398
+ class ReplayEventRequest
399
+ attr_accessor event_ids: Array[String]?
400
+ attr_accessor keys: Array[String]?
401
+ attr_accessor since: String?
402
+ attr_accessor until: String?
403
+
404
+ def self.new: (
405
+ ?event_ids: Array[String],
406
+ ?keys: Array[String],
407
+ ?since: String,
408
+ ?until: String
409
+ ) -> instance
410
+
411
+ def initialize: (
412
+ ?event_ids: Array[String],
413
+ ?keys: Array[String],
414
+ ?since: String,
415
+ ?until: String
416
+ ) -> void
417
+ end
418
+
419
+ class V1TaskFilter
420
+ attr_accessor since: String?
421
+ attr_accessor until: String?
422
+ attr_accessor statuses: Array[untyped]?
423
+ attr_accessor workflow_ids: Array[String]?
424
+ attr_accessor additional_metadata: Array[Hash[String, String]]?
425
+
426
+ def self.new: (
427
+ ?since: String,
428
+ ?until: String,
429
+ ?statuses: Array[untyped],
430
+ ?workflow_ids: Array[String],
431
+ ?additional_metadata: Array[Hash[String, String]]
432
+ ) -> instance
433
+
434
+ def initialize: (
435
+ ?since: String,
436
+ ?until: String,
437
+ ?statuses: Array[untyped],
438
+ ?workflow_ids: Array[String],
439
+ ?additional_metadata: Array[Hash[String, String]]
440
+ ) -> void
441
+ end
442
+
443
+ class V1CancelTaskRequest
444
+ attr_accessor external_ids: Array[String]?
445
+ attr_accessor filter: V1TaskFilter?
446
+
447
+ def self.new: (?external_ids: Array[String], ?filter: V1TaskFilter) -> instance
448
+ def initialize: (?external_ids: Array[String], ?filter: V1TaskFilter) -> void
449
+ end
450
+
451
+ class V1ReplayTaskRequest
452
+ attr_accessor external_ids: Array[String]?
453
+ attr_accessor filter: V1TaskFilter?
454
+
455
+ def self.new: (?external_ids: Array[String], ?filter: V1TaskFilter) -> instance
456
+ def initialize: (?external_ids: Array[String], ?filter: V1TaskFilter) -> void
457
+ end
458
+
459
+ class V1TriggerWorkflowRunRequest
460
+ attr_accessor workflow_name: String?
461
+ attr_accessor input: Hash[String, untyped]?
462
+ attr_accessor additional_metadata: Hash[String, untyped]?
463
+ attr_accessor priority: Integer?
464
+
465
+ def self.new: (
466
+ ?workflow_name: String,
467
+ ?input: Hash[String, untyped],
468
+ ?additional_metadata: Hash[String, untyped],
469
+ ?priority: Integer
470
+ ) -> instance
471
+
472
+ def initialize: (
473
+ ?workflow_name: String,
474
+ ?input: Hash[String, untyped],
475
+ ?additional_metadata: Hash[String, untyped],
476
+ ?priority: Integer
477
+ ) -> void
478
+ end
479
+
480
+ class V1WorkflowRunDetails
481
+ attr_accessor run: untyped?
482
+
483
+ def self.new: (?run: untyped) -> instance
484
+ def initialize: (?run: untyped) -> void
485
+ end
486
+
487
+ class V1TaskSummary
488
+ attr_accessor metadata: untyped?
489
+ attr_accessor created_at: Time?
490
+
491
+ def self.new: (?metadata: untyped, ?created_at: Time) -> instance
492
+ def initialize: (?metadata: untyped, ?created_at: Time) -> void
493
+ end
494
+
495
+ class V1TaskSummaryList
496
+ attr_accessor rows: Array[V1TaskSummary]?
497
+
498
+ def self.new: (?rows: Array[V1TaskSummary]) -> instance
499
+ def initialize: (?rows: Array[V1TaskSummary]) -> void
500
+ end
501
+
502
+ class V1TaskStatus
503
+ def self.COMPLETED: () -> String
504
+ def self.CANCELLED: () -> String
505
+ def self.FAILED: () -> String
506
+ end
507
+
508
+ class WorkflowRunStatus
509
+ def self.SUCCEEDED: () -> String
510
+ def self.FAILED: () -> String
511
+ def self.CANCELLED: () -> String
512
+ end
513
+
514
+ class EventApi
515
+ def self.new: (untyped api_client) -> instance
516
+ def initialize: (untyped api_client) -> void
517
+ end
518
+
519
+ class WorkflowRunsApi
520
+ def self.new: (untyped api_client) -> instance
521
+ def initialize: (untyped api_client) -> void
522
+ end
523
+
524
+ class TaskApi
525
+ def self.new: (untyped api_client) -> instance
526
+ def initialize: (untyped api_client) -> void
527
+ end
106
528
  end