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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -2
- data/CLAUDE.md +20 -0
- data/INTEGRATION_TESTING.md +176 -0
- data/LICENSE.txt +1 -1
- data/REST_API_GENERATION.md +257 -0
- data/Rakefile +9 -0
- data/Rakefile.rest +133 -0
- data/config/openapi_generator_config.json +31 -0
- data/lib/hatchet/clients/rest/.gitignore +39 -0
- data/lib/hatchet/clients/rest/.gitlab-ci.yml +26 -0
- data/lib/hatchet/clients/rest/.openapi-generator/FILES +420 -0
- data/lib/hatchet/clients/rest/.openapi-generator/VERSION +1 -0
- data/lib/hatchet/clients/rest/.openapi-generator-ignore +23 -0
- data/lib/hatchet/clients/rest/.rspec +2 -0
- data/lib/hatchet/clients/rest/.rubocop.yml +148 -0
- data/lib/hatchet/clients/rest/.travis.yml +11 -0
- data/lib/hatchet/clients/rest/Gemfile +9 -0
- data/lib/hatchet/clients/rest/README.md +420 -0
- data/lib/hatchet/clients/rest/Rakefile +10 -0
- data/lib/hatchet/clients/rest/docs/APIError.md +24 -0
- data/lib/hatchet/clients/rest/docs/APIErrors.md +18 -0
- data/lib/hatchet/clients/rest/docs/APIMeta.md +30 -0
- data/lib/hatchet/clients/rest/docs/APIMetaAuth.md +18 -0
- data/lib/hatchet/clients/rest/docs/APIMetaIntegration.md +20 -0
- data/lib/hatchet/clients/rest/docs/APIMetaPosthog.md +20 -0
- data/lib/hatchet/clients/rest/docs/APIResourceMeta.md +22 -0
- data/lib/hatchet/clients/rest/docs/APIToken.md +22 -0
- data/lib/hatchet/clients/rest/docs/APITokenApi.md +235 -0
- data/lib/hatchet/clients/rest/docs/AcceptInviteRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/BulkCreateEventRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/CancelEventRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/ConcurrencyLimitStrategy.md +15 -0
- data/lib/hatchet/clients/rest/docs/CreateAPITokenRequest.md +20 -0
- data/lib/hatchet/clients/rest/docs/CreateAPITokenResponse.md +18 -0
- data/lib/hatchet/clients/rest/docs/CreateCronWorkflowTriggerRequest.md +26 -0
- data/lib/hatchet/clients/rest/docs/CreateEventRequest.md +26 -0
- data/lib/hatchet/clients/rest/docs/CreatePullRequestFromStepRun.md +18 -0
- data/lib/hatchet/clients/rest/docs/CreateSNSIntegrationRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/CreateTenantAlertEmailGroupRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/CreateTenantInviteRequest.md +20 -0
- data/lib/hatchet/clients/rest/docs/CreateTenantRequest.md +24 -0
- data/lib/hatchet/clients/rest/docs/CronWorkflows.md +40 -0
- data/lib/hatchet/clients/rest/docs/CronWorkflowsList.md +20 -0
- data/lib/hatchet/clients/rest/docs/CronWorkflowsMethod.md +15 -0
- data/lib/hatchet/clients/rest/docs/CronWorkflowsOrderByField.md +15 -0
- data/lib/hatchet/clients/rest/docs/DefaultApi.md +602 -0
- data/lib/hatchet/clients/rest/docs/Event.md +28 -0
- data/lib/hatchet/clients/rest/docs/EventApi.md +809 -0
- data/lib/hatchet/clients/rest/docs/EventData.md +18 -0
- data/lib/hatchet/clients/rest/docs/EventKeyList.md +20 -0
- data/lib/hatchet/clients/rest/docs/EventList.md +20 -0
- data/lib/hatchet/clients/rest/docs/EventOrderByDirection.md +15 -0
- data/lib/hatchet/clients/rest/docs/EventOrderByField.md +15 -0
- data/lib/hatchet/clients/rest/docs/EventUpdateCancel200Response.md +18 -0
- data/lib/hatchet/clients/rest/docs/EventWorkflowRunSummary.md +28 -0
- data/lib/hatchet/clients/rest/docs/Events.md +20 -0
- data/lib/hatchet/clients/rest/docs/FilterApi.md +402 -0
- data/lib/hatchet/clients/rest/docs/GetStepRunDiffResponse.md +18 -0
- data/lib/hatchet/clients/rest/docs/GithubApi.md +73 -0
- data/lib/hatchet/clients/rest/docs/HealthcheckApi.md +129 -0
- data/lib/hatchet/clients/rest/docs/InfoGetVersion200Response.md +18 -0
- data/lib/hatchet/clients/rest/docs/Job.md +30 -0
- data/lib/hatchet/clients/rest/docs/JobRun.md +48 -0
- data/lib/hatchet/clients/rest/docs/JobRunStatus.md +15 -0
- data/lib/hatchet/clients/rest/docs/ListAPITokensResponse.md +20 -0
- data/lib/hatchet/clients/rest/docs/ListPullRequestsResponse.md +18 -0
- data/lib/hatchet/clients/rest/docs/ListSNSIntegrations.md +20 -0
- data/lib/hatchet/clients/rest/docs/ListSlackWebhooks.md +20 -0
- data/lib/hatchet/clients/rest/docs/LogApi.md +171 -0
- data/lib/hatchet/clients/rest/docs/LogLine.md +22 -0
- data/lib/hatchet/clients/rest/docs/LogLineLevel.md +15 -0
- data/lib/hatchet/clients/rest/docs/LogLineList.md +20 -0
- data/lib/hatchet/clients/rest/docs/LogLineOrderByDirection.md +15 -0
- data/lib/hatchet/clients/rest/docs/LogLineOrderByField.md +15 -0
- data/lib/hatchet/clients/rest/docs/MetadataApi.md +203 -0
- data/lib/hatchet/clients/rest/docs/PaginationResponse.md +22 -0
- data/lib/hatchet/clients/rest/docs/PullRequest.md +32 -0
- data/lib/hatchet/clients/rest/docs/PullRequestState.md +15 -0
- data/lib/hatchet/clients/rest/docs/QueueMetrics.md +22 -0
- data/lib/hatchet/clients/rest/docs/RateLimit.md +28 -0
- data/lib/hatchet/clients/rest/docs/RateLimitList.md +20 -0
- data/lib/hatchet/clients/rest/docs/RateLimitOrderByDirection.md +15 -0
- data/lib/hatchet/clients/rest/docs/RateLimitOrderByField.md +15 -0
- data/lib/hatchet/clients/rest/docs/RateLimitsApi.md +94 -0
- data/lib/hatchet/clients/rest/docs/RecentStepRuns.md +30 -0
- data/lib/hatchet/clients/rest/docs/RejectInviteRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/ReplayEventRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/ReplayWorkflowRunsRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/ReplayWorkflowRunsResponse.md +18 -0
- data/lib/hatchet/clients/rest/docs/RerunStepRunRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/SNSApi.md +235 -0
- data/lib/hatchet/clients/rest/docs/SNSIntegration.md +24 -0
- data/lib/hatchet/clients/rest/docs/ScheduleWorkflowRunRequest.md +24 -0
- data/lib/hatchet/clients/rest/docs/ScheduledRunStatus.md +15 -0
- data/lib/hatchet/clients/rest/docs/ScheduledWorkflows.md +44 -0
- data/lib/hatchet/clients/rest/docs/ScheduledWorkflowsList.md +20 -0
- data/lib/hatchet/clients/rest/docs/ScheduledWorkflowsMethod.md +15 -0
- data/lib/hatchet/clients/rest/docs/ScheduledWorkflowsOrderByField.md +15 -0
- data/lib/hatchet/clients/rest/docs/SemaphoreSlots.md +28 -0
- data/lib/hatchet/clients/rest/docs/SlackApi.md +156 -0
- data/lib/hatchet/clients/rest/docs/SlackWebhook.md +28 -0
- data/lib/hatchet/clients/rest/docs/Step.md +32 -0
- data/lib/hatchet/clients/rest/docs/StepRun.md +68 -0
- data/lib/hatchet/clients/rest/docs/StepRunApi.md +560 -0
- data/lib/hatchet/clients/rest/docs/StepRunArchive.md +50 -0
- data/lib/hatchet/clients/rest/docs/StepRunArchiveList.md +20 -0
- data/lib/hatchet/clients/rest/docs/StepRunDiff.md +22 -0
- data/lib/hatchet/clients/rest/docs/StepRunEvent.md +36 -0
- data/lib/hatchet/clients/rest/docs/StepRunEventList.md +20 -0
- data/lib/hatchet/clients/rest/docs/StepRunEventReason.md +15 -0
- data/lib/hatchet/clients/rest/docs/StepRunEventSeverity.md +15 -0
- data/lib/hatchet/clients/rest/docs/StepRunStatus.md +15 -0
- data/lib/hatchet/clients/rest/docs/TaskApi.md +566 -0
- data/lib/hatchet/clients/rest/docs/Tenant.md +30 -0
- data/lib/hatchet/clients/rest/docs/TenantAlertEmailGroup.md +20 -0
- data/lib/hatchet/clients/rest/docs/TenantAlertEmailGroupList.md +20 -0
- data/lib/hatchet/clients/rest/docs/TenantAlertingSettings.md +30 -0
- data/lib/hatchet/clients/rest/docs/TenantApi.md +1362 -0
- data/lib/hatchet/clients/rest/docs/TenantInvite.md +28 -0
- data/lib/hatchet/clients/rest/docs/TenantInviteList.md +20 -0
- data/lib/hatchet/clients/rest/docs/TenantList.md +20 -0
- data/lib/hatchet/clients/rest/docs/TenantMember.md +24 -0
- data/lib/hatchet/clients/rest/docs/TenantMemberList.md +20 -0
- data/lib/hatchet/clients/rest/docs/TenantMemberRole.md +15 -0
- data/lib/hatchet/clients/rest/docs/TenantQueueMetrics.md +22 -0
- data/lib/hatchet/clients/rest/docs/TenantResource.md +15 -0
- data/lib/hatchet/clients/rest/docs/TenantResourceLimit.md +30 -0
- data/lib/hatchet/clients/rest/docs/TenantResourcePolicy.md +18 -0
- data/lib/hatchet/clients/rest/docs/TenantStepRunQueueMetrics.md +18 -0
- data/lib/hatchet/clients/rest/docs/TenantUIVersion.md +15 -0
- data/lib/hatchet/clients/rest/docs/TenantVersion.md +15 -0
- data/lib/hatchet/clients/rest/docs/TriggerWorkflowRunRequest.md +20 -0
- data/lib/hatchet/clients/rest/docs/UpdateTenantAlertEmailGroupRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/UpdateTenantInviteRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/UpdateTenantRequest.md +34 -0
- data/lib/hatchet/clients/rest/docs/UpdateWorkerRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/User.md +28 -0
- data/lib/hatchet/clients/rest/docs/UserApi.md +805 -0
- data/lib/hatchet/clients/rest/docs/UserChangePasswordRequest.md +20 -0
- data/lib/hatchet/clients/rest/docs/UserLoginRequest.md +20 -0
- data/lib/hatchet/clients/rest/docs/UserRegisterRequest.md +22 -0
- data/lib/hatchet/clients/rest/docs/UserTenantMembershipsList.md +20 -0
- data/lib/hatchet/clients/rest/docs/UserTenantPublic.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1CancelTaskRequest.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1CancelledTasks.md +18 -0
- data/lib/hatchet/clients/rest/docs/V1CreateFilterRequest.md +24 -0
- data/lib/hatchet/clients/rest/docs/V1DagChildren.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1Event.md +36 -0
- data/lib/hatchet/clients/rest/docs/V1EventList.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1EventTriggeredRun.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1EventWorkflowRunSummary.md +26 -0
- data/lib/hatchet/clients/rest/docs/V1Filter.md +28 -0
- data/lib/hatchet/clients/rest/docs/V1FilterList.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1LogLine.md +28 -0
- data/lib/hatchet/clients/rest/docs/V1LogLineLevel.md +15 -0
- data/lib/hatchet/clients/rest/docs/V1LogLineList.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1ReplayTaskRequest.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1ReplayedTasks.md +18 -0
- data/lib/hatchet/clients/rest/docs/V1TaskEvent.md +38 -0
- data/lib/hatchet/clients/rest/docs/V1TaskEventList.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1TaskEventType.md +15 -0
- data/lib/hatchet/clients/rest/docs/V1TaskFilter.md +26 -0
- data/lib/hatchet/clients/rest/docs/V1TaskPointMetric.md +22 -0
- data/lib/hatchet/clients/rest/docs/V1TaskPointMetrics.md +18 -0
- data/lib/hatchet/clients/rest/docs/V1TaskRunMetric.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1TaskRunStatus.md +15 -0
- data/lib/hatchet/clients/rest/docs/V1TaskStatus.md +15 -0
- data/lib/hatchet/clients/rest/docs/V1TaskSummary.md +72 -0
- data/lib/hatchet/clients/rest/docs/V1TaskSummaryList.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1TaskTiming.md +46 -0
- data/lib/hatchet/clients/rest/docs/V1TaskTimingList.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1TriggerWorkflowRunRequest.md +24 -0
- data/lib/hatchet/clients/rest/docs/V1UpdateFilterRequest.md +22 -0
- data/lib/hatchet/clients/rest/docs/V1WorkflowRun.md +46 -0
- data/lib/hatchet/clients/rest/docs/V1WorkflowRunDetails.md +26 -0
- data/lib/hatchet/clients/rest/docs/V1WorkflowRunDisplayName.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1WorkflowRunDisplayNameList.md +20 -0
- data/lib/hatchet/clients/rest/docs/V1WorkflowType.md +15 -0
- data/lib/hatchet/clients/rest/docs/WebhookWorker.md +22 -0
- data/lib/hatchet/clients/rest/docs/WebhookWorkerCreateRequest.md +22 -0
- data/lib/hatchet/clients/rest/docs/WebhookWorkerCreateResponse.md +18 -0
- data/lib/hatchet/clients/rest/docs/WebhookWorkerCreated.md +24 -0
- data/lib/hatchet/clients/rest/docs/WebhookWorkerListResponse.md +20 -0
- data/lib/hatchet/clients/rest/docs/WebhookWorkerRequest.md +22 -0
- data/lib/hatchet/clients/rest/docs/WebhookWorkerRequestListResponse.md +18 -0
- data/lib/hatchet/clients/rest/docs/WebhookWorkerRequestMethod.md +15 -0
- data/lib/hatchet/clients/rest/docs/Worker.md +48 -0
- data/lib/hatchet/clients/rest/docs/WorkerApi.md +234 -0
- data/lib/hatchet/clients/rest/docs/WorkerLabel.md +22 -0
- data/lib/hatchet/clients/rest/docs/WorkerList.md +20 -0
- data/lib/hatchet/clients/rest/docs/WorkerRuntimeInfo.md +26 -0
- data/lib/hatchet/clients/rest/docs/WorkerRuntimeSDKs.md +15 -0
- data/lib/hatchet/clients/rest/docs/WorkerType.md +15 -0
- data/lib/hatchet/clients/rest/docs/Workflow.md +32 -0
- data/lib/hatchet/clients/rest/docs/WorkflowApi.md +1480 -0
- data/lib/hatchet/clients/rest/docs/WorkflowConcurrency.md +22 -0
- data/lib/hatchet/clients/rest/docs/WorkflowKind.md +15 -0
- data/lib/hatchet/clients/rest/docs/WorkflowList.md +22 -0
- data/lib/hatchet/clients/rest/docs/WorkflowMetrics.md +20 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRun.md +48 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunApi.md +477 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunList.md +20 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunOrderByDirection.md +15 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunOrderByField.md +15 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunShape.md +50 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunShapeItemForWorkflowRunDetails.md +24 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunStatus.md +15 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunTriggeredBy.md +26 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunsApi.md +572 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunsCancelRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunsMetrics.md +18 -0
- data/lib/hatchet/clients/rest/docs/WorkflowRunsMetricsCounts.md +28 -0
- data/lib/hatchet/clients/rest/docs/WorkflowTag.md +20 -0
- data/lib/hatchet/clients/rest/docs/WorkflowTriggerCronRef.md +20 -0
- data/lib/hatchet/clients/rest/docs/WorkflowTriggerEventRef.md +20 -0
- data/lib/hatchet/clients/rest/docs/WorkflowTriggers.md +26 -0
- data/lib/hatchet/clients/rest/docs/WorkflowUpdateRequest.md +18 -0
- data/lib/hatchet/clients/rest/docs/WorkflowVersion.md +40 -0
- data/lib/hatchet/clients/rest/docs/WorkflowVersionDefinition.md +18 -0
- data/lib/hatchet/clients/rest/docs/WorkflowVersionMeta.md +26 -0
- data/lib/hatchet/clients/rest/docs/WorkflowWorkersCount.md +22 -0
- data/lib/hatchet/clients/rest/git_push.sh +57 -0
- data/lib/hatchet/clients/rest/hatchet-sdk-rest.gemspec +41 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/api_token_api.rb +242 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/default_api.rb +622 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/event_api.rb +836 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/filter_api.rb +449 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/github_api.rb +107 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/healthcheck_api.rb +132 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/log_api.rb +182 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/metadata_api.rb +193 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/rate_limits_api.rb +108 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/slack_api.rb +164 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/sns_api.rb +242 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/step_run_api.rb +615 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/task_api.rb +599 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/tenant_api.rb +1327 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/user_api.rb +729 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/worker_api.rb +246 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/workflow_api.rb +1654 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/workflow_run_api.rb +540 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api/workflow_runs_api.rb +614 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api_client.rb +437 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/api_error.rb +58 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/configuration.rb +399 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/accept_invite_request.rb +255 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_error.rb +268 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_errors.rb +239 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_meta.rb +279 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_meta_auth.rb +223 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_meta_integration.rb +265 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_meta_posthog.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_resource_meta.rb +310 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/api_token.rb +300 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/bulk_create_event_request.rb +239 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/cancel_event_request.rb +239 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/concurrency_limit_strategy.rb +42 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_api_token_request.rb +257 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_api_token_response.rb +238 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_cron_workflow_trigger_request.rb +352 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_event_request.rb +295 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_pull_request_from_step_run.rb +237 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_sns_integration_request.rb +238 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_tenant_alert_email_group_request.rb +240 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_tenant_invite_request.rb +287 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/create_tenant_request.rb +307 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/cron_workflows.rb +509 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/cron_workflows_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/cron_workflows_method.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/cron_workflows_order_by_field.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event.rb +321 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_data.rb +238 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_key_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_order_by_direction.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_order_by_field.rb +39 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_update_cancel200_response.rb +222 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/event_workflow_run_summary.rb +271 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/events.rb +266 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/get_step_run_diff_response.rb +239 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/info_get_version200_response.rb +237 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/job.rb +363 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/job_run.rb +464 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/job_run_status.rb +44 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/list_api_tokens_response.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/list_pull_requests_response.rb +239 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/list_slack_webhooks.rb +265 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/list_sns_integrations.rb +265 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/log_line.rb +292 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/log_line_level.rb +42 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/log_line_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/log_line_order_by_direction.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/log_line_order_by_field.rb +39 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/pagination_response.rb +241 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/pull_request.rb +441 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/pull_request_state.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/queue_metrics.rb +292 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rate_limit.rb +373 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rate_limit_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rate_limit_order_by_direction.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rate_limit_order_by_field.rb +41 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/recent_step_runs.rb +365 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/reject_invite_request.rb +255 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/replay_event_request.rb +239 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/replay_workflow_runs_request.rb +239 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/replay_workflow_runs_response.rb +239 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/rerun_step_run_request.rb +237 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/schedule_workflow_run_request.rb +326 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/scheduled_run_status.rb +45 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/scheduled_workflows.rb +538 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/scheduled_workflows_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/scheduled_workflows_method.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/scheduled_workflows_order_by_field.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/semaphore_slots.rb +343 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/slack_webhook.rb +372 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/sns_integration.rb +301 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step.rb +374 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run.rb +556 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_archive.rb +432 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_archive_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_diff.rb +289 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_event.rb +442 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_event_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_event_reason.rb +55 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_event_severity.rb +41 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/step_run_status.rb +47 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant.rb +370 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_alert_email_group.rb +266 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_alert_email_group_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_alerting_settings.rb +314 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_invite.rb +377 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_invite_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_member.rb +323 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_member_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_member_role.rb +41 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_queue_metrics.rb +243 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_resource.rb +45 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_resource_limit.rb +370 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_resource_policy.rb +240 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_step_run_queue_metrics.rb +220 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_ui_version.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/tenant_version.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/trigger_workflow_run_request.rb +246 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/update_tenant_alert_email_group_request.rb +240 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/update_tenant_invite_request.rb +260 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/update_tenant_request.rb +323 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/update_worker_request.rb +221 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user.rb +321 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user_change_password_request.rb +265 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user_login_request.rb +265 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user_register_request.rb +292 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user_tenant_memberships_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/user_tenant_public.rb +248 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_cancel_task_request.rb +232 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_cancelled_tasks.rb +223 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_create_filter_request.rb +320 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_dag_children.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_event.rb +380 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_event_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_event_triggered_run.rb +266 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_event_workflow_run_summary.rb +346 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_filter.rb +390 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_filter_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_log_line.rb +344 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_log_line_level.rb +42 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_log_line_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_replay_task_request.rb +232 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_replayed_tasks.rb +223 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_event.rb +419 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_event_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_event_type.rb +58 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_filter.rb +279 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_point_metric.rb +289 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_point_metrics.rb +222 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_run_metric.rb +285 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_run_status.rb +43 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_status.rb +43 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_summary.rb +812 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_summary_list.rb +266 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_timing.rb +581 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_task_timing_list.rb +266 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_trigger_workflow_run_request.rb +283 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_update_filter_request.rb +241 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_run.rb +544 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_run_details.rb +331 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_run_display_name.rb +263 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_run_display_name_list.rb +266 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/v1_workflow_type.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker.rb +291 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_create_request.rb +294 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_create_response.rb +220 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_created.rb +318 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_list_response.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_request.rb +314 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_request_list_response.rb +223 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/webhook_worker_request_method.rb +41 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker.rb +489 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_label.rb +274 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_runtime_info.rb +278 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_runtime_sdks.rb +41 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/worker_type.rb +41 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow.rb +346 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_concurrency.rb +314 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_kind.rb +41 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_list.rb +240 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_metrics.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run.rb +524 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_list.rb +231 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_order_by_direction.rb +40 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_order_by_field.rb +42 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_shape.rb +533 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_shape_item_for_workflow_run_details.rb +353 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_status.rb +45 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_run_triggered_by.rb +273 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_runs_cancel_request.rb +239 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_runs_metrics.rb +220 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_runs_metrics_counts.rb +265 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_tag.rb +265 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_trigger_cron_ref.rb +229 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_trigger_event_ref.rb +229 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_triggers.rb +260 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_update_request.rb +221 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_version.rb +392 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_version_definition.rb +238 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_version_meta.rb +325 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/models/workflow_workers_count.rb +238 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest/version.rb +15 -0
- data/lib/hatchet/clients/rest/lib/hatchet-sdk-rest.rb +241 -0
- data/lib/hatchet/clients/rest/spec/spec_helper.rb +111 -0
- data/lib/hatchet/clients/rest.rb +126 -0
- data/lib/hatchet/clients.rb +71 -0
- data/lib/hatchet/config.rb +7 -7
- data/lib/hatchet/features/events.rb +265 -0
- data/lib/hatchet/features/runs.rb +423 -0
- data/lib/hatchet/version.rb +1 -1
- data/lib/hatchet-sdk.rb +21 -0
- data/scripts/generate.sh +167 -0
- data/scripts/generate_api.rb +174 -0
- data/sig/hatchet-sdk.rbs +425 -3
- 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
|
data/lib/hatchet/config.rb
CHANGED
|
@@ -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, :
|
|
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
|
-
|
|
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
|