activities

package
v1.333.0 Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2026 License: AGPL-3.0 Imports: 85 Imported by: 0

Documentation

Overview

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 (
	ActionAuthorWorkflowType            = "ActionAuthor"
	ActionAuthorWorkflowIDSuffix        = "-author"
	ActionAuthorSessionWorkflowIDPrefix = "ActionAuthorSession-"
)

Identity of the Python agent's ActionAuthor child workflow that the session workflow (pkg/workflowengine/authorsession) starts with the ID "<session workflow ID>-author"; the session's ID is "ActionAuthorSession-<runner record id>-<ticket>".

View Source
const (
	GenerateActionAuthorParametersActivityName   = "Generate action author parameter values"
	CheckActionAuthorProtocolOutcomeActivityName = "Check action author protocol outcome"
)

Action author activities the Python agent calls on the organization worker.

View Source
const (
	ParameterScopeCandidate    = "candidate"
	ParameterScopePrerequisite = "prerequisite"
)

Parameter scopes of GenerateActionAuthorParametersInput.

View Source
const (
	ListActionAuthorWalletActionsActivityName = "List action author wallet actions"
	CheckActionAuthorPlanActivityName         = "Check action author plan"
	ResolveActionAuthorReferenceActivityName  = "Resolve action author reference"
)

Action author activities the Python agent calls to plan an action.

View Source
const (
	TranscriptUser        = "user"
	TranscriptAssistant   = "assistant"
	TranscriptToolCall    = "tool_call"
	TranscriptReview      = "review"
	TranscriptSaved       = "saved"
	TranscriptUnavailable = "unavailable"
)

Transcript entry kinds.

View Source
const (
	// TranscriptMaxEntries caps a transcript; one unavailable entry follows the cut.
	TranscriptMaxEntries = 2000
	// TranscriptMaxArguments caps a tool call's pretty-printed arguments, in characters.
	TranscriptMaxArguments = 4000
)
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"
	DeletePipelineStepScreenshotsActivityName  = "Delete pipeline step screenshots"
)

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 ActionAuthorRunGrantSignal = "credimi_run_grant"

ActionAuthorRunGrantSignal is the signal the start activity sends to the session run it started; its payload is actionauthor.SignRun's token for that run (see TrustedActionAuthorSession).

View Source
const ActionAuthorSessionWorkflowName = "Action author session"

ActionAuthorSessionWorkflowName is the organization worker's action author session workflow (pkg/workflowengine/authorsession), which a granted action_author semaphore ticket starts.

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 NotifyPipelineStartFailureActivityName = "Notify pipeline start failure"

NotifyPipelineStartFailureActivityName is registered on the mobile device semaphore worker, the only caller.

View Source
const PipelineEvidenceExtractionActivityName = "Extract pipeline conformance evidence"
View Source
const PipelineReportGenerationActivityName = "Generate pipeline conformance report"
View Source
const ReadActionAuthorPipelineRunActivityName = "Read action author pipeline run"

ReadActionAuthorPipelineRunActivityName reads the failed wallet action steps of a pipeline run for the agent.

View Source
const ResolveActionAuthorBuildActivityName = "Resolve action author build"

ResolveActionAuthorBuildActivityName is the organization worker's build-resolution activity.

View Source
const SaveAuthoredWalletActionActivityName = "Save authored wallet action"

SaveAuthoredWalletActionActivityName is the organization worker's approved-action writer.

View Source
const SendPipelineCompletionNotificationActivityName = "Send pipeline completion notification"
View Source
const StartQueuedPipelineActivityName = "Start queued pipeline"

StartQueuedPipelineActivityName is the registered name of StartQueuedPipelineActivity.

Variables

View Source
var ErrActionAuthorTranscriptNotFound = errors.New("action author chat not found")

ErrActionAuthorTranscriptNotFound reports a chat workflow Temporal does not know.

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 SessionPlan added in v1.330.0

func SessionPlan(
	app core.App,
	selection actionauthor.Selection,
	plan actionauthor.Spec,
) (actionauthor.Spec, error)

SessionPlan checks a plan the agent sends for its session exactly as Check action author plan does: normalized, its prerequisites resolved and its replaced action checked for the session's build. An empty plan is ErrInvalid.

func SignalGitHubPRCommentUpdate

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

func TrimInput

func TrimInput(s string) string

Types

type ActionAuthorSessionInfo added in v1.330.0

type ActionAuthorSessionInfo struct {
	ActionAuthorSessionRef
	Status    enumspb.WorkflowExecutionStatus
	StartTime time.Time
	CloseTime time.Time // zero while the session runs
}

ActionAuthorSessionInfo is a session Credimi started, and its state.

func ReadActionAuthorSession added in v1.330.0

func ReadActionAuthorSession(
	ctx context.Context,
	app core.App,
	clientFor func(namespace string) (client.Client, error),
	organization, sessionID, actorID string,
) (ActionAuthorSessionInfo, error)

ReadActionAuthorSession reads the trusted run of a session that actorID started for organization (a canonified_name), in any state, through clientFor of the session's runner namespace. A session Temporal does not list yet returns actionauthor.ErrSessionNotVisible; a session of another organization or user, an unknown execution or another workflow type returns actionauthor.ErrForbidden.

type ActionAuthorSessionRef added in v1.330.0

type ActionAuthorSessionRef struct {
	SessionWorkflowID string
	SessionRunID      string
	// Namespace is the Temporal namespace the session runs in (its runner's
	// agent namespace).
	Namespace string
	// Organization is the canonified_name of the organization the session
	// was started for, from its verified start input.
	Organization string
	Session      actionauthor.BuildRequest
	DeviceID     string
}

ActionAuthorSessionRef identifies a running session, its build request and the device it runs on.

func LookupActionAuthorSession added in v1.330.0

func LookupActionAuthorSession(
	ctx context.Context,
	app core.App,
	c client.Client,
	namespace string,
	authorWorkflowID string,
	authorRunID string,
) (ActionAuthorSessionRef, error)

LookupActionAuthorSession returns the running session whose ActionAuthor child is the given workflow (its latest run when authorRunID is empty), taken from the session's start input, after checking Credimi's grant for the session in namespace. Errors wrapping actionauthor.ErrForbidden reject the workflow; others are transient.

func TrustedActionAuthorSession added in v1.330.0

func TrustedActionAuthorSession(
	ctx context.Context,
	app core.App,
	clientFor func(namespace string) (client.Client, error),
	sessionID string,
) (ActionAuthorSessionRef, error)

TrustedActionAuthorSession reads the run of sessionID that Credimi started: the earliest run of that workflow ID, whose start input must carry Credimi's grant for it and whose history must hold Credimi's signed ActionAuthorRunGrantSignal for that run ID.

Credimi signs the session grant right before it starts the session with the REJECT_DUPLICATE reuse and FAIL conflict policies, so no run of that ID can carry a valid grant before Credimi's, a run started earlier by someone else makes Credimi's start fail, and a run started later with a copied grant is never the earliest. A runner namespace writer can delete Credimi's run, though, and start the ID again with the copied input: that run lacks the run grant, which names Credimi's run ID. Until runGrantGrace after the start, a run without it returns actionauthor.ErrSessionNotVisible: Credimi signals it right after the start.

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 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 CheckActionAuthorPlanActivity added in v1.330.0

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

CheckActionAuthorPlanActivity checks the plan the agent sets for the caller's session.

func NewCheckActionAuthorPlanActivity added in v1.330.0

func NewCheckActionAuthorPlanActivity(app core.App) *CheckActionAuthorPlanActivity

NewCheckActionAuthorPlanActivity binds the plan check to the application.

func (*CheckActionAuthorPlanActivity) Execute added in v1.330.0

Execute checks the plan for the activity's actual caller.

func (*CheckActionAuthorPlanActivity) Name added in v1.330.0

Name returns the registered Temporal activity name.

type CheckActionAuthorPlanInput added in v1.330.0

type CheckActionAuthorPlanInput struct {
	Plan actionauthor.Spec `json:"plan"`
}

CheckActionAuthorPlanInput is the plan the agent sets.

type CheckActionAuthorPlanOutput added in v1.330.0

type CheckActionAuthorPlanOutput struct {
	Problems      []string                            `json:"problems"`
	Plan          *actionauthor.Spec                  `json:"plan"`
	Summary       []string                            `json:"summary"`
	Prerequisites []actionauthor.ResolvedPrerequisite `json:"prerequisites"`
	Parameters    []actionauthor.ParameterInfo        `json:"parameters"`
	Replaces      *actionauthor.ReplaceTarget         `json:"replaces"` // null without a replacement or with problems
}

