Help us shape the future of Go! Take the 2026 Go Developer Survey

client

package
v0.19.1252 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 19, 2026 License: AGPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppendStepRequest added in v0.19.1024

type AppendStepRequest struct {
	// WorkflowID is the resident execute-workflow to append to.
	WorkflowID string
	// Name is the human-readable step/group name (e.g. the step label).
	Name string
	// Signal is the work to run for the appended step (e.g. an
	// actionworkflowrun signal for an appended step).
	Signal qsignal.Signal
	// ExecutionType / StepTargetType / Retryable / Skippable are the step
	// metadata the caller computes the same way installSignalStep does, so the
	// low-level flow package stays free of the installs signal taxonomy.
	ExecutionType  app.WorkflowStepExecutionType
	StepTargetType string
	// StepTargetID identifies the work the step drives (e.g. the action run id)
	// and doubles as the append idempotency key — a retry with the same id
	// returns the existing step instead of appending a duplicate.
	StepTargetID  string
	Retryable     bool
	Skippable     bool
	SkipOnFailure bool
}

AppendStepRequest is the input for appending a step to a resident workflow.

type AppendStepResponse added in v0.19.1024

type AppendStepResponse struct {
	WorkflowID string
	GroupID    string
	StepID     string
}

AppendStepResponse reports the freshly-created group and step IDs.

type ApprovePlanRequest

type ApprovePlanRequest struct {
	InstallWorkflowID  string
	StepID             string
	ApprovalResponseID string
	ResponseType       app.WorkflowStepResponseType
}

ApprovePlanRequest is the input for approving a plan on a workflow step.

type CancelGroupRequest

type CancelGroupRequest struct {
	InstallWorkflowID string
	// StepID is any step in the group to cancel.
	StepID string
}

CancelGroupRequest is the input for cancelling all steps in a group.

type CancelGroupResponse

type CancelGroupResponse struct {
	WorkflowID string `json:"workflow_id"`
}

CancelGroupResponse is the response from the cancel-group update.

type CancelStepRequest

type CancelStepRequest struct {
	InstallWorkflowID string
	StepID            string
}

CancelStepRequest is the input for cancelling a workflow step.

type CancelStepResponse

type CancelStepResponse struct {
	WorkflowID string `json:"workflow_id"`
}

CancelStepResponse is the response from the cancel-step update.

type CancelWorkflowRequest

type CancelWorkflowRequest struct {
	InstallWorkflowID string
}

CancelWorkflowRequest is the input for cancelling an entire workflow.

type CancelWorkflowResponse

type CancelWorkflowResponse struct {
	WorkflowID string `json:"workflow_id"`
}

CancelWorkflowResponse is the response from the cancel-workflow update.

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client provides methods for interacting with running flow workflows via Temporal update handlers. It is a direct Go client (not a Temporal activity) called from API handlers.

func New

func New(params Params) *Client

func (*Client) AppendStep added in v0.19.1024

func (c *Client) AppendStep(ctx context.Context, req *AppendStepRequest) (*AppendStepResponse, error)

AppendStep sends an "append-step" update to the resident execute-flow handler workflow for the given workflow. Uses update-with-start so the handler is (re)started if it has idled out, and waits for completion so the caller gets the created group/step IDs back.

func (*Client) ApprovePlan

func (c *Client) ApprovePlan(ctx context.Context, req *ApprovePlanRequest) error

ApprovePlan sends an "approve-step" update to the execute-flow handler workflow for the given install workflow. The execute-flow handler forwards the approval to the step's handler workflow.

func (*Client) CancelGroup

func (c *Client) CancelGroup(ctx context.Context, req *CancelGroupRequest) (*CancelGroupResponse, error)

CancelGroup sends a "cancel-group" update to the execute-flow handler workflow. This cancels all in-flight steps in the group containing the given step.

func (*Client) CancelStep

func (c *Client) CancelStep(ctx context.Context, req *CancelStepRequest) (*CancelStepResponse, error)

CancelStep sends a "cancel-step" update to the execute-flow handler workflow for the given install workflow. The handler workflow forwards the cancellation to the step's handler workflow.

func (*Client) CancelWorkflow

func (c *Client) CancelWorkflow(ctx context.Context, req *CancelWorkflowRequest) (*CancelWorkflowResponse, error)

CancelWorkflow sends a "cancel-workflow" update to the execute-flow handler workflow, cancelling the entire workflow after the current group completes.

func (*Client) IsRetryable

