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

activities

package
v1.321.0 Latest Latest
Warning

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

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

Documentation

Overview

Package activities is a package that provides activities for the workflow engine. This file contains the CesrParsingActivity and CesrValidateActivity structs and their methods.

Package activities is a package that provides activities for the workflow engine. This file includes activities for checking credentials issuer metadata and running automation workflows.

Package activities is a package that provides activities for the workflow engine. This file contains the DockerActivity struct and its methods.

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2026 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

Package activities is a package that provides activities for the workflow engine. This file contains the JSONActivity struct and its methods.

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

Package activities is a package that provides activities for the workflow engine. This file includes activities for parsing wallet app urls.

SPDX-FileCopyrightText: 2025 Forkbomb BV

SPDX-License-Identifier: AGPL-3.0-or-later

Index

Constants

View Source
const (
	ResolveRecordActivityName                  = "Resolve a Credimi record"
	GetCredentialOfferActivityName             = "Get a credential offer"
	GetUseCaseVerificationDeeplinkActivityName = "Get a use case verification deeplink"
	DeleteTempRecordActivityName               = "Delete a temporary record"
	GetMobileDeviceActivityName                = "Get a mobile device"
	ValidateDeviceAccessActivityName           = "Validate mobile device access"
	SendRealtimeLogsActivityName               = "Send realtime logs"
	StoreCredentialIssuerActivityName          = "Store a credential issuer"
	StoreIssuerCredentialActivityName          = "Store an issuer credential"
	DeletePipelineResultFilesActivityName      = "Delete old pipeline result files"
)

Names of the activities that read and write Credimi records directly.

View Source
const (
	FCAFValidationActivityName = "Run FCAF validation"
	// DefaultFCAFValidationSuite is the suite of a validation step that names none.
	DefaultFCAFValidationSuite = "wallet_solution/relying_party"
)
View Source
const (
	GitHubPRCommentWorkflowName = "GitHub PR comment workflow"
	GitHubPRCommentUpdateSignal = "github-pr-comment-update"

	GitHubPRCommentSectionWalletAPK = "Credimi wallet APK pipeline runs"
	GitHubPRCommentSectionIssuer    = "Credimi issuer pipeline runs"
	GitHubPRCommentSectionVerifier  = "Credimi verifier pipeline runs"
)
View Source
const CleanupMobileDeviceSemaphoreResourcesActivityName = "Cleanup mobile device semaphore resources"

CleanupMobileDeviceSemaphoreResourcesActivityName is the registered name of CleanupMobileDeviceSemaphoreResourcesActivity.

View Source
const ContinueConformanceCheckEmailTemplate = `` /* 14401-byte string literal not displayed */
View Source
const EnqueuePipelineRunTicketActivityName = "Enqueue pipeline run ticket"

EnqueuePipelineRunTicketActivityName identifies the enqueue run ticket activity.

View Source
const (
	FidesCredentialIssuersURL = "https://fides-issuer-catalog.vercel.app/api/public/issuer"
)
View Source
const PipelineEvidenceExtractionActivityName = "Extract pipeline conformance evidence"
View Source
const PipelineReportGenerationActivityName = "Generate pipeline conformance report"
View Source
const SendPipelineCompletionNotificationActivityName = "Send pipeline completion notification"
View Source
const StartQueuedPipelineActivityName = "Start queued pipeline"

StartQueuedPipelineActivityName is the registered name of StartQueuedPipelineActivity.

Variables

This section is empty.

Functions

func BuildGitHubPRCommentBodyForWorkflow

func BuildGitHubPRCommentBodyForWorkflow(input UpdateGitHubPRCommentInput) string

func CredimiActivities

func CredimiActivities(app core.App) []workflowengine.ExecutableActivity

CredimiActivities returns one instance of every activity that works on the Credimi database. It is the single registration source for workers.

func GitHubPRCommentKnownSectionTitles

func GitHubPRCommentKnownSectionTitles() []string

func GitHubPRCommentSectionTitle

func GitHubPRCommentSectionTitle(input UpdateGitHubPRCommentInput) string

func GitHubPRCommentWorkflowID

func GitHubPRCommentWorkflowID(repository string, prNumber int) string

func RenderYAML

func RenderYAML(yamlString string, data map[string]any) (string, error)

func SignalGitHubPRCommentUpdate

func SignalGitHubPRCommentUpdate(ctx context.Context, input UpdateGitHubPRCommentInput) error

func TrimInput

func TrimInput(s string) string

Types

type ApkInstallActivity

type ApkInstallActivity struct {
	workflowengine.BaseActivity
}

func NewApkInstallActivity

func NewApkInstallActivity() *ApkInstallActivity

func (*ApkInstallActivity) Execute

func (*ApkInstallActivity) Name

func (a *ApkInstallActivity) Name() string

type ApkPostInstallChecksActivity

type ApkPostInstallChecksActivity struct {
	workflowengine.BaseActivity
}

func NewApkPostInstallChecksActivity

func NewApkPostInstallChecksActivity() *ApkPostInstallChecksActivity

func (*ApkPostInstallChecksActivity) Execute

func (*ApkPostInstallChecksActivity) Name

type CESRParsingActivity

type CESRParsingActivity struct {
	workflowengine.BaseActivity
}

CESRParsingActivity is an activity that parses a CESR string

func NewCESRParsingActivity

func NewCESRParsingActivity() *CESRParsingActivity

func (*CESRParsingActivity) Execute

Execute parses a JSON string from the input payload and validates it against a registered struct type.

func (*CESRParsingActivity) Name

func (a *CESRParsingActivity) Name() string

Name returns the name of the activity.

type CESRParsingActivityPayload

type CESRParsingActivityPayload struct {
	RawCESR string `json:"rawCESR" yaml:"rawCESR" validate:"required"`
}

type CESRValidateActivity

type CESRValidateActivity struct {
	workflowengine.BaseActivity
}

CESRValidateActivity is an activity that validates CESR credential events

func NewCESRValidateActivity

func NewCESRValidateActivity() *CESRValidateActivity

func (*CESRValidateActivity) Execute

Execute parses a JSON string from the input payload and validates it against a registered struct type.

func (*CESRValidateActivity) Name

func (a *CESRValidateActivity) Name() string

Name returns the name of the activity.

type CancelWorkflowActivity

type CancelWorkflowActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

func NewCancelWorkflowActivity

func NewCancelWorkflowActivity() *CancelWorkflowActivity

func (*CancelWorkflowActivity) Execute

func (*CancelWorkflowActivity) Name

func (a *CancelWorkflowActivity) Name() string

type CancelWorkflowActivityInput

type CancelWorkflowActivityInput struct {
	WorkflowID        string `json:"workflow_id"`
	RunID             string `json:"run_id,omitempty"`
	WorkflowNamespace string `json:"workflow_namespace"`
	Reason            string `json:"reason,omitempty"`
}

type CancelWorkflowActivityOutput

type CancelWorkflowActivityOutput struct {
	Canceled bool   `json:"canceled"`
	Status   string `json:"status,omitempty"`
}

type CesrValidateActivityPayload

type CesrValidateActivityPayload struct {
	Events string `json:"events" yaml:"events" validate:"required"`
}

type CheckCredentialsIssuerActivity

type CheckCredentialsIssuerActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

CheckCredentialsIssuerActivity is an activity that checks the credential issuer

func NewCheckCredentialsIssuerActivity

func NewCheckCredentialsIssuerActivity() *CheckCredentialsIssuerActivity

func (*CheckCredentialsIssuerActivity) Execute

Execute performs the CheckCredentialsIssuerActivity by validating the provided base URL from the input configuration, constructing the issuer URL, and making an HTTP GET request to verify if the endpoint is a valid credential issuer.

Parameters:

  • ctx: The context for managing request deadlines and cancellations.
  • input: The ActivityInput containing the configuration map with a "base_url" key.

Returns:

  • ActivityResult: Contains the raw JSON response from the credential issuer and the validated base URL if successful.
  • error: An error if the activity fails due to missing configuration, invalid base URL, HTTP request issues, or non-OK response status.

The function ensures the base URL is properly formatted with a scheme (http/https), appends the OpenID credential issuer path, and validates the response. If any step fails, it returns a failure result with an appropriate error message.

func (*CheckCredentialsIssuerActivity) Name

Name returns the name of the CheckCredentialsIssuerActivity, which describes the purpose of this activity as checking the credential issuer metadata.

type CheckCredentialsIssuerActivityPayload

type CheckCredentialsIssuerActivityPayload struct {
	BaseURL string `json:"base_url" yaml:"base_url" validate:"required"`
}

type CheckFileExistsActivity

type CheckFileExistsActivity struct {
	workflowengine.BaseActivity
	Input CheckFileExistsActivityPayload
}

func NewCheckFileExistsActivity

func NewCheckFileExistsActivity() *CheckFileExistsActivity

func (*CheckFileExistsActivity) Execute

func (*CheckFileExistsActivity) Name

func (a *CheckFileExistsActivity) Name() string

type CheckFileExistsActivityPayload

type CheckFileExistsActivityPayload struct {
	Path string `json:"path" yaml:"path" validate:"required"`
}

CheckFileExistsActivityPayload is the input payload for the CheckFileExistsActivity.

type CheckWorkflowClosedActivity

type CheckWorkflowClosedActivity struct {
	workflowengine.BaseActivity
}

func NewCheckWorkflowClosedActivity

func NewCheckWorkflowClosedActivity() *CheckWorkflowClosedActivity

func (*CheckWorkflowClosedActivity) Execute

func (*CheckWorkflowClosedActivity) Name

type CheckWorkflowClosedActivityInput

type CheckWorkflowClosedActivityInput struct {
	WorkflowID        string `json:"workflow_id"`
	RunID             string `json:"run_id,omitempty"`
	WorkflowNamespace string `json:"workflow_namespace"`
}

type CheckWorkflowClosedActivityOutput

type CheckWorkflowClosedActivityOutput struct {
	Closed bool   `json:"closed"`
	Status string `json:"status,omitempty"`
}

type CleanupDeviceActivity

type CleanupDeviceActivity struct {
	workflowengine.BaseActivity
}

func NewCleanupDeviceActivity

func NewCleanupDeviceActivity() *CleanupDeviceActivity

func (*CleanupDeviceActivity) Execute

func (*CleanupDeviceActivity) Name

func (a *CleanupDeviceActivity) Name() string

type CleanupMobileDeviceSemaphoreResourcesActivity

type CleanupMobileDeviceSemaphoreResourcesActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

func NewCleanupMobileDeviceSemaphoreResourcesActivity

func NewCleanupMobileDeviceSemaphoreResourcesActivity(
	app core.App,
) *CleanupMobileDeviceSemaphoreResourcesActivity

func (*CleanupMobileDeviceSemaphoreResourcesActivity) Execute

func (*CleanupMobileDeviceSemaphoreResourcesActivity) Name

type CleanupMobileDeviceSemaphoreResourcesActivityInput

type CleanupMobileDeviceSemaphoreResourcesActivityInput struct {
	Cleanup *mobiledevicesemaphore.MobileDeviceSemaphoreCleanupMetadata `json:"cleanup,omitempty"`
}

type CleanupMobileDeviceSemaphoreResourcesActivityOutput

type CleanupMobileDeviceSemaphoreResourcesActivityOutput struct {
	CleanupFailures []string `json:"cleanup_failures,omitempty"`
}

type CliError

type CliError struct {
	Message string  `json:"message"`
	Stack   *string `json:"stack,omitempty"`
}

type CredentialOfferOutput

type CredentialOfferOutput struct {
	CredentialOffer string `json:"credential_offer,omitempty"`
	Dynamic         bool   `json:"dynamic"`
	Code            string `json:"code,omitempty"`
}

CredentialOfferOutput is either a static credential offer or the code of a dynamic credential.

type DeletePipelineResultFilesActivity

type DeletePipelineResultFilesActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

DeletePipelineResultFilesActivity clears the files of old pipeline results.

func NewDeletePipelineResultFilesActivity

func NewDeletePipelineResultFilesActivity(app core.App) *DeletePipelineResultFilesActivity

func (*DeletePipelineResultFilesActivity) Execute

func (*DeletePipelineResultFilesActivity) Name

type DeleteTempRecordActivity

type DeleteTempRecordActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

DeleteTempRecordActivity deletes a temporary record created for a CI run.

func NewDeleteTempRecordActivity

func NewDeleteTempRecordActivity(app core.App) *DeleteTempRecordActivity

func (*DeleteTempRecordActivity) Execute

func (*DeleteTempRecordActivity) Name

func (a *DeleteTempRecordActivity) Name() string

type DeleteTempRecordInput

type DeleteTempRecordInput struct {
	Collection         string `json:"collection"          validate:"required,oneof=credentials use_cases_verifications wallet_versions"`
	RecordID           string `json:"record_id"           validate:"required"`
	ExpectedOwnerID    string `json:"expected_owner_id"   validate:"required"`
	ExpectedIdentifier string `json:"expected_identifier" validate:"required"`
}

type DeleteTempRecordOutput

type DeleteTempRecordOutput struct {
	Deleted bool `json:"deleted"`
}

type DisableAndroidPlayStoreActivity

type DisableAndroidPlayStoreActivity struct {
	workflowengine.BaseActivity
}

func NewDisableAndroidPlayStoreActivity

func NewDisableAndroidPlayStoreActivity() *DisableAndroidPlayStoreActivity

func (*DisableAndroidPlayStoreActivity) Execute

func (*DisableAndroidPlayStoreActivity) Name

type DockerActivity

type DockerActivity struct {
	workflowengine.BaseActivity
}

DockerActivity is an activity that runs a Docker image with the specified command and environment variables.

func NewDockerActivity

func NewDockerActivity() *DockerActivity

func (*DockerActivity) Execute

Execute pulls a Docker image, creates a container, and starts it with the provided command and environment variables. It also sets up port bindings and collects logs from the container. The input payload should contain the following keys: - "image": The Docker image to pull (format: "name:version"). - "cmd": The command to run inside the container (as a slice of strings). - "user": The user to run the command as (optional). - "env": Environment variables to set inside the container (as a slice of strings). - "ports": Port mappings (as a slice of strings, format: "hostPort:containerPort"). - "containerName": The name of the container (optional).

func (*DockerActivity) Name

func (a *DockerActivity) Name() string

Name returns the name of the Docker activity.

type DockerActivityPayload

type DockerActivityPayload struct {
	Image string `json:"image" yaml:"image" validate:"required"`

	Cmd           []string                  `json:"cmd,omitempty"           yaml:"cmd,omitempty"`
	User          string                    `json:"user,omitempty"          yaml:"user,omitempty"`
	Env           []string                  `json:"env,omitempty"           yaml:"env,omitempty"`
	Ports         []string                  `json:"ports,omitempty"         yaml:"ports,omitempty"`
	Mounts        []string                  `json:"mounts,omitempty"        yaml:"mounts,omitempty"`
	ContainerName string                    `json:"containerName,omitempty" yaml:"containerName,omitempty"`
	NetworkConfig *network.NetworkingConfig `json:"networkConfig,omitempty" yaml:"networkConfig,omitempty"`
}

DockerActivityInput is the input payload for the Docker activity.

type EnqueuePipelineRunTicketActivity

type EnqueuePipelineRunTicketActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

EnqueuePipelineRunTicketActivity enqueues run tickets into the mobile runner queue.

func NewEnqueuePipelineRunTicketActivity

func NewEnqueuePipelineRunTicketActivity() *EnqueuePipelineRunTicketActivity

NewEnqueuePipelineRunTicketActivity constructs the enqueue activity.

func (*EnqueuePipelineRunTicketActivity) Execute

Execute enqueues a run ticket across all runner semaphore workflows.

func (*EnqueuePipelineRunTicketActivity) Name

Name returns the activity name for enqueueing pipeline run tickets.

type EnqueuePipelineRunTicketActivityInput

type EnqueuePipelineRunTicketActivityInput struct {
	TicketID            string         `json:"ticket_id"`
	OwnerNamespace      string         `json:"owner_namespace"`
	EnqueuedAt          time.Time      `json:"enqueued_at"`
	DeviceIDs           []string       `json:"device_ids"`
	PipelineIdentifier  string         `json:"pipeline_identifier"`
	YAML                string         `json:"yaml"`
	PipelineConfig      map[string]any `json:"pipeline_config,omitempty"`
	Memo                map[string]any `json:"memo,omitempty"`
	MaxPipelinesInQueue int            `json:"max_pipelines_in_queue,omitempty"`
}

EnqueuePipelineRunTicketActivityInput defines the payload for enqueuing a pipeline run ticket.

type EnqueuePipelineRunTicketActivityOutput

type EnqueuePipelineRunTicketActivityOutput struct {
	Status            mobiledevicesemaphore.MobileDeviceSemaphoreRunStatus `json:"status"`
	Position          int                                                  `json:"position"`
	LineLen           int                                                  `json:"line_len"`
	WorkflowID        string                                               `json:"workflow_id,omitempty"`
	RunID             string                                               `json:"run_id,omitempty"`
	WorkflowNamespace string                                               `json:"workflow_namespace,omitempty"`
	ErrorMessage      string                                               `json:"error_message,omitempty"`
	Runners           []EnqueuePipelineRunTicketDeviceStatus               `json:"runners"`
}

EnqueuePipelineRunTicketActivityOutput aggregates enqueue status across runners.

type EnqueuePipelineRunTicketDeviceStatus

type EnqueuePipelineRunTicketDeviceStatus struct {
	DeviceID          string                                               `json:"device_id"`
	Status            mobiledevicesemaphore.MobileDeviceSemaphoreRunStatus `json:"status"`
	Position          int                                                  `json:"position"`
	LineLen           int                                                  `json:"line_len"`
	WorkflowID        string                                               `json:"workflow_id,omitempty"`
	RunID             string                                               `json:"run_id,omitempty"`
	WorkflowNamespace string                                               `json:"workflow_namespace,omitempty"`
	ErrorMessage      string                                               `json:"error_message,omitempty"`
}

EnqueuePipelineRunTicketDeviceStatus describes enqueue responses per runner.

type FCAFEvidenceReference

type FCAFEvidenceReference struct {
	// Source is the pipeline_outputs key, e.g. "pipeline.pid.presentation.sdjwt.all-claims".
	Source string `json:"source"`
	// Path is the dotted path of the leaf inside Source, e.g. "output.pid_sdjwt".
	Path string `json:"path"`
	// Ref is the expression body, e.g. "obtain.outputs.body | optional".
	Ref string `json:"ref"`
	// StepID is the first segment of the expression's initial value.
	StepID string `json:"step_id"`
	// EventID is the history event that recorded StepID's output; 0 when none did.
	EventID int64 `json:"event_id"`
	// SHA256 is the hex sha256 of the JSON of the resolved leaf; empty when it is nil.
	SHA256 string `json:"sha256"`
}

FCAFEvidenceReference points from one pipeline_outputs leaf to the history event that recorded the step output it was resolved from.

type FCAFValidationActivity

type FCAFValidationActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

func NewFCAFValidationActivity

func NewFCAFValidationActivity(
	app core.App,
	outputKind pipelinehistory.OutputKindFunc,
) *FCAFValidationActivity

func (*FCAFValidationActivity) Execute

Execute resolves pipeline_outputs against the step outputs recorded in the run's own history, runs the FCAF engine, stores the full report on the pipeline result and returns a compact report that references the evidence instead of copying it.

func (*FCAFValidationActivity) Name

func (a *FCAFValidationActivity) Name() string

type FCAFValidationActivityInput

type FCAFValidationActivityInput struct {
	TestID      string         `json:"test_id,omitempty"          yaml:"test_id,omitempty"`
	TestIDs     []string       `json:"test_ids,omitempty"         yaml:"test_ids,omitempty"`
	Suite       string         `json:"suite,omitempty"            yaml:"suite,omitempty"`
	CatalogRoot string         `json:"catalog_root,omitempty"     yaml:"catalog_root,omitempty"`
	Pipeline    map[string]any `json:"pipeline_outputs,omitempty" yaml:"pipeline_outputs,omitempty"`
	Runtime     map[string]any `json:"runtime,omitempty"          yaml:"runtime,omitempty"`
}

type FCAFValidationActivityOutput

type FCAFValidationActivityOutput struct {
	// Report is the public report with every evidence value removed.
	Report engine.Report `json:"report"`
	// ReportSHA256 is the sha256 of the stored fcaf_report file.
	ReportSHA256  string                  `json:"report_sha256"`
	EvidenceIndex []FCAFEvidenceReference `json:"evidence_index,omitempty"`
}

FCAFValidationActivityOutput is the compact report Temporal records. The full report, with evidence values, is stored on the pipeline result as the fcaf_report file.

type FederationDecodingError

type FederationDecodingError struct {
	Payload string
	Code    string
	Err     error
}

func (*FederationDecodingError) Error

func (e *FederationDecodingError) Error() string

type GetCredentialOfferActivity

type GetCredentialOfferActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

GetCredentialOfferActivity returns the credential offer of a credential.

func NewGetCredentialOfferActivity

func NewGetCredentialOfferActivity(app core.App) *GetCredentialOfferActivity

func (*GetCredentialOfferActivity) Execute

func (*GetCredentialOfferActivity) Name

type GetCredentialOfferInput

type GetCredentialOfferInput struct {
	CredentialIdentifier string `json:"credential_identifier" validate:"required"`
}

type GetMobileDeviceActivity

type GetMobileDeviceActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

GetMobileDeviceActivity returns a mobile device and its runner URL.

func NewGetMobileDeviceActivity

func NewGetMobileDeviceActivity(app core.App) *GetMobileDeviceActivity

func (*GetMobileDeviceActivity) Execute

func (*GetMobileDeviceActivity) Name

func (a *GetMobileDeviceActivity) Name() string

type GetMobileDeviceInput

type GetMobileDeviceInput struct {
	DeviceIdentifier string `json:"device_identifier" validate:"required"`
}

type GetUseCaseVerificationDeeplinkActivity

type GetUseCaseVerificationDeeplinkActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

GetUseCaseVerificationDeeplinkActivity returns the code and secrets of a use case verification.

func NewGetUseCaseVerificationDeeplinkActivity

func NewGetUseCaseVerificationDeeplinkActivity(
	app core.App,
) *GetUseCaseVerificationDeeplinkActivity

func (*GetUseCaseVerificationDeeplinkActivity) Execute

func (*GetUseCaseVerificationDeeplinkActivity) Name

type GetUseCaseVerificationDeeplinkInput

type GetUseCaseVerificationDeeplinkInput struct {
	UseCaseIdentifier string `json:"use_case_identifier" validate:"required"`
}

type HTTPActivity

type HTTPActivity struct {
	workflowengine.BaseActivity
}

HTTPActivity is an activity that performs an HTTP request.

func NewHTTPActivity

func NewHTTPActivity() *HTTPActivity

func (*HTTPActivity) Execute

func (*HTTPActivity) Name

func (a *HTTPActivity) Name() string

Name returns the name of the HTTP activity.

type HTTPActivityPayload

type HTTPActivityPayload struct {
	Method string `json:"method" yaml:"method" validate:"required"`
	URL    string `json:"url"    yaml:"url"    validate:"required"`

	QueryParams    map[string]string     `json:"query_params,omitempty"    yaml:"query_params,omitempty"`
	Timeout        string                `json:"timeout,omitempty"         yaml:"timeout,omitempty"`
	Headers        map[string]string     `json:"headers,omitempty"         yaml:"headers,omitempty"`
	Body           any                   `json:"body,omitempty"            yaml:"body,omitempty"`
	ExpectedStatus interface{}           `json:"expected_status,omitempty" yaml:"expected_status,omitempty"`
	Outputs        map[string]OutputRule `json:"outputs,omitempty"         yaml:"outputs,omitempty"`
}

HTTPActivityPayload is the input payload for the HTTP activity.

type IOSPostInstallChecksActivity

type IOSPostInstallChecksActivity struct {
	workflowengine.BaseActivity
}

func NewIOSPostInstallChecksActivity

func NewIOSPostInstallChecksActivity() *IOSPostInstallChecksActivity

func (*IOSPostInstallChecksActivity) Execute

func (*IOSPostInstallChecksActivity) Name

type InstallIOSAppActivity

type InstallIOSAppActivity struct {
	workflowengine.BaseActivity
}

func NewInstallIOSAppActivity

func NewInstallIOSAppActivity() *InstallIOSAppActivity

func (*InstallIOSAppActivity) Execute

func (*InstallIOSAppActivity) Name

func (a *InstallIOSAppActivity) Name() string

type JSONActivity

type JSONActivity struct {
	*workflowengine.BaseActivity
	StructRegistry map[string]reflect.Type // Maps type names to their reflect.Type
}

JSONActivity is an activity that parses a JSON string and validates it against a registered struct type.

func NewJSONActivity

func NewJSONActivity(structRegistry map[string]reflect.Type) *JSONActivity

func (*JSONActivity) Execute

Execute parses a JSON string from the input payload and validates it against a registered struct type.

func (*JSONActivity) Name

func (a *JSONActivity) Name() string

Name returns the name of the activity.

type JSONActivityPayload

type JSONActivityPayload struct {
	RawJSON    string `json:"rawJSON"     yaml:"rawJSON"     validate:"required"`
	StructType string `json:"struct_type" yaml:"struct_type" validate:"required"`
}

JSONActivityPayload is the input payload for the JSONActivity.

type ListInstalledAppsActivity

type ListInstalledAppsActivity struct {
	workflowengine.BaseActivity
}

func NewListInstalledAppsActivity

func NewListInstalledAppsActivity() *ListInstalledAppsActivity

func (*ListInstalledAppsActivity) Execute

func (*ListInstalledAppsActivity) Name

type MobileDeviceInfo

type MobileDeviceInfo struct {
	DeviceID  string `json:"device_id"`
	RunnerID  string `json:"runner_id"`
	Type      string `json:"type"`
	Serial    string `json:"serial"`
	RunnerURL string `json:"runner_url"`
}

MobileDeviceInfo describes a mobile device and the runner that hosts it.

type MobileRunnerHTTPActivity

type MobileRunnerHTTPActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

MobileRunnerHTTPActivity calls a mobile runner at the address stored on its mobile_runners record, presenting that runner's own credential, through the runner transport (destination policy for tenant runners, Cloudflare DNS for quick tunnels). A run's Temporal history names the calls that leave Credimi for a runner.

func NewMobileRunnerHTTPActivity

func NewMobileRunnerHTTPActivity(app core.App) *MobileRunnerHTTPActivity

NewMobileRunnerHTTPActivity returns the activity; callers that only need its Name may pass a nil app.

func (*MobileRunnerHTTPActivity) Execute

func (*MobileRunnerHTTPActivity) Name

func (a *MobileRunnerHTTPActivity) Name() string

type MobileRunnerHTTPActivityPayload

type MobileRunnerHTTPActivityPayload struct {
	Method         string            `json:"method"                    yaml:"method"                    validate:"required"`
	RunnerID       string            `json:"runner_id"                 yaml:"runner_id"                 validate:"required"`
	Path           string            `json:"path"                      yaml:"path"                      validate:"required"`
	QueryParams    map[string]string `json:"query_params,omitempty"    yaml:"query_params,omitempty"`
	Timeout        string            `json:"timeout,omitempty"         yaml:"timeout,omitempty"`
	Headers        map[string]string `json:"headers,omitempty"         yaml:"headers,omitempty"`
	Body           any               `json:"body,omitempty"            yaml:"body,omitempty"`
	ExpectedStatus int               `json:"expected_status,omitempty" yaml:"expected_status,omitempty"`
}

MobileRunnerHTTPActivityPayload names the runner by its canonified identifier and the endpoint by its path; the destination address always comes from the runner record.

type OpenIDNetLogsActivity

type OpenIDNetLogsActivity struct {
	workflowengine.BaseActivity
}

OpenIDNetLogsActivity fetches the logs of an OpenID certification run. The bearer token is read from OPENIDNET_TOKEN on the worker, so it never enters workflow history.

func NewOpenIDNetLogsActivity

func NewOpenIDNetLogsActivity() *OpenIDNetLogsActivity

NewOpenIDNetLogsActivity returns the "Fetch OpenID certification logs" activity.

func (*OpenIDNetLogsActivity) Execute

Execute fetches the run logs; the result has the HTTP activity's shape.

func (*OpenIDNetLogsActivity) Name

func (a *OpenIDNetLogsActivity) Name() string

Name returns the name of the OpenID certification logs activity.

type OpenIDNetLogsPayload

type OpenIDNetLogsPayload struct {
	Rid string `json:"rid" yaml:"rid" validate:"required"`
}

OpenIDNetLogsPayload identifies the certification run whose logs to fetch.

type OutputRule

type OutputRule struct {
	XPath    string `json:"xpath,omitempty"    yaml:"xpath,omitempty"`
	Selector string `json:"selector,omitempty" yaml:"selector,omitempty"`
	Cookie   string `json:"cookie,omitempty"   yaml:"cookie,omitempty"`
	Regex    string `json:"regex,omitempty"    yaml:"regex,omitempty"`
}

type ParseFidesCredentialIssuersActivity

type ParseFidesCredentialIssuersActivity struct {
	workflowengine.BaseActivity
}

func NewParseFidesCredentialIssuersActivity

func NewParseFidesCredentialIssuersActivity() *ParseFidesCredentialIssuersActivity

func (*ParseFidesCredentialIssuersActivity) Execute

func (*ParseFidesCredentialIssuersActivity) Name

type ParseFidesCredentialIssuersActivityPayload

type ParseFidesCredentialIssuersActivityPayload struct {
	Data any `json:"data" yaml:"data" validate:"required"`
}

type ParseFidesCredentialIssuersActivityResponse

type ParseFidesCredentialIssuersActivityResponse struct {
	Issuers    []string `json:"issuers"`
	PageNumber int      `json:"page_number"`
	TotalPages int      `json:"total_pages"`
}

type ParseWalletURLActivity

type ParseWalletURLActivity struct {
	workflowengine.BaseActivity
}

func NewParseWalletURLActivity

func NewParseWalletURLActivity() *ParseWalletURLActivity

func (*ParseWalletURLActivity) Execute

Execute parses an application store URL from the workflow input payload and extracts an API input value and store type identifier. It supports Google Play Store and Apple App Store URLs:

  • Google Play: the full URL is used as the API input, store_type = "google".
  • Apple App Store: the numeric app ID is extracted from the path, store_type = "apple".

If the URL is not supported, an error is returned.

func (*ParseWalletURLActivity) Name

func (a *ParseWalletURLActivity) Name() string

type ParseWalletURLActivityPayload

type ParseWalletURLActivityPayload struct {
	URL string `json:"url" yaml:"url" validate:"required"`
}

ParseWalletURLActivityPayload is a struct that represents the input payload for the ParseWalletURLActivity.

type PatchGitHubPRCommentActivity

type PatchGitHubPRCommentActivity struct {
	workflowengine.BaseActivity
}

func NewPatchGitHubPRCommentActivity

func NewPatchGitHubPRCommentActivity() *PatchGitHubPRCommentActivity

func (*PatchGitHubPRCommentActivity) Execute

func (*PatchGitHubPRCommentActivity) Name

type PatchGitHubPRCommentInput

type PatchGitHubPRCommentInput struct {
	Repository        string `json:"repository"`
	PullRequestNumber int    `json:"pull_request_number"`
	CommentID         int64  `json:"comment_id,omitempty"`
	Body              string `json:"body"`
}

type PatchGitHubPRCommentOutput

type PatchGitHubPRCommentOutput struct {
	CommentID int64 `json:"comment_id"`
}

type PipelineEvidenceExtractionActivity

type PipelineEvidenceExtractionActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

func NewPipelineEvidenceExtractionActivity

func NewPipelineEvidenceExtractionActivity(app core.App) *PipelineEvidenceExtractionActivity

func (*PipelineEvidenceExtractionActivity) Execute

Execute generates a fresh deeplink for each evidence step from its Credimi record (running the record's StepCI code for dynamic records), resolves the credential offers and presentation requests behind those deeplinks, and stores the extracted evidence on the run's pipeline result. Storage is retried while the pipeline result is not yet created or the database fails; a final storage failure is reported as a warning.

func (*PipelineEvidenceExtractionActivity) Name

type PipelineEvidenceExtractionInput

type PipelineEvidenceExtractionInput struct {
	WorkflowDefinition *pipelineinternal.WorkflowDefinition `json:"workflow_definition"`
	InputErrors        map[string]string                    `json:"input_errors,omitempty"`
	WorkflowID         string                               `json:"workflow_id"`
	RunID              string                               `json:"run_id"`
}

PipelineEvidenceExtractionInput carries the pipeline's evidence steps with their inputs resolved, the steps whose inputs could not be resolved (keyed by step ID), and the run whose pipeline result stores the evidence.

type PipelineEvidenceExtractionOutput

type PipelineEvidenceExtractionOutput struct {
	CredentialOffers     []map[string]any `json:"credential_offers"`
	CredentialWellKnowns []map[string]any `json:"credential_well_knowns"`
	PresentationResults  []map[string]any `json:"presentation_results"`
	Warnings             []string         `json:"warnings,omitempty"`
}

type PipelineReportGenerationActivity

type PipelineReportGenerationActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

func NewPipelineReportGenerationActivity

func NewPipelineReportGenerationActivity(
	app core.App,
	outputKind pipelinehistory.OutputKindFunc,
) *PipelineReportGenerationActivity

func (*PipelineReportGenerationActivity) Execute

Execute builds the conformance report from the definition and step outputs recorded in the run's history and stores its markdown on the pipeline result. A storage failure is reported as a warning.

func (*PipelineReportGenerationActivity) Name

type PipelineReportGenerationInput

type PipelineReportGenerationInput struct {
	Namespace  string `json:"namespace"`
	WorkflowID string `json:"workflow_id"`
	RunID      string `json:"run_id"`
	// PipelineOutputMeta holds the pipeline output keys that are not step outputs, such as
	// warnings, which exist only in the workflow's memory.
	PipelineOutputMeta map[string]any                   `json:"pipeline_output_meta,omitempty"`
	Evidence           PipelineEvidenceExtractionOutput `json:"evidence"`
}

PipelineReportGenerationInput identifies the run whose history holds the definition and step outputs the report is built from.

type PipelineReportGenerationOutput

type PipelineReportGenerationOutput struct {
	MarkdownSHA256 string   `json:"markdown_sha256"`
	Filename       string   `json:"filename"`
	Fixture        string   `json:"fixture"`
	Slug           string   `json:"slug"`
	PassedCount    int      `json:"passed_count"`
	Warnings       []string `json:"warnings,omitempty"`
}

type PreparePhysicalAndroidAppsActivity

type PreparePhysicalAndroidAppsActivity struct {
	workflowengine.BaseActivity
}

func NewPreparePhysicalAndroidAppsActivity

func NewPreparePhysicalAndroidAppsActivity() *PreparePhysicalAndroidAppsActivity

func (*PreparePhysicalAndroidAppsActivity) Execute

func (*PreparePhysicalAndroidAppsActivity) Name

type QueryMobileDeviceSemaphoreRunStatusActivity

type QueryMobileDeviceSemaphoreRunStatusActivity struct {
	workflowengine.BaseActivity
}

func NewQueryMobileDeviceSemaphoreRunStatusActivity

func NewQueryMobileDeviceSemaphoreRunStatusActivity() *QueryMobileDeviceSemaphoreRunStatusActivity

func (*QueryMobileDeviceSemaphoreRunStatusActivity) Execute

func (*QueryMobileDeviceSemaphoreRunStatusActivity) Name

type QueryMobileDeviceSemaphoreRunStatusInput

type QueryMobileDeviceSemaphoreRunStatusInput struct {
	DeviceID       string `json:"device_id"`
	OwnerNamespace string `json:"owner_namespace"`
	TicketID       string `json:"ticket_id"`
}

type ReportMobileDeviceSemaphoreDoneActivity

type ReportMobileDeviceSemaphoreDoneActivity struct {
	workflowengine.BaseActivity
}

func NewReportMobileDeviceSemaphoreDoneActivity

func NewReportMobileDeviceSemaphoreDoneActivity() *ReportMobileDeviceSemaphoreDoneActivity

func (*ReportMobileDeviceSemaphoreDoneActivity) Execute

func (*ReportMobileDeviceSemaphoreDoneActivity) Name

type ReportMobileDeviceSemaphoreDoneInput

type ReportMobileDeviceSemaphoreDoneInput struct {
	OwnerNamespace string `json:"owner_namespace"`
	LeaderDeviceID string `json:"leader_device_id"`
	TicketID       string `json:"ticket_id"`
	WorkflowID     string `json:"workflow_id"`
	RunID          string `json:"run_id"`
	WorkflowResult string `json:"workflow_result,omitempty"`
}

type RequestSnapshot

type RequestSnapshot struct {
	Method  string              `json:"method"`
	URL     string              `json:"url"`
	Headers map[string][]string `json:"headers,omitempty"`
	Body    any                 `json:"body,omitempty"`
}

type ResolveRecordActivity

type ResolveRecordActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

ResolveRecordActivity returns the fields of a published record, or of an unpublished record owned by the requesting organization.

func NewResolveRecordActivity

func NewResolveRecordActivity(app core.App) *ResolveRecordActivity

func (*ResolveRecordActivity) Execute

func (*ResolveRecordActivity) Name

func (a *ResolveRecordActivity) Name() string

type ResolveRecordInput

type ResolveRecordInput struct {
	CanonifiedName string `json:"canonified_name" validate:"required"`
	Collection     string `json:"collection"      validate:"required,oneof=pipelines custom_checks wallet_actions"`
	OwnerNamespace string `json:"owner_namespace" validate:"required"`
}

ResolveRecordInput selects a record by canonified name for an organization.

type RunMobileFlowActivity

type RunMobileFlowActivity struct {
	workflowengine.BaseActivity
}

func NewRunMobileFlowActivity

func NewRunMobileFlowActivity() *RunMobileFlowActivity

func (*RunMobileFlowActivity) Execute

func (*RunMobileFlowActivity) Name

func (a *RunMobileFlowActivity) Name() string

type SchemaValidationActivity

type SchemaValidationActivity struct {
	*workflowengine.BaseActivity
}

SchemaValidationActivity validates a JSON map against a JSON Schema.

func NewSchemaValidationActivity

func NewSchemaValidationActivity() *SchemaValidationActivity

func (*SchemaValidationActivity) Execute

func (*SchemaValidationActivity) Name

func (a *SchemaValidationActivity) Name() string

type SchemaValidationActivityPayload

type SchemaValidationActivityPayload struct {
	Schema    string         `json:"schema"              yaml:"schema"              validate:"required"`
	Data      map[string]any `json:"data"                yaml:"data"                validate:"required"`
	SubSchema any            `json:"subschema,omitempty" yaml:"subschema,omitempty"`
}

SchemaValidationActivityPayload is the input payload for the SchemaValidationActivity.

type SchemaValidationErrorDetails

type SchemaValidationErrorDetails struct {
	Issues []SchemaValidationIssue `json:"issues"`
}

type SchemaValidationIssue

type SchemaValidationIssue struct {
	Scope        string   `json:"scope"`
	CredentialID string   `json:"credential_id,omitempty"`
	Field        string   `json:"field,omitempty"`
	Path         []string `json:"path,omitempty"`
	Message      string   `json:"message"`
}

type SendMailActivity

type SendMailActivity struct {
	workflowengine.BaseActivity
}

SendMailActivity is an activity that sends an email using SMTP.

func NewSendMailActivity

func NewSendMailActivity() *SendMailActivity

func (*SendMailActivity) Configure

func (a *SendMailActivity) Configure(
	input *workflowengine.ActivityInput,
) error

Configure sets up the SMTP configuration for sending emails. It retrieves the SMTP host, port, and sender email from environment variables. If the environment variables are not set, it uses default values.

func (*SendMailActivity) Execute

func (*SendMailActivity) Name

func (a *SendMailActivity) Name() string

Name returns the name of the activity.

type SendMailActivityPayload

type SendMailActivityPayload struct {
	Sender    string         `json:"sender,omitempty"   yaml:"sender,omitempty"`
	Recipient string         `json:"recipient"          yaml:"recipient"          validate:"required"`
	Subject   string         `json:"subject,omitempty"  yaml:"subject,omitempty"`
	Body      string         `json:"body,omitempty"     yaml:"body,omitempty"`
	Template  string         `json:"template,omitempty" yaml:"template,omitempty"`
	Data      map[string]any `json:"data,omitempty"     yaml:"data,omitempty"`
}

SendMailActivityPayload is the input payload for the SendMailActivity.

type SendPipelineCompletionNotificationActivity

type SendPipelineCompletionNotificationActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

func NewSendPipelineCompletionNotificationActivity

func NewSendPipelineCompletionNotificationActivity(
	app core.App,
) *SendPipelineCompletionNotificationActivity

func (*SendPipelineCompletionNotificationActivity) Execute

func (*SendPipelineCompletionNotificationActivity) Name

type SendPipelineCompletionNotificationInput

type SendPipelineCompletionNotificationInput struct {
	WorkflowID   string `json:"workflow_id"             validate:"required"`
	RunID        string `json:"run_id"                  validate:"required"`
	Result       string `json:"result"                  validate:"required"`
	ErrorMessage string `json:"error_message,omitempty"`
}

type SendPipelineCompletionNotificationOutput

type SendPipelineCompletionNotificationOutput struct {
	Sent int `json:"sent"`
}

type SendRealtimeLogsActivity

type SendRealtimeLogsActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

SendRealtimeLogsActivity pushes workflow logs to realtime subscribers.

func NewSendRealtimeLogsActivity

func NewSendRealtimeLogsActivity(app core.App) *SendRealtimeLogsActivity

func (*SendRealtimeLogsActivity) Execute

func (*SendRealtimeLogsActivity) Name

func (a *SendRealtimeLogsActivity) Name() string

type SendRealtimeLogsInput

type SendRealtimeLogsInput struct {
	Subscription string           `json:"subscription" validate:"required"`
	Logs         []map[string]any `json:"logs"`
}

type SetupMobileDeviceActivity

type SetupMobileDeviceActivity struct {
	workflowengine.BaseActivity
}

func NewSetupMobileDeviceActivity

func NewSetupMobileDeviceActivity() *SetupMobileDeviceActivity

func (*SetupMobileDeviceActivity) Execute

func (*SetupMobileDeviceActivity) Name

type SignalWorkflowActivity

type SignalWorkflowActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

func NewSignalWorkflowActivity

func NewSignalWorkflowActivity() *SignalWorkflowActivity

func (*SignalWorkflowActivity) Execute

func (*SignalWorkflowActivity) Name

func (a *SignalWorkflowActivity) Name() string

type SignalWorkflowActivityInput

type SignalWorkflowActivityInput struct {
	WorkflowID        string `json:"workflow_id"`
	RunID             string `json:"run_id,omitempty"`
	WorkflowNamespace string `json:"workflow_namespace"`
	SignalName        string `json:"signal_name"`
	Payload           any    `json:"payload,omitempty"`
}

type SignalWorkflowActivityOutput

type SignalWorkflowActivityOutput struct {
	Signaled bool   `json:"signaled"`
	Status   string `json:"status,omitempty"`
}

type StartAndroidDeviceLogActivity

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

func NewStartAndroidDeviceLogActivity

func NewStartAndroidDeviceLogActivity() *StartAndroidDeviceLogActivity

func (*StartAndroidDeviceLogActivity) Execute

func (a *StartAndroidDeviceLogActivity) Execute(
	ctx context.Context,
	input workflowengine.ActivityInput,
) (workflowengine.ActivityResult, error)

func (*StartAndroidDeviceLogActivity) Name

func (a *StartAndroidDeviceLogActivity) Name() string

type StartIOSDeviceLogActivity

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

func NewStartIOSDeviceLogActivity

func NewStartIOSDeviceLogActivity() *StartIOSDeviceLogActivity

func (*StartIOSDeviceLogActivity) Execute

func (a *StartIOSDeviceLogActivity) Execute(
	ctx context.Context,
	input workflowengine.ActivityInput,
) (workflowengine.ActivityResult, error)

func (*StartIOSDeviceLogActivity) Name

func (a *StartIOSDeviceLogActivity) Name() string

type StartIOSRecordingActivity

type StartIOSRecordingActivity struct {
	workflowengine.BaseActivity
}

func NewStartIOSRecordingActivity

func NewStartIOSRecordingActivity() *StartIOSRecordingActivity

func (*StartIOSRecordingActivity) Execute

func (*StartIOSRecordingActivity) Name

type StartIOSSimulatorActivity

type StartIOSSimulatorActivity struct {
	workflowengine.BaseActivity
}

func NewStartIOSSimulatorActivity

func NewStartIOSSimulatorActivity() *StartIOSSimulatorActivity

func (*StartIOSSimulatorActivity) Execute

func (*StartIOSSimulatorActivity) Name

type StartQueuedPipelineActivity

type StartQueuedPipelineActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

func NewStartQueuedPipelineActivity

func NewStartQueuedPipelineActivity(app core.App) *StartQueuedPipelineActivity

func (*StartQueuedPipelineActivity) Execute

func (*StartQueuedPipelineActivity) Name

type StartQueuedPipelineActivityInput

type StartQueuedPipelineActivityInput struct {
	TicketID           string         `json:"ticket_id"`
	OwnerNamespace     string         `json:"owner_namespace"`
	RequiredDeviceIDs  []string       `json:"required_device_ids,omitempty"`
	LeaderDeviceID     string         `json:"leader_device_id,omitempty"`
	PipelineIdentifier string         `json:"pipeline_identifier"`
	YAML               string         `json:"yaml"`
	PipelineConfig     map[string]any `json:"pipeline_config,omitempty"`
	Memo               map[string]any `json:"memo,omitempty"`
}

type StartQueuedPipelineActivityOutput

type StartQueuedPipelineActivityOutput struct {
	WorkflowID            string `json:"workflow_id"`
	RunID                 string `json:"run_id"`
	WorkflowNamespace     string `json:"workflow_namespace"`
	PipelineResultCreated bool   `json:"pipeline_result_created"`
	PipelineResultError   string `json:"pipeline_result_error,omitempty"`
}

type StartRecordingActivity

type StartRecordingActivity struct {
	workflowengine.BaseActivity
}

func NewStartRecordingActivity

func NewStartRecordingActivity() *StartRecordingActivity

func (*StartRecordingActivity) Execute

func (*StartRecordingActivity) Name

func (a *StartRecordingActivity) Name() string

type StepCICliReturns

type StepCICliReturns struct {
	Passed   bool           `json:"passed"`
	Messages []string       `json:"messages"`
	Captures map[string]any `json:"captures"`
	Tests    []TestResult   `json:"tests"`
	Errors   []CliError     `json:"errors"`
}

type StepCIFailureStep

type StepCIFailureStep struct {
	TestID       string `json:"testId"`
	Name         string `json:"name,omitempty"`
	ErrorMessage string `json:"errorMessage,omitempty"`
	Errored      bool   `json:"errored"`
	Skipped      bool   `json:"skipped"`
}

type StepCIFailureSummary

type StepCIFailureSummary struct {
	Passed      bool                `json:"passed"`
	Messages    []string            `json:"messages,omitempty"`
	Errors      []CliError          `json:"errors,omitempty"`
	FailedSteps []StepCIFailureStep `json:"failedSteps,omitempty"`
}

type StepCIWorkflowActivity

type StepCIWorkflowActivity struct {
	workflowengine.BaseActivity
}

func NewStepCIWorkflowActivity

func NewStepCIWorkflowActivity() *StepCIWorkflowActivity

func (*StepCIWorkflowActivity) Configure

func (*StepCIWorkflowActivity) Execute

func (*StepCIWorkflowActivity) Name

func (a *StepCIWorkflowActivity) Name() string

type StepCIWorkflowActivityPayload

type StepCIWorkflowActivityPayload struct {
	Yaml string         `json:"yaml"           yaml:"yaml"`
	Data map[string]any `json:"data,omitempty" yaml:"data,omitempty"`
	Env  string         `json:"env,omitempty"  yaml:"env,omitempty"`
}

StepCIWorkflowActivityPayload is the input for the StepCIWorkflowActivity

type StepResult

type StepResult struct {
	ID            *string         `json:"id,omitempty"`
	TestID        string          `json:"testId"`
	Name          *string         `json:"name,omitempty"`
	Retries       *int            `json:"retries,omitempty"`
	Captures      *map[string]any `json:"captures,omitempty"`
	Cookies       any             `json:"cookies,omitempty"`
	Errored       bool            `json:"errored"`
	ErrorMessage  *string         `json:"errorMessage,omitempty"`
	Passed        bool            `json:"passed"`
	Skipped       bool            `json:"skipped"`
	Timestamp     time.Time       `json:"timestamp"`
	ResponseTime  int             `json:"responseTime"`
	Duration      int             `json:"duration"`
	CO2           float64         `json:"co2"`
	BytesSent     int             `json:"bytesSent"`
	BytesReceived int             `json:"bytesReceived"`
}

type StopAndroidDeviceLogActivity

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

func NewStopAndroidDeviceLogActivity

func NewStopAndroidDeviceLogActivity() *StopAndroidDeviceLogActivity

func (*StopAndroidDeviceLogActivity) Execute

func (a *StopAndroidDeviceLogActivity) Execute(
	ctx context.Context,
	input workflowengine.ActivityInput,
) (workflowengine.ActivityResult, error)

func (*StopAndroidDeviceLogActivity) Name

func (a *StopAndroidDeviceLogActivity) Name() string

type StopIOSDeviceLogActivity

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

func NewStopIOSDeviceLogActivity

func NewStopIOSDeviceLogActivity() *StopIOSDeviceLogActivity

func (*StopIOSDeviceLogActivity) Execute

func (a *StopIOSDeviceLogActivity) Execute(
	ctx context.Context,
	input workflowengine.ActivityInput,
) (workflowengine.ActivityResult, error)

func (*StopIOSDeviceLogActivity) Name

func (a *StopIOSDeviceLogActivity) Name() string

type StopIOSRecordingActivity

type StopIOSRecordingActivity struct {
	workflowengine.BaseActivity
}

func NewStopIOSRecordingActivity

func NewStopIOSRecordingActivity() *StopIOSRecordingActivity

func (*StopIOSRecordingActivity) Execute

func (*StopIOSRecordingActivity) Name

func (a *StopIOSRecordingActivity) Name() string

type StopRecordingActivity

type StopRecordingActivity struct {
	workflowengine.BaseActivity
}

func NewStopRecordingActivity

func NewStopRecordingActivity() *StopRecordingActivity

func (*StopRecordingActivity) Execute

func (*StopRecordingActivity) Name

func (a *StopRecordingActivity) Name() string

type StoreCredentialIssuerActivity

type StoreCredentialIssuerActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

StoreCredentialIssuerActivity creates or updates an imported credential issuer of an organization.

func NewStoreCredentialIssuerActivity

func NewStoreCredentialIssuerActivity(app core.App) *StoreCredentialIssuerActivity

func (*StoreCredentialIssuerActivity) Execute

func (*StoreCredentialIssuerActivity) Name

type StoreCredentialIssuerInput

type StoreCredentialIssuerInput struct {
	URL   string `json:"url"    validate:"required"`
	OrgID string `json:"org_id" validate:"required"`
	Name  string `json:"name"`
}

type StoreCredentialIssuerOutput

type StoreCredentialIssuerOutput struct {
	ID string `json:"id"`
}

type StoreIssuerCredentialActivity

type StoreIssuerCredentialActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

StoreIssuerCredentialActivity creates or updates a credential extracted from a credential issuer.

func NewStoreIssuerCredentialActivity

func NewStoreIssuerCredentialActivity(app core.App) *StoreIssuerCredentialActivity

func (*StoreIssuerCredentialActivity) Execute

func (*StoreIssuerCredentialActivity) Name

type StoreIssuerCredentialInput

type StoreIssuerCredentialInput struct {
	IssuerID   string         `json:"issuer_id"  validate:"required"`
	CredKey    string         `json:"cred_key"   validate:"required"`
	Credential map[string]any `json:"credential"`
	Conformant bool           `json:"conformant"`
	OrgID      string         `json:"org_id"     validate:"required"`
}

type StoreIssuerCredentialOutput

type StoreIssuerCredentialOutput struct {
	Key string `json:"key"`
}

type TestResult

type TestResult struct {
	ID            string       `json:"id"`
	Name          *string      `json:"name,omitempty"`
	Steps         []StepResult `json:"steps"`
	Passed        bool         `json:"passed"`
	Timestamp     time.Time    `json:"timestamp"`
	Duration      float64      `json:"duration"`
	CO2           float64      `json:"co2"`
	BytesSent     int64        `json:"bytesSent"`
	BytesReceived int64        `json:"bytesReceived"`
}

type UnlockEmulatorActivity

type UnlockEmulatorActivity struct {
	workflowengine.BaseActivity
}

func NewUnlockEmulatorActivity

func NewUnlockEmulatorActivity() *UnlockEmulatorActivity

func (*UnlockEmulatorActivity) Execute

func (*UnlockEmulatorActivity) Name

func (a *UnlockEmulatorActivity) Name() string

type UpdateGitHubPRCommentActivity

type UpdateGitHubPRCommentActivity struct {
	workflowengine.BaseActivity
}

func NewUpdateGitHubPRCommentActivity

func NewUpdateGitHubPRCommentActivity() *UpdateGitHubPRCommentActivity

func (*UpdateGitHubPRCommentActivity) Execute

func (*UpdateGitHubPRCommentActivity) Name

type UpdateGitHubPRCommentInput

type UpdateGitHubPRCommentInput struct {
	Repository        string `json:"repository"`
	PullRequestNumber int    `json:"pull_request_number"`
	CommitSHA         string `json:"commit_sha,omitempty"`
	CurrentHeadSHA    string `json:"current_head_sha,omitempty"`
	TicketID          string `json:"ticket_id"`
	Status            string `json:"status"`
	Position          *int   `json:"position,omitempty"`
	PipelineID        string `json:"pipeline_id,omitempty"`
	DeviceID          string `json:"device_id,omitempty"`
	DeviceType        string `json:"device_type,omitempty"`
	PipelineURL       string `json:"pipeline_url,omitempty"`
	AppURL            string `json:"app_url,omitempty"`
	WorkflowID        string `json:"workflow_id,omitempty"`
	RunID             string `json:"run_id,omitempty"`
	WorkflowStatus    string `json:"workflow_status,omitempty"`
	ErrorMessage      string `json:"error_message,omitempty"`
	SectionTitle      string `json:"section_title,omitempty"`
}

type UseCaseVerificationDeeplinkOutput

type UseCaseVerificationDeeplinkOutput struct {
	Code string `json:"code"`
}

UseCaseVerificationDeeplinkOutput carries the code of a use case verification.

type ValidateDeviceAccessActivity

type ValidateDeviceAccessActivity struct {
	workflowengine.BaseActivity
	// contains filtered or unexported fields
}

ValidateDeviceAccessActivity checks that an organization may use mobile devices.

func NewValidateDeviceAccessActivity

func NewValidateDeviceAccessActivity(app core.App) *ValidateDeviceAccessActivity

func (*ValidateDeviceAccessActivity) Execute

func (*ValidateDeviceAccessActivity) Name

type ValidateDeviceAccessInput

type ValidateDeviceAccessInput struct {
	OwnerNamespace string   `json:"owner_namespace" validate:"required"`
	DeviceIDs      []string `json:"device_ids"`
}

Jump to

Keyboard shortcuts

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