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
- func BuildGitHubPRCommentBodyForWorkflow(input UpdateGitHubPRCommentInput) string
- func CredimiActivities(app core.App) []workflowengine.ExecutableActivity
- func GitHubPRCommentKnownSectionTitles() []string
- func GitHubPRCommentSectionTitle(input UpdateGitHubPRCommentInput) string
- func GitHubPRCommentWorkflowID(repository string, prNumber int) string
- func RenderYAML(yamlString string, data map[string]any) (string, error)
- func SignalGitHubPRCommentUpdate(ctx context.Context, input UpdateGitHubPRCommentInput) error
- func TrimInput(s string) string
- type ApkInstallActivity
- type ApkPostInstallChecksActivity
- type CESRParsingActivity
- type CESRParsingActivityPayload
- type CESRValidateActivity
- type CancelWorkflowActivity
- type CancelWorkflowActivityInput
- type CancelWorkflowActivityOutput
- type CesrValidateActivityPayload
- type CheckCredentialsIssuerActivity
- type CheckCredentialsIssuerActivityPayload
- type CheckFileExistsActivity
- type CheckFileExistsActivityPayload
- type CheckWorkflowClosedActivity
- type CheckWorkflowClosedActivityInput
- type CheckWorkflowClosedActivityOutput
- type CleanupDeviceActivity
- type CleanupMobileDeviceSemaphoreResourcesActivity
- type CleanupMobileDeviceSemaphoreResourcesActivityInput
- type CleanupMobileDeviceSemaphoreResourcesActivityOutput
- type CliError
- type CredentialOfferOutput
- type DeletePipelineResultFilesActivity
- type DeleteTempRecordActivity
- type DeleteTempRecordInput
- type DeleteTempRecordOutput
- type DisableAndroidPlayStoreActivity
- type DockerActivity
- type DockerActivityPayload
- type EnqueuePipelineRunTicketActivity
- type EnqueuePipelineRunTicketActivityInput
- type EnqueuePipelineRunTicketActivityOutput
- type EnqueuePipelineRunTicketDeviceStatus
- type FCAFEvidenceReference
- type FCAFValidationActivity
- type FCAFValidationActivityInput
- type FCAFValidationActivityOutput
- type FederationDecodingError
- type GetCredentialOfferActivity
- type GetCredentialOfferInput
- type GetMobileDeviceActivity
- type GetMobileDeviceInput
- type GetUseCaseVerificationDeeplinkActivity
- type GetUseCaseVerificationDeeplinkInput
- type HTTPActivity
- type HTTPActivityPayload
- type IOSPostInstallChecksActivity
- type InstallIOSAppActivity
- type JSONActivity
- type JSONActivityPayload
- type ListInstalledAppsActivity
- type MobileDeviceInfo
- type MobileRunnerHTTPActivity
- type MobileRunnerHTTPActivityPayload
- type OpenIDNetLogsActivity
- type OpenIDNetLogsPayload
- type OutputRule
- type ParseFidesCredentialIssuersActivity
- type ParseFidesCredentialIssuersActivityPayload
- type ParseFidesCredentialIssuersActivityResponse
- type ParseWalletURLActivity
- type ParseWalletURLActivityPayload
- type PatchGitHubPRCommentActivity
- type PatchGitHubPRCommentInput
- type PatchGitHubPRCommentOutput
- type PipelineEvidenceExtractionActivity
- type PipelineEvidenceExtractionInput
- type PipelineEvidenceExtractionOutput
- type PipelineReportGenerationActivity
- type PipelineReportGenerationInput
- type PipelineReportGenerationOutput
- type PreparePhysicalAndroidAppsActivity
- type QueryMobileDeviceSemaphoreRunStatusActivity
- type QueryMobileDeviceSemaphoreRunStatusInput
- type ReportMobileDeviceSemaphoreDoneActivity
- type ReportMobileDeviceSemaphoreDoneInput
- type RequestSnapshot
- type ResolveRecordActivity
- type ResolveRecordInput
- type RunMobileFlowActivity
- type SchemaValidationActivity
- type SchemaValidationActivityPayload
- type SchemaValidationErrorDetails
- type SchemaValidationIssue
- type SendMailActivity
- type SendMailActivityPayload
- type SendPipelineCompletionNotificationActivity
- type SendPipelineCompletionNotificationInput
- type SendPipelineCompletionNotificationOutput
- type SendRealtimeLogsActivity
- type SendRealtimeLogsInput
- type SetupMobileDeviceActivity
- type SignalWorkflowActivity
- type SignalWorkflowActivityInput
- type SignalWorkflowActivityOutput
- type StartAndroidDeviceLogActivity
- type StartIOSDeviceLogActivity
- type StartIOSRecordingActivity
- type StartIOSSimulatorActivity
- type StartQueuedPipelineActivity
- type StartQueuedPipelineActivityInput
- type StartQueuedPipelineActivityOutput
- type StartRecordingActivity
- type StepCICliReturns
- type StepCIFailureStep
- type StepCIFailureSummary
- type StepCIWorkflowActivity
- type StepCIWorkflowActivityPayload
- type StepResult
- type StopAndroidDeviceLogActivity
- type StopIOSDeviceLogActivity
- type StopIOSRecordingActivity
- type StopRecordingActivity
- type StoreCredentialIssuerActivity
- type StoreCredentialIssuerInput
- type StoreCredentialIssuerOutput
- type StoreIssuerCredentialActivity
- type StoreIssuerCredentialInput
- type StoreIssuerCredentialOutput
- type TestResult
- type UnlockEmulatorActivity
- type UpdateGitHubPRCommentActivity
- type UpdateGitHubPRCommentInput
- type UseCaseVerificationDeeplinkOutput
- type ValidateDeviceAccessActivity
- type ValidateDeviceAccessInput
Constants ¶
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.
const ( FCAFValidationActivityName = "Run FCAF validation" // DefaultFCAFValidationSuite is the suite of a validation step that names none. DefaultFCAFValidationSuite = "wallet_solution/relying_party" )
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" )
const CleanupMobileDeviceSemaphoreResourcesActivityName = "Cleanup mobile device semaphore resources"
CleanupMobileDeviceSemaphoreResourcesActivityName is the registered name of CleanupMobileDeviceSemaphoreResourcesActivity.
const ContinueConformanceCheckEmailTemplate = `` /* 14401-byte string literal not displayed */
const EnqueuePipelineRunTicketActivityName = "Enqueue pipeline run ticket"
EnqueuePipelineRunTicketActivityName identifies the enqueue run ticket activity.
const (
FidesCredentialIssuersURL = "https://fides-issuer-catalog.vercel.app/api/public/issuer"
)
const PipelineEvidenceExtractionActivityName = "Extract pipeline conformance evidence"
const PipelineReportGenerationActivityName = "Generate pipeline conformance report"
const SendPipelineCompletionNotificationActivityName = "Send pipeline completion notification"
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 SignalGitHubPRCommentUpdate ¶
func SignalGitHubPRCommentUpdate(ctx context.Context, input UpdateGitHubPRCommentInput) error
Types ¶
type ApkInstallActivity ¶
type ApkInstallActivity struct {
workflowengine.BaseActivity
}
func NewApkInstallActivity ¶
func NewApkInstallActivity() *ApkInstallActivity
func (*ApkInstallActivity) Execute ¶
func (a *ApkInstallActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*ApkInstallActivity) Name ¶
func (a *ApkInstallActivity) Name() string
type ApkPostInstallChecksActivity ¶
type ApkPostInstallChecksActivity struct {
workflowengine.BaseActivity
}
func NewApkPostInstallChecksActivity ¶
func NewApkPostInstallChecksActivity() *ApkPostInstallChecksActivity
func (*ApkPostInstallChecksActivity) Execute ¶
func (a *ApkPostInstallChecksActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*ApkPostInstallChecksActivity) Name ¶
func (a *ApkPostInstallChecksActivity) Name() string
type CESRParsingActivity ¶
type CESRParsingActivity struct {
workflowengine.BaseActivity
}
CESRParsingActivity is an activity that parses a CESR string
func NewCESRParsingActivity ¶
func NewCESRParsingActivity() *CESRParsingActivity
func (*CESRParsingActivity) Execute ¶
func (a *CESRParsingActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 ¶
func (a *CESRValidateActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *CancelWorkflowActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*CancelWorkflowActivity) Name ¶
func (a *CancelWorkflowActivity) Name() string
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 ¶
func (a *CheckCredentialsIssuerActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 ¶
func (a *CheckCredentialsIssuerActivity) Name() string
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 (a *CheckFileExistsActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *CheckWorkflowClosedActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*CheckWorkflowClosedActivity) Name ¶
func (a *CheckWorkflowClosedActivity) Name() string
type CleanupDeviceActivity ¶
type CleanupDeviceActivity struct {
workflowengine.BaseActivity
}
func NewCleanupDeviceActivity ¶
func NewCleanupDeviceActivity() *CleanupDeviceActivity
func (*CleanupDeviceActivity) Execute ¶
func (a *CleanupDeviceActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *CleanupMobileDeviceSemaphoreResourcesActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*CleanupMobileDeviceSemaphoreResourcesActivity) Name ¶
func (a *CleanupMobileDeviceSemaphoreResourcesActivity) Name() string
type CleanupMobileDeviceSemaphoreResourcesActivityInput ¶
type CleanupMobileDeviceSemaphoreResourcesActivityInput struct {
Cleanup *mobiledevicesemaphore.MobileDeviceSemaphoreCleanupMetadata `json:"cleanup,omitempty"`
}
type CleanupMobileDeviceSemaphoreResourcesActivityOutput ¶
type CleanupMobileDeviceSemaphoreResourcesActivityOutput struct {
CleanupFailures []string `json:"cleanup_failures,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 (a *DeletePipelineResultFilesActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*DeletePipelineResultFilesActivity) Name ¶
func (a *DeletePipelineResultFilesActivity) Name() string
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 (a *DeleteTempRecordActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *DisableAndroidPlayStoreActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*DisableAndroidPlayStoreActivity) Name ¶
func (a *DisableAndroidPlayStoreActivity) Name() string
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 ¶
func (a *DockerActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 ¶
func (a *EnqueuePipelineRunTicketActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
Execute enqueues a run ticket across all runner semaphore workflows.
func (*EnqueuePipelineRunTicketActivity) Name ¶
func (a *EnqueuePipelineRunTicketActivity) Name() string
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 ¶
func (a *FCAFValidationActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 ¶
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 (a *GetCredentialOfferActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*GetCredentialOfferActivity) Name ¶
func (a *GetCredentialOfferActivity) Name() string
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 (a *GetMobileDeviceActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *GetUseCaseVerificationDeeplinkActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*GetUseCaseVerificationDeeplinkActivity) Name ¶
func (a *GetUseCaseVerificationDeeplinkActivity) Name() string
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 (a *HTTPActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *IOSPostInstallChecksActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*IOSPostInstallChecksActivity) Name ¶
func (a *IOSPostInstallChecksActivity) Name() string
type InstallIOSAppActivity ¶
type InstallIOSAppActivity struct {
workflowengine.BaseActivity
}
func NewInstallIOSAppActivity ¶
func NewInstallIOSAppActivity() *InstallIOSAppActivity
func (*InstallIOSAppActivity) Execute ¶
func (a *InstallIOSAppActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 ¶
func (a *JSONActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *ListInstalledAppsActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*ListInstalledAppsActivity) Name ¶
func (a *ListInstalledAppsActivity) Name() string
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 (a *MobileRunnerHTTPActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 ¶
func (a *OpenIDNetLogsActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 ParseFidesCredentialIssuersActivity ¶
type ParseFidesCredentialIssuersActivity struct {
workflowengine.BaseActivity
}
func NewParseFidesCredentialIssuersActivity ¶
func NewParseFidesCredentialIssuersActivity() *ParseFidesCredentialIssuersActivity
func (*ParseFidesCredentialIssuersActivity) Execute ¶
func (a *ParseFidesCredentialIssuersActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*ParseFidesCredentialIssuersActivity) Name ¶
func (a *ParseFidesCredentialIssuersActivity) Name() string
type ParseFidesCredentialIssuersActivityPayload ¶
type ParseFidesCredentialIssuersActivityPayload struct {
Data any `json:"data" yaml:"data" validate:"required"`
}
type ParseWalletURLActivity ¶
type ParseWalletURLActivity struct {
workflowengine.BaseActivity
}
func NewParseWalletURLActivity ¶
func NewParseWalletURLActivity() *ParseWalletURLActivity
func (*ParseWalletURLActivity) Execute ¶
func (a *ParseWalletURLActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *PatchGitHubPRCommentActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*PatchGitHubPRCommentActivity) Name ¶
func (a *PatchGitHubPRCommentActivity) Name() string
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 ¶
func (a *PipelineEvidenceExtractionActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 ¶
func (a *PipelineEvidenceExtractionActivity) Name() string
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 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 ¶
func (a *PipelineReportGenerationActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 ¶
func (a *PipelineReportGenerationActivity) Name() string
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 PreparePhysicalAndroidAppsActivity ¶
type PreparePhysicalAndroidAppsActivity struct {
workflowengine.BaseActivity
}
func NewPreparePhysicalAndroidAppsActivity ¶
func NewPreparePhysicalAndroidAppsActivity() *PreparePhysicalAndroidAppsActivity
func (*PreparePhysicalAndroidAppsActivity) Execute ¶
func (a *PreparePhysicalAndroidAppsActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*PreparePhysicalAndroidAppsActivity) Name ¶
func (a *PreparePhysicalAndroidAppsActivity) Name() string
type QueryMobileDeviceSemaphoreRunStatusActivity ¶
type QueryMobileDeviceSemaphoreRunStatusActivity struct {
workflowengine.BaseActivity
}
func NewQueryMobileDeviceSemaphoreRunStatusActivity ¶
func NewQueryMobileDeviceSemaphoreRunStatusActivity() *QueryMobileDeviceSemaphoreRunStatusActivity
func (*QueryMobileDeviceSemaphoreRunStatusActivity) Execute ¶
func (a *QueryMobileDeviceSemaphoreRunStatusActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*QueryMobileDeviceSemaphoreRunStatusActivity) Name ¶
func (a *QueryMobileDeviceSemaphoreRunStatusActivity) Name() string
type ReportMobileDeviceSemaphoreDoneActivity ¶
type ReportMobileDeviceSemaphoreDoneActivity struct {
workflowengine.BaseActivity
}
func NewReportMobileDeviceSemaphoreDoneActivity ¶
func NewReportMobileDeviceSemaphoreDoneActivity() *ReportMobileDeviceSemaphoreDoneActivity
func (*ReportMobileDeviceSemaphoreDoneActivity) Execute ¶
func (a *ReportMobileDeviceSemaphoreDoneActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*ReportMobileDeviceSemaphoreDoneActivity) Name ¶
func (a *ReportMobileDeviceSemaphoreDoneActivity) Name() string
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 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 (a *ResolveRecordActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *RunMobileFlowActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *SchemaValidationActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 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 (a *SendMailActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *SendPipelineCompletionNotificationActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*SendPipelineCompletionNotificationActivity) Name ¶
func (a *SendPipelineCompletionNotificationActivity) Name() string
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 (a *SendRealtimeLogsActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*SendRealtimeLogsActivity) Name ¶
func (a *SendRealtimeLogsActivity) Name() string
type SendRealtimeLogsInput ¶
type SetupMobileDeviceActivity ¶
type SetupMobileDeviceActivity struct {
workflowengine.BaseActivity
}
func NewSetupMobileDeviceActivity ¶
func NewSetupMobileDeviceActivity() *SetupMobileDeviceActivity
func (*SetupMobileDeviceActivity) Execute ¶
func (a *SetupMobileDeviceActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*SetupMobileDeviceActivity) Name ¶
func (a *SetupMobileDeviceActivity) Name() string
type SignalWorkflowActivity ¶
type SignalWorkflowActivity struct {
workflowengine.BaseActivity
// contains filtered or unexported fields
}
func NewSignalWorkflowActivity ¶
func NewSignalWorkflowActivity() *SignalWorkflowActivity
func (*SignalWorkflowActivity) Execute ¶
func (a *SignalWorkflowActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*SignalWorkflowActivity) Name ¶
func (a *SignalWorkflowActivity) Name() string
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)
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)
type StartIOSRecordingActivity ¶
type StartIOSRecordingActivity struct {
workflowengine.BaseActivity
}
func NewStartIOSRecordingActivity ¶
func NewStartIOSRecordingActivity() *StartIOSRecordingActivity
func (*StartIOSRecordingActivity) Execute ¶
func (a *StartIOSRecordingActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*StartIOSRecordingActivity) Name ¶
func (a *StartIOSRecordingActivity) Name() string
type StartIOSSimulatorActivity ¶
type StartIOSSimulatorActivity struct {
workflowengine.BaseActivity
}
func NewStartIOSSimulatorActivity ¶
func NewStartIOSSimulatorActivity() *StartIOSSimulatorActivity
func (*StartIOSSimulatorActivity) Execute ¶
func (a *StartIOSSimulatorActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*StartIOSSimulatorActivity) Name ¶
func (a *StartIOSSimulatorActivity) Name() string
type StartQueuedPipelineActivity ¶
type StartQueuedPipelineActivity struct {
workflowengine.BaseActivity
// contains filtered or unexported fields
}
func NewStartQueuedPipelineActivity ¶
func NewStartQueuedPipelineActivity(app core.App) *StartQueuedPipelineActivity
func (*StartQueuedPipelineActivity) Execute ¶
func (a *StartQueuedPipelineActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*StartQueuedPipelineActivity) Name ¶
func (a *StartQueuedPipelineActivity) Name() string
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 StartRecordingActivity ¶
type StartRecordingActivity struct {
workflowengine.BaseActivity
}
func NewStartRecordingActivity ¶
func NewStartRecordingActivity() *StartRecordingActivity
func (*StartRecordingActivity) Execute ¶
func (a *StartRecordingActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*StartRecordingActivity) Name ¶
func (a *StartRecordingActivity) Name() string
type StepCICliReturns ¶
type StepCIFailureStep ¶
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 (a *StepCIWorkflowActivity) Configure(input *workflowengine.ActivityInput) error
func (*StepCIWorkflowActivity) Execute ¶
func (a *StepCIWorkflowActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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)
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)
type StopIOSRecordingActivity ¶
type StopIOSRecordingActivity struct {
workflowengine.BaseActivity
}
func NewStopIOSRecordingActivity ¶
func NewStopIOSRecordingActivity() *StopIOSRecordingActivity
func (*StopIOSRecordingActivity) Execute ¶
func (a *StopIOSRecordingActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*StopIOSRecordingActivity) Name ¶
func (a *StopIOSRecordingActivity) Name() string
type StopRecordingActivity ¶
type StopRecordingActivity struct {
workflowengine.BaseActivity
}
func NewStopRecordingActivity ¶
func NewStopRecordingActivity() *StopRecordingActivity
func (*StopRecordingActivity) Execute ¶
func (a *StopRecordingActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
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 (a *StoreCredentialIssuerActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*StoreCredentialIssuerActivity) Name ¶
func (a *StoreCredentialIssuerActivity) Name() string
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 (a *StoreIssuerCredentialActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*StoreIssuerCredentialActivity) Name ¶
func (a *StoreIssuerCredentialActivity) Name() string
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 (a *UnlockEmulatorActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*UnlockEmulatorActivity) Name ¶
func (a *UnlockEmulatorActivity) Name() string
type UpdateGitHubPRCommentActivity ¶
type UpdateGitHubPRCommentActivity struct {
workflowengine.BaseActivity
}
func NewUpdateGitHubPRCommentActivity ¶
func NewUpdateGitHubPRCommentActivity() *UpdateGitHubPRCommentActivity
func (*UpdateGitHubPRCommentActivity) Execute ¶
func (a *UpdateGitHubPRCommentActivity) Execute( ctx context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*UpdateGitHubPRCommentActivity) Name ¶
func (a *UpdateGitHubPRCommentActivity) Name() string
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 (a *ValidateDeviceAccessActivity) Execute( _ context.Context, input workflowengine.ActivityInput, ) (workflowengine.ActivityResult, error)
func (*ValidateDeviceAccessActivity) Name ¶
func (a *ValidateDeviceAccessActivity) Name() string
Source Files
¶
- cancel_workflow.go
- cesr.go
- credential_issuer_store.go
- credentialsissuer.go
- credimi_activities.go
- credimi_mobile_devices.go
- credimi_records.go
- docker.go
- email.go
- email_templates.go
- enqueue_pipeline_run_ticket.go
- enqueue_pipeline_run_ticket_types.go
- fcaf_report_store.go
- fcaf_validation.go
- fides_credential_issuers.go
- github_pr_comment.go
- http.go
- json.go
- mobile_device_semaphore_cleanup.go
- mobile_device_semaphore_done.go
- mobile_device_semaphore_run_status.go
- mobile_runner_http.go
- mobileflow_stub.go
- openidnet_logs.go
- pipeline_completion_notification.go
- pipeline_evidence.go
- pipeline_report.go
- pipeline_retention.go
- queued_pipeline.go
- realtime_logs.go
- signal_workflow.go
- stepci.go
- temp_records.go
- utilities.go
- utils.go
- validateschema.go
- walleturl.go
- workflow_status.go