func (c *Client) IsRetryable(ctx context.Context, req *IsRetryableRequest) (*IsRetryableResponse, error)

IsRetryable sends an "is-retryable" update to the execute-workflow-step handler workflow to check if the step can be retried.

func (*Client) PauseWorkflow

func (c *Client) PauseWorkflow(ctx context.Context, req *PauseWorkflowRequest) error

PauseWorkflow sends a "pause-workflow" update to the execute-flow handler workflow. The workflow will pause after the current group completes.

func (*Client) PollNextStep

func (c *Client) PollNextStep(ctx context.Context, req *PollNextStepRequest) (*PollNextStepResponse, error)

PollNextStep sends a "poll-next-step" update to the execute-flow handler workflow. It returns the first non-terminal step, or an empty response when the workflow is complete.

func (*Client) RetryGroup

func (c *Client) RetryGroup(ctx context.Context, req *RetryGroupRequest) (*RetryGroupResponse, error)

RetryGroup sends a "retry-group" update to the execute-flow handler workflow. This retries all steps in the group that contains the given step.

func (*Client) RetryStep

func (c *Client) RetryStep(ctx context.Context, req *RetryStepRequest) (*RetryStepResponse, error)

RetryStep sends a "retry-step" update to the execute-flow handler workflow for the given install workflow. Uses update-with-start so the handler is restarted if it has already terminated.

func (*Client) SkipStep

func (c *Client) SkipStep(ctx context.Context, req *SkipStepRequest) (*SkipStepResponse, error)

SkipStep sends a "skip-step" update to the execute-flow handler workflow for the given install workflow.

func (*Client) UnpauseWorkflow

func (c *Client) UnpauseWorkflow(ctx context.Context, req *UnpauseWorkflowRequest) error

UnpauseWorkflow sends an "unpause-workflow" update to the execute-flow handler workflow. The workflow will resume from the next group.

type IsRetryableRequest

type IsRetryableRequest struct {
	StepID string
}

IsRetryableRequest is the input for checking step retryability.

type IsRetryableResponse

type IsRetryableResponse struct {
	Retryable bool   `json:"retryable"`
	Skippable bool   `json:"skippable"`
	StepID    string `json:"step_id"`
}

IsRetryableResponse is the response indicating step retryability.

type Params

type Params struct {
	fx.In

	DB      *gorm.DB `name:"psql"`
	TClient temporalclient.Client
	L       *zap.Logger
}

type PauseWorkflowRequest

type PauseWorkflowRequest struct {
	InstallWorkflowID string
}

PauseWorkflowRequest is the input for pausing a workflow.

type PollNextStepRequest

type PollNextStepRequest struct {
	InstallWorkflowID string
}

PollNextStepRequest identifies the workflow to poll.

type PollNextStepResponse

type PollNextStepResponse struct {
	StepID  string `json:"step_id"`
	StepIdx int    `json:"step_idx"`
	Status  string `json:"status"`
}

PollNextStepResponse contains the current in-flight step, or empty fields when all steps are terminal (workflow complete).

type RetryGroupRequest

type RetryGroupRequest struct {
	InstallWorkflowID string
	// StepID is any step in the group to retry. The handler resolves the
	// group from this step's GroupIdx.
	StepID string
}

RetryGroupRequest is the input for retrying an entire workflow step group.

type RetryGroupResponse

type RetryGroupResponse struct {
	WorkflowID string `json:"workflow_id"`
	Retryable  bool   `json:"retryable"`
}

RetryGroupResponse is the response from the retry-group update.

type RetryStepRequest

type RetryStepRequest struct {
	InstallWorkflowID string
	StepID            string
}

RetryStepRequest is the input for retrying a workflow step.

type RetryStepResponse

type RetryStepResponse struct {
	WorkflowID string `json:"workflow_id"`
	Retryable  bool   `json:"retryable"`
}

RetryStepResponse is the response from the retry-step update.

type SkipStepRequest

type SkipStepRequest struct {
	InstallWorkflowID string
	StepID            string
}

SkipStepRequest is the input for skipping a workflow step.

type SkipStepResponse

type SkipStepResponse struct {
	WorkflowID string `json:"workflow_id"`
	Skippable  bool   `json:"skippable"`
}

SkipStepResponse is the response from the skip-step update.

type UnpauseWorkflowRequest

type UnpauseWorkflowRequest struct {
	InstallWorkflowID string
}

UnpauseWorkflowRequest is the input for unpausing a workflow.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL