# Workers ## Create a worker `client.Workers.New(ctx, body) (*Worker, error)` **post** `/api/workers` Create a new agent worker and start it with the supplied instruction. ### Parameters - `body WorkerNewParams` - `CreateWorker param.Field[CreateWorker]` ### Returns - `type Worker struct{…}` - `ID string` - `CreatedAt int64` - `Error any` - `Files []WorkerFile` - `Filename string` - `MediaType string` - `URL string` - `IncompleteDetails any` - `Messages []any` - `Metadata map[string, any]` - `Object WorkerObject` - `const WorkerObjectWorker WorkerObject = "worker"` - `Output []WorkerOutput` - `ID string` - `Content []WorkerOutputContent` - `Text string` - `Type string` - `const WorkerOutputContentTypeOutputText WorkerOutputContentType = "output_text"` - `Role string` - `const WorkerOutputRoleAssistant WorkerOutputRole = "assistant"` - `Status string` - `const WorkerOutputStatusCompleted WorkerOutputStatus = "completed"` - `Type string` - `const WorkerOutputTypeMessage WorkerOutputType = "message"` - `OutputText string` - `Running bool` - `Sources []WorkerSource` - `ID string` - `Title string` - `Type string` - `const WorkerSourceTypeURL WorkerSourceType = "url"` - `URL string` - `Status WorkerStatus` - `const WorkerStatusRunning WorkerStatus = "running"` - `const WorkerStatusCompleted WorkerStatus = "completed"` - `const WorkerStatusPending WorkerStatus = "pending"` - `Costs WorkerCosts` - `InternalCostUsd float64` - `ModelCostUsd float64` - `SandboxCostUsd float64` - `ToolCostUsd float64` - `Usage WorkerUsage` - `CacheReadTokens int64` - `CacheWriteTokens int64` - `CostUsd float64` - `InputTokens int64` - `OutputTokens int64` - `ReasoningTokens int64` - `Steps int64` - `TotalTokens int64` - `Credits int64` ### Example ```go package main import ( "context" "fmt" "github.com/Ramensoft/handinger-go" "github.com/Ramensoft/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) worker, err := client.Workers.New(context.TODO(), handinger.WorkerNewParams{ CreateWorker: handinger.CreateWorkerParam{ Input: "x", }, }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", worker.ID) } ``` #### Response ```json { "id": "id", "created_at": 0, "error": null, "files": [ { "filename": "filename", "mediaType": "mediaType", "url": "url" } ], "incomplete_details": null, "messages": [ {} ], "metadata": { "foo": "bar" }, "object": "worker", "output": [ { "id": "id", "content": [ { "text": "text", "type": "output_text" } ], "role": "assistant", "status": "completed", "type": "message" } ], "output_text": "output_text", "running": true, "sources": [ { "id": "id", "title": "title", "type": "url", "url": "url" } ], "status": "running", "costs": { "internalCostUsd": 0, "modelCostUsd": 0, "sandboxCostUsd": 0, "toolCostUsd": 0 }, "usage": { "cacheReadTokens": 0, "cacheWriteTokens": 0, "costUsd": 0, "inputTokens": 0, "outputTokens": 0, "reasoningTokens": 0, "steps": 0, "totalTokens": 0, "credits": 0 } } ``` ## Retrieve a worker `client.Workers.Get(ctx, workerID, query) (*Worker, error)` **get** `/api/workers/{workerId}` Retrieve the current worker state. Pass stream=true or request text/event-stream to subscribe to updates. ### Parameters - `workerID string` - `query WorkerGetParams` - `Stream param.Field[bool]` Return a server-sent event stream instead of JSON. ### Returns - `type Worker struct{…}` - `ID string` - `CreatedAt int64` - `Error any` - `Files []WorkerFile` - `Filename string` - `MediaType string` - `URL string` - `IncompleteDetails any` - `Messages []any` - `Metadata map[string, any]` - `Object WorkerObject` - `const WorkerObjectWorker WorkerObject = "worker"` - `Output []WorkerOutput` - `ID string` - `Content []WorkerOutputContent` - `Text string` - `Type string` - `const WorkerOutputContentTypeOutputText WorkerOutputContentType = "output_text"` - `Role string` - `const WorkerOutputRoleAssistant WorkerOutputRole = "assistant"` - `Status string` - `const WorkerOutputStatusCompleted WorkerOutputStatus = "completed"` - `Type string` - `const WorkerOutputTypeMessage WorkerOutputType = "message"` - `OutputText string` - `Running bool` - `Sources []WorkerSource` - `ID string` - `Title string` - `Type string` - `const WorkerSourceTypeURL WorkerSourceType = "url"` - `URL string` - `Status WorkerStatus` - `const WorkerStatusRunning WorkerStatus = "running"` - `const WorkerStatusCompleted WorkerStatus = "completed"` - `const WorkerStatusPending WorkerStatus = "pending"` - `Costs WorkerCosts` - `InternalCostUsd float64` - `ModelCostUsd float64` - `SandboxCostUsd float64` - `ToolCostUsd float64` - `Usage WorkerUsage` - `CacheReadTokens int64` - `CacheWriteTokens int64` - `CostUsd float64` - `InputTokens int64` - `OutputTokens int64` - `ReasoningTokens int64` - `Steps int64` - `TotalTokens int64` - `Credits int64` ### Example ```go package main import ( "context" "fmt" "github.com/Ramensoft/handinger-go" "github.com/Ramensoft/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) worker, err := client.Workers.Get( context.TODO(), "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM", handinger.WorkerGetParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", worker.ID) } ``` #### Response ```json { "id": "id", "created_at": 0, "error": null, "files": [ { "filename": "filename", "mediaType": "mediaType", "url": "url" } ], "incomplete_details": null, "messages": [ {} ], "metadata": { "foo": "bar" }, "object": "worker", "output": [ { "id": "id", "content": [ { "text": "text", "type": "output_text" } ], "role": "assistant", "status": "completed", "type": "message" } ], "output_text": "output_text", "running": true, "sources": [ { "id": "id", "title": "title", "type": "url", "url": "url" } ], "status": "running", "costs": { "internalCostUsd": 0, "modelCostUsd": 0, "sandboxCostUsd": 0, "toolCostUsd": 0 }, "usage": { "cacheReadTokens": 0, "cacheWriteTokens": 0, "costUsd": 0, "inputTokens": 0, "outputTokens": 0, "reasoningTokens": 0, "steps": 0, "totalTokens": 0, "credits": 0 } } ``` ## Continue a worker `client.Workers.Continue(ctx, workerID, body) (*Worker, error)` **post** `/api/workers/{workerId}` Send another instruction to an existing worker. ### Parameters - `workerID string` - `body WorkerContinueParams` - `CreateWorker param.Field[CreateWorker]` ### Returns - `type Worker struct{…}` - `ID string` - `CreatedAt int64` - `Error any` - `Files []WorkerFile` - `Filename string` - `MediaType string` - `URL string` - `IncompleteDetails any` - `Messages []any` - `Metadata map[string, any]` - `Object WorkerObject` - `const WorkerObjectWorker WorkerObject = "worker"` - `Output []WorkerOutput` - `ID string` - `Content []WorkerOutputContent` - `Text string` - `Type string` - `const WorkerOutputContentTypeOutputText WorkerOutputContentType = "output_text"` - `Role string` - `const WorkerOutputRoleAssistant WorkerOutputRole = "assistant"` - `Status string` - `const WorkerOutputStatusCompleted WorkerOutputStatus = "completed"` - `Type string` - `const WorkerOutputTypeMessage WorkerOutputType = "message"` - `OutputText string` - `Running bool` - `Sources []WorkerSource` - `ID string` - `Title string` - `Type string` - `const WorkerSourceTypeURL WorkerSourceType = "url"` - `URL string` - `Status WorkerStatus` - `const WorkerStatusRunning WorkerStatus = "running"` - `const WorkerStatusCompleted WorkerStatus = "completed"` - `const WorkerStatusPending WorkerStatus = "pending"` - `Costs WorkerCosts` - `InternalCostUsd float64` - `ModelCostUsd float64` - `SandboxCostUsd float64` - `ToolCostUsd float64` - `Usage WorkerUsage` - `CacheReadTokens int64` - `CacheWriteTokens int64` - `CostUsd float64` - `InputTokens int64` - `OutputTokens int64` - `ReasoningTokens int64` - `Steps int64` - `TotalTokens int64` - `Credits int64` ### Example ```go package main import ( "context" "fmt" "github.com/Ramensoft/handinger-go" "github.com/Ramensoft/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) worker, err := client.Workers.Continue( context.TODO(), "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM", handinger.WorkerContinueParams{ CreateWorker: handinger.CreateWorkerParam{ Input: "x", }, }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", worker.ID) } ``` #### Response ```json { "id": "id", "created_at": 0, "error": null, "files": [ { "filename": "filename", "mediaType": "mediaType", "url": "url" } ], "incomplete_details": null, "messages": [ {} ], "metadata": { "foo": "bar" }, "object": "worker", "output": [ { "id": "id", "content": [ { "text": "text", "type": "output_text" } ], "role": "assistant", "status": "completed", "type": "message" } ], "output_text": "output_text", "running": true, "sources": [ { "id": "id", "title": "title", "type": "url", "url": "url" } ], "status": "running", "costs": { "internalCostUsd": 0, "modelCostUsd": 0, "sandboxCostUsd": 0, "toolCostUsd": 0 }, "usage": { "cacheReadTokens": 0, "cacheWriteTokens": 0, "costUsd": 0, "inputTokens": 0, "outputTokens": 0, "reasoningTokens": 0, "steps": 0, "totalTokens": 0, "credits": 0 } } ``` ## Stream worker updates `client.Workers.StreamUpdates(ctx, workerID) (*string, error)` **get** `/api/workers/{workerId}/stream` Subscribe to a worker using server-sent events. ### Parameters - `workerID string` ### Returns - `type WorkerStreamUpdatesResponse string` ### Example ```go package main import ( "context" "fmt" "github.com/Ramensoft/handinger-go" "github.com/Ramensoft/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) stream := client.Workers.StreamUpdatesStreaming(context.TODO(), "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM") for stream.Next() { fmt.Printf("%+v\n", stream.Current()) } err := stream.Err() if err != nil { panic(err.Error()) } } ``` ## Retrieve a worker email address `client.Workers.GetEmail(ctx, workerID) (*string, error)` **get** `/api/workers/{workerId}/email` Retrieve the inbound email address for a worker. ### Parameters - `workerID string` ### Returns - `type WorkerGetEmailResponse string` ### Example ```go package main import ( "context" "fmt" "github.com/Ramensoft/handinger-go" "github.com/Ramensoft/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) response, err := client.Workers.GetEmail(context.TODO(), "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM") if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response) } ``` #### Response ```json "string" ``` ## Retrieve a worker file `client.Workers.GetFile(ctx, filePath, query) (*Response, error)` **get** `/api/workers/{workerId}/files/{filePath}` Retrieve a file published from a worker workspace. The runtime route accepts nested paths after /files/. ### Parameters - `filePath string` - `query WorkerGetFileParams` - `WorkerID param.Field[string]` Worker id returned by the create worker endpoint. ### Returns - `type WorkerGetFileResponse interface{…}` ### Example ```go package main import ( "context" "fmt" "github.com/Ramensoft/handinger-go" "github.com/Ramensoft/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) response, err := client.Workers.GetFile( context.TODO(), "scratchpad/plan.md", handinger.WorkerGetFileParams{ WorkerID: "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM", }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response) } ``` ## Domain Types ### Create Worker - `type CreateWorker struct{…}` - `Input string` - `Budget CreateWorkerBudget` - `const CreateWorkerBudgetLow CreateWorkerBudget = "low"` - `const CreateWorkerBudgetStandard CreateWorkerBudget = "standard"` - `const CreateWorkerBudgetHigh CreateWorkerBudget = "high"` - `const CreateWorkerBudgetUnlimited CreateWorkerBudget = "unlimited"` - `Stream bool` ### Worker - `type Worker struct{…}` - `ID string` - `CreatedAt int64` - `Error any` - `Files []WorkerFile` - `Filename string` - `MediaType string` - `URL string` - `IncompleteDetails any` - `Messages []any` - `Metadata map[string, any]` - `Object WorkerObject` - `const WorkerObjectWorker WorkerObject = "worker"` - `Output []WorkerOutput` - `ID string` - `Content []WorkerOutputContent` - `Text string` - `Type string` - `const WorkerOutputContentTypeOutputText WorkerOutputContentType = "output_text"` - `Role string` - `const WorkerOutputRoleAssistant WorkerOutputRole = "assistant"` - `Status string` - `const WorkerOutputStatusCompleted WorkerOutputStatus = "completed"` - `Type string` - `const WorkerOutputTypeMessage WorkerOutputType = "message"` - `OutputText string` - `Running bool` - `Sources []WorkerSource` - `ID string` - `Title string` - `Type string` - `const WorkerSourceTypeURL WorkerSourceType = "url"` - `URL string` - `Status WorkerStatus` - `const WorkerStatusRunning WorkerStatus = "running"` - `const WorkerStatusCompleted WorkerStatus = "completed"` - `const WorkerStatusPending WorkerStatus = "pending"` - `Costs WorkerCosts` - `InternalCostUsd float64` - `ModelCostUsd float64` - `SandboxCostUsd float64` - `ToolCostUsd float64` - `Usage WorkerUsage` - `CacheReadTokens int64` - `CacheWriteTokens int64` - `CostUsd float64` - `InputTokens int64` - `OutputTokens int64` - `ReasoningTokens int64` - `Steps int64` - `TotalTokens int64` - `Credits int64` # Schedules ## List worker schedules `client.Workers.Schedules.List(ctx, workerID) (*WorkerScheduleListResponse, error)` **get** `/api/workers/{workerId}/schedules` List scheduled tasks for a worker. ### Parameters - `workerID string` ### Returns - `type WorkerScheduleListResponse struct{…}` - `Schedules []WorkerScheduleUnion` - `type WorkerScheduleScheduled struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleScheduledBudgetLow WorkerScheduleScheduledBudget = "low"` - `const WorkerScheduleScheduledBudgetStandard WorkerScheduleScheduledBudget = "standard"` - `const WorkerScheduleScheduledBudgetHigh WorkerScheduleScheduledBudget = "high"` - `const WorkerScheduleScheduledBudgetUnlimited WorkerScheduleScheduledBudget = "unlimited"` - `Input string` - `NextRunAt Time` - `Type Scheduled` - `const ScheduledScheduled Scheduled = "scheduled"` - `type WorkerScheduleDelayed struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleDelayedBudgetLow WorkerScheduleDelayedBudget = "low"` - `const WorkerScheduleDelayedBudgetStandard WorkerScheduleDelayedBudget = "standard"` - `const WorkerScheduleDelayedBudgetHigh WorkerScheduleDelayedBudget = "high"` - `const WorkerScheduleDelayedBudgetUnlimited WorkerScheduleDelayedBudget = "unlimited"` - `DelayInSeconds int64` - `Input string` - `NextRunAt Time` - `Type Delayed` - `const DelayedDelayed Delayed = "delayed"` - `type WorkerScheduleCron struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleCronBudgetLow WorkerScheduleCronBudget = "low"` - `const WorkerScheduleCronBudgetStandard WorkerScheduleCronBudget = "standard"` - `const WorkerScheduleCronBudgetHigh WorkerScheduleCronBudget = "high"` - `const WorkerScheduleCronBudgetUnlimited WorkerScheduleCronBudget = "unlimited"` - `Cron string` - `Input string` - `NextRunAt Time` - `Type Cron` - `const CronCron Cron = "cron"` - `type WorkerScheduleInterval struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleIntervalBudgetLow WorkerScheduleIntervalBudget = "low"` - `const WorkerScheduleIntervalBudgetStandard WorkerScheduleIntervalBudget = "standard"` - `const WorkerScheduleIntervalBudgetHigh WorkerScheduleIntervalBudget = "high"` - `const WorkerScheduleIntervalBudgetUnlimited WorkerScheduleIntervalBudget = "unlimited"` - `Input string` - `IntervalSeconds int64` - `NextRunAt Time` - `Type Interval` - `const IntervalInterval Interval = "interval"` - `WorkerID string` ### Example ```go package main import ( "context" "fmt" "github.com/Ramensoft/handinger-go" "github.com/Ramensoft/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) schedules, err := client.Workers.Schedules.List(context.TODO(), "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM") if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", schedules.Schedules) } ``` #### Response ```json { "schedules": [ { "id": "id", "budget": "low", "input": "input", "nextRunAt": "2019-12-27T18:11:19.117Z", "type": "scheduled" } ], "workerId": "workerId" } ``` ## Create a worker schedule `client.Workers.Schedules.New(ctx, workerID, body) (*WorkerScheduleUnion, error)` **post** `/api/workers/{workerId}/schedules` Schedule a worker instruction for a future or recurring run. ### Parameters - `workerID string` - `body WorkerScheduleNewParams` - `Input param.Field[string]` - `When param.Field[WorkerScheduleNewParamsWhenUnion]` - `type WorkerScheduleNewParamsWhenScheduled struct{…}` - `Date Time` - `Type Scheduled` - `const ScheduledScheduled Scheduled = "scheduled"` - `type WorkerScheduleNewParamsWhenDelayed struct{…}` - `DelayInSeconds int64` - `Type Delayed` - `const DelayedDelayed Delayed = "delayed"` - `type WorkerScheduleNewParamsWhenCron struct{…}` - `Cron string` - `Type Cron` - `const CronCron Cron = "cron"` - `type WorkerScheduleNewParamsWhenInterval struct{…}` - `IntervalSeconds int64` - `Type Interval` - `const IntervalInterval Interval = "interval"` - `Budget param.Field[WorkerScheduleNewParamsBudget]` - `const WorkerScheduleNewParamsBudgetLow WorkerScheduleNewParamsBudget = "low"` - `const WorkerScheduleNewParamsBudgetStandard WorkerScheduleNewParamsBudget = "standard"` - `const WorkerScheduleNewParamsBudgetHigh WorkerScheduleNewParamsBudget = "high"` - `const WorkerScheduleNewParamsBudgetUnlimited WorkerScheduleNewParamsBudget = "unlimited"` ### Returns - `type WorkerScheduleUnion interface{…}` - `type WorkerScheduleScheduled struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleScheduledBudgetLow WorkerScheduleScheduledBudget = "low"` - `const WorkerScheduleScheduledBudgetStandard WorkerScheduleScheduledBudget = "standard"` - `const WorkerScheduleScheduledBudgetHigh WorkerScheduleScheduledBudget = "high"` - `const WorkerScheduleScheduledBudgetUnlimited WorkerScheduleScheduledBudget = "unlimited"` - `Input string` - `NextRunAt Time` - `Type Scheduled` - `const ScheduledScheduled Scheduled = "scheduled"` - `type WorkerScheduleDelayed struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleDelayedBudgetLow WorkerScheduleDelayedBudget = "low"` - `const WorkerScheduleDelayedBudgetStandard WorkerScheduleDelayedBudget = "standard"` - `const WorkerScheduleDelayedBudgetHigh WorkerScheduleDelayedBudget = "high"` - `const WorkerScheduleDelayedBudgetUnlimited WorkerScheduleDelayedBudget = "unlimited"` - `DelayInSeconds int64` - `Input string` - `NextRunAt Time` - `Type Delayed` - `const DelayedDelayed Delayed = "delayed"` - `type WorkerScheduleCron struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleCronBudgetLow WorkerScheduleCronBudget = "low"` - `const WorkerScheduleCronBudgetStandard WorkerScheduleCronBudget = "standard"` - `const WorkerScheduleCronBudgetHigh WorkerScheduleCronBudget = "high"` - `const WorkerScheduleCronBudgetUnlimited WorkerScheduleCronBudget = "unlimited"` - `Cron string` - `Input string` - `NextRunAt Time` - `Type Cron` - `const CronCron Cron = "cron"` - `type WorkerScheduleInterval struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleIntervalBudgetLow WorkerScheduleIntervalBudget = "low"` - `const WorkerScheduleIntervalBudgetStandard WorkerScheduleIntervalBudget = "standard"` - `const WorkerScheduleIntervalBudgetHigh WorkerScheduleIntervalBudget = "high"` - `const WorkerScheduleIntervalBudgetUnlimited WorkerScheduleIntervalBudget = "unlimited"` - `Input string` - `IntervalSeconds int64` - `NextRunAt Time` - `Type Interval` - `const IntervalInterval Interval = "interval"` ### Example ```go package main import ( "context" "fmt" "time" "github.com/Ramensoft/handinger-go" "github.com/Ramensoft/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) workerSchedule, err := client.Workers.Schedules.New( context.TODO(), "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM", handinger.WorkerScheduleNewParams{ Input: "x", When: handinger.WorkerScheduleNewParamsWhenUnion{ OfScheduled: &handinger.WorkerScheduleNewParamsWhenScheduled{ Date: time.Now(), }, }, }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", workerSchedule) } ``` #### Response ```json { "id": "id", "budget": "low", "input": "input", "nextRunAt": "2019-12-27T18:11:19.117Z", "type": "scheduled" } ``` ## Cancel a worker schedule `client.Workers.Schedules.Cancel(ctx, scheduleID, body) (*WorkerScheduleCancelResponse, error)` **delete** `/api/workers/{workerId}/schedules/{scheduleId}` Cancel a scheduled task for a worker. ### Parameters - `scheduleID string` - `body WorkerScheduleCancelParams` - `WorkerID param.Field[string]` Worker id returned by the create worker endpoint. ### Returns - `type WorkerScheduleCancelResponse struct{…}` - `Cancelled bool` ### Example ```go package main import ( "context" "fmt" "github.com/Ramensoft/handinger-go" "github.com/Ramensoft/handinger-go/option" ) func main() { client := handinger.NewClient( option.WithAPIKey("My API Key"), ) response, err := client.Workers.Schedules.Cancel( context.TODO(), "sch_01HZY31W2SZJ8MJ2FQTR3M1K9D", handinger.WorkerScheduleCancelParams{ WorkerID: "t_org_123_w_01HZY2ZJQ8G7K42W2D7WF6V4GM", }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Cancelled) } ``` #### Response ```json { "cancelled": true } ``` ## Domain Types ### Worker Schedule - `type WorkerScheduleUnion interface{…}` - `type WorkerScheduleScheduled struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleScheduledBudgetLow WorkerScheduleScheduledBudget = "low"` - `const WorkerScheduleScheduledBudgetStandard WorkerScheduleScheduledBudget = "standard"` - `const WorkerScheduleScheduledBudgetHigh WorkerScheduleScheduledBudget = "high"` - `const WorkerScheduleScheduledBudgetUnlimited WorkerScheduleScheduledBudget = "unlimited"` - `Input string` - `NextRunAt Time` - `Type Scheduled` - `const ScheduledScheduled Scheduled = "scheduled"` - `type WorkerScheduleDelayed struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleDelayedBudgetLow WorkerScheduleDelayedBudget = "low"` - `const WorkerScheduleDelayedBudgetStandard WorkerScheduleDelayedBudget = "standard"` - `const WorkerScheduleDelayedBudgetHigh WorkerScheduleDelayedBudget = "high"` - `const WorkerScheduleDelayedBudgetUnlimited WorkerScheduleDelayedBudget = "unlimited"` - `DelayInSeconds int64` - `Input string` - `NextRunAt Time` - `Type Delayed` - `const DelayedDelayed Delayed = "delayed"` - `type WorkerScheduleCron struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleCronBudgetLow WorkerScheduleCronBudget = "low"` - `const WorkerScheduleCronBudgetStandard WorkerScheduleCronBudget = "standard"` - `const WorkerScheduleCronBudgetHigh WorkerScheduleCronBudget = "high"` - `const WorkerScheduleCronBudgetUnlimited WorkerScheduleCronBudget = "unlimited"` - `Cron string` - `Input string` - `NextRunAt Time` - `Type Cron` - `const CronCron Cron = "cron"` - `type WorkerScheduleInterval struct{…}` - `ID string` - `Budget string` - `const WorkerScheduleIntervalBudgetLow WorkerScheduleIntervalBudget = "low"` - `const WorkerScheduleIntervalBudgetStandard WorkerScheduleIntervalBudget = "standard"` - `const WorkerScheduleIntervalBudgetHigh WorkerScheduleIntervalBudget = "high"` - `const WorkerScheduleIntervalBudgetUnlimited WorkerScheduleIntervalBudget = "unlimited"` - `Input string` - `IntervalSeconds int64` - `NextRunAt Time` - `Type Interval` - `const IntervalInterval Interval = "interval"`