CheckActionAuthorPlanOutput lists the plan's problems or, when it has none, the normalized plan with its summary, resolved prerequisites, parameters and the action it replaces, with its current code. Its lists are never null; with problems the plan and its replaced action are null.

type CheckActionAuthorProtocolOutcomeActivity added in v1.330.0

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

CheckActionAuthorProtocolOutcomeActivity polls the issuer or verifier session status declared by a candidate parameter.

func NewCheckActionAuthorProtocolOutcomeActivity added in v1.330.0

func NewCheckActionAuthorProtocolOutcomeActivity(
	app core.App,
) *CheckActionAuthorProtocolOutcomeActivity

NewCheckActionAuthorProtocolOutcomeActivity returns the protocol outcome check.

func (*CheckActionAuthorProtocolOutcomeActivity) Execute added in v1.330.0

Execute checks the outcome for the activity's actual caller.

func (*CheckActionAuthorProtocolOutcomeActivity) Name added in v1.330.0

Name returns the registered Temporal activity name.

type CheckActionAuthorProtocolOutcomeInput added in v1.330.0

type CheckActionAuthorProtocolOutcomeInput struct {
	Parameter string            `json:"parameter"`
	Captures  map[string]string `json:"captures"`
	Plan      actionauthor.Spec `json:"plan"`
}

CheckActionAuthorProtocolOutcomeInput names a candidate parameter with a status check and the values captured when its value was generated; Plan is the plan Check action author plan returned, which Credimi checks again.

type CheckActionAuthorProtocolOutcomeOutput added in v1.330.0

type CheckActionAuthorProtocolOutcomeOutput struct {
	Reached  bool     `json:"reached"`
	Status   string   `json:"status"`
	Expected []string `json:"expected"`
}

CheckActionAuthorProtocolOutcomeOutput reports whether the protocol session reached a status the session's outcome expects.

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 DeletePipelineStepScreenshotsActivity added in v1.326.0

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

DeletePipelineStepScreenshotsActivity removes screenshot files from the maestro_screenshots field of a pipeline result.

func NewDeletePipelineStepScreenshotsActivity added in v1.326.0

func NewDeletePipelineStepScreenshotsActivity(app core.App) *DeletePipelineStepScreenshotsActivity

NewDeletePipelineStepScreenshotsActivity returns the activity bound to app.

func (*DeletePipelineStepScreenshotsActivity) Execute added in v1.326.0

Execute removes the named files that the pipeline result still lists.

func (*DeletePipelineStepScreenshotsActivity) Name added in v1.326.0

Name returns the activity name.

type DeletePipelineStepScreenshotsInput added in v1.326.0

type DeletePipelineStepScreenshotsInput struct {
	RunIdentifier string   `json:"run_identifier"`
	FileNames     []string `json:"file_names"`
}

DeletePipelineStepScreenshotsInput names the screenshot files to remove from a pipeline result, such as those of a linked block attempt that Temporal retries.

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. Steps run
	// inside a linked block are recorded at the block's completion or failure event.
	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 GenerateActionAuthorParametersActivity added in v1.330.0

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

GenerateActionAuthorParametersActivity generates fresh values for the parameters the caller's session declared.

func NewGenerateActionAuthorParametersActivity added in v1.330.0

func NewGenerateActionAuthorParametersActivity(
	app core.App,
) *GenerateActionAuthorParametersActivity

NewGenerateActionAuthorParametersActivity binds parameter generation to the application.

func (*GenerateActionAuthorParametersActivity) Execute added in v1.330.0

Execute generates the values for the activity's actual caller.

func (*GenerateActionAuthorParametersActivity) Name added in v1.330.0

Name returns the registered Temporal activity name.

type GenerateActionAuthorParametersInput added in v1.330.0

type GenerateActionAuthorParametersInput struct {
	Scope string            `json:"scope"`
	Index int               `json:"index"`
	Plan  actionauthor.Spec `json:"plan"`
}

GenerateActionAuthorParametersInput selects the parameter list of the caller's session: the candidate's, or the prerequisite's at Index. Plan is the plan Check action author plan returned, which Credimi checks again.

type GenerateActionAuthorParametersOutput added in v1.330.0

type GenerateActionAuthorParametersOutput struct {
	Values   map[string]string            `json:"values"`
	Captures map[string]map[string]string `json:"captures"`
}

GenerateActionAuthorParametersOutput carries fresh parameter values and, for http sources, the captured response values by parameter.

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 ListActionAuthorWalletActionsActivity added in v1.330.0

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

ListActionAuthorWalletActionsActivity lists the actions of the caller session's wallet that a plan can start from.

func NewListActionAuthorWalletActionsActivity added in v1.330.0

func NewListActionAuthorWalletActionsActivity(app core.App) *ListActionAuthorWalletActionsActivity

NewListActionAuthorWalletActionsActivity binds the listing to the application.

func (*ListActionAuthorWalletActionsActivity) Execute added in v1.330.0

Execute lists the wallet actions for the activity's actual caller.

func (*ListActionAuthorWalletActionsActivity) Name added in v1.330.0

Name returns the registered Temporal activity name.

type ListActionAuthorWalletActionsInput added in v1.330.0

type ListActionAuthorWalletActionsInput struct {
	Category string `json:"category,omitempty"`
}

ListActionAuthorWalletActionsInput optionally filters by category.

type ListActionAuthorWalletActionsOutput added in v1.330.0

type ListActionAuthorWalletActionsOutput struct {
	Actions []actionauthor.WalletAction `json:"actions"`
}

ListActionAuthorWalletActionsOutput lists the session wallet's actions.

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 NotifyPipelineStartFailureActivity added in v1.325.0

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

NotifyPipelineStartFailureActivity tells the members of the owner organization, through Web Push, that a queued pipeline run could not start. Nothing is stored.

func NewNotifyPipelineStartFailureActivity added in v1.325.0

func NewNotifyPipelineStartFailureActivity(app core.App) *NotifyPipelineStartFailureActivity

NewNotifyPipelineStartFailureActivity returns the activity bound to app.

func (*NotifyPipelineStartFailureActivity) Execute added in v1.325.0

Execute sends the start failure as a Web Push to the owner organization.

func (*NotifyPipelineStartFailureActivity) Name added in v1.325.0

Name returns the registered activity name.

type NotifyPipelineStartFailureInput added in v1.325.0

type NotifyPipelineStartFailureInput struct {
	OwnerNamespace     string `json:"owner_namespace"     validate:"required"`
	PipelineIdentifier string `json:"pipeline_identifier" validate:"required"`
	TicketID           string `json:"ticket_id"           validate:"required"`
	ErrorMessage       string `json:"error_message"`
}

NotifyPipelineStartFailureInput identifies a queued pipeline run that the device semaphore could not start.

type NotifyPipelineStartFailureOutput added in v1.325.0

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

NotifyPipelineStartFailureOutput reports how many Web Push notifications were delivered.

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 ReadActionAuthorPipelineRunActivity added in v1.330.0

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

ReadActionAuthorPipelineRunActivity reads a failed pipeline run of the caller session's namespace.

func NewReadActionAuthorPipelineRunActivity added in v1.330.0

func NewReadActionAuthorPipelineRunActivity(app core.App) *ReadActionAuthorPipelineRunActivity

NewReadActionAuthorPipelineRunActivity binds the run reader to the application.

func (*ReadActionAuthorPipelineRunActivity) Execute added in v1.330.0

Execute reads the run for the activity's actual caller.

func (*ReadActionAuthorPipelineRunActivity) Name added in v1.330.0

Name returns the registered Temporal activity name.

type ReadActionAuthorPipelineRunInput added in v1.330.0

type ReadActionAuthorPipelineRunInput struct {
	Text string `json:"text"`
}

ReadActionAuthorPipelineRunInput is the run URL, run ID or pipeline the user gave the agent.

type ReadActionAuthorPipelineRunOutput added in v1.330.0

type ReadActionAuthorPipelineRunOutput struct {
	Pipeline      string                            `json:"pipeline"`
	WorkflowID    string                            `json:"workflow_id"`
	RunID         string                            `json:"run_id"`
	Status        string                            `json:"status"`
	Failures      []actionauthor.PipelineRunFailure `json:"failures"`
	OtherFailures []string                          `json:"other_failures"`
}

ReadActionAuthorPipelineRunOutput is a pipeline run, its failed mobile-automation steps in pipeline order and every other failed step as "<step_id> (<use>): <message>". Its lists are never null.

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 ResolveActionAuthorBuildActivity added in v1.330.0

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

ResolveActionAuthorBuildActivity authorizes and resolves the workflow's selected build.

func NewResolveActionAuthorBuildActivity added in v1.330.0

func NewResolveActionAuthorBuildActivity(app core.App) *ResolveActionAuthorBuildActivity

NewResolveActionAuthorBuildActivity binds build resolution to the application's database.

func (*ResolveActionAuthorBuildActivity) Execute added in v1.330.0

Execute resolves the build of the calling session workflow.

func (*ResolveActionAuthorBuildActivity) Name added in v1.330.0

Name returns the registered Temporal activity name.

type ResolveActionAuthorReferenceActivity added in v1.330.0

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

ResolveActionAuthorReferenceActivity turns a Credimi URL, identifier or deeplink into parameter sources the session's organization can use.

func NewResolveActionAuthorReferenceActivity added in v1.330.0

func NewResolveActionAuthorReferenceActivity(app core.App) *ResolveActionAuthorReferenceActivity

NewResolveActionAuthorReferenceActivity binds reference resolution to the application.

func (*ResolveActionAuthorReferenceActivity) Execute added in v1.330.0

Execute resolves the reference for the activity's actual caller.

func (*ResolveActionAuthorReferenceActivity) Name added in v1.330.0

Name returns the registered Temporal activity name.

type ResolveActionAuthorReferenceInput added in v1.330.0

type ResolveActionAuthorReferenceInput struct {
	Text string `json:"text"`
}

ResolveActionAuthorReferenceInput is a reference the user gave the agent.

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 SaveAuthoredWalletActionActivity added in v1.330.0

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

SaveAuthoredWalletActionActivity persists a candidate approved through the workflow.

func NewSaveAuthoredWalletActionActivity added in v1.330.0

func NewSaveAuthoredWalletActionActivity(app core.App) *SaveAuthoredWalletActionActivity

NewSaveAuthoredWalletActionActivity binds approved-action persistence to the application.

func (*SaveAuthoredWalletActionActivity) Execute added in v1.330.0

Execute saves the candidate with the activity's actual namespace and workflow identity.

func (*SaveAuthoredWalletActionActivity) Name added in v1.330.0

Name returns the registered Temporal activity name.

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"`
	// RunKind is "" for a pipeline run or mobiledevicesemaphore.RunKindActionAuthor.
	RunKind string `json:"run_kind,omitempty"`
	// ActionAuthor is the authorsession.SessionInput of an action author run, as a map.
	ActionAuthor map[string]any `json:"action_author,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 TranscriptEntry added in v1.333.0

type TranscriptEntry struct {
	// Kind is user, assistant, tool_call, review, saved or unavailable.
	Kind string `json:"kind"`
	// Time is the RFC 3339 time of the history event.
	Time string `json:"time"`
	Text string `json:"text,omitempty"`
	Tool string `json:"tool,omitempty"`
	// Arguments is the tool call's pretty JSON, at most 4000 characters, cut with "…".
	Arguments string `json:"arguments,omitempty"`
	Accepted  *bool  `json:"accepted,omitempty"`
	Name      string `json:"name,omitempty"`
	Code      string `json:"code,omitempty"`
	Replaced  bool   `json:"replaced,omitempty"`
}

TranscriptEntry is one item of an action author chat, read from its history.

func ParseActionAuthorTranscript added in v1.333.0

func ParseActionAuthorTranscript(history client.HistoryEventIterator) ([]TranscriptEntry, error)

ParseActionAuthorTranscript reads the transcript from the events of a chat history, in event order: user messages, the agent's replies and tool calls, save review decisions and saved actions. A payload it cannot decode, offloaded payloads included, becomes one unavailable entry.

func ReadActionAuthorTranscript added in v1.333.0

func ReadActionAuthorTranscript(
	ctx context.Context,
	c client.Client,
	chatWorkflowID string,
) ([]TranscriptEntry, error)

ReadActionAuthorTranscript reads the transcript of the latest run of the chat workflow chatWorkflowID from its history, without querying its worker. A chat Temporal does not know returns ErrActionAuthorTranscriptNotFound.

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