registry

package
v1.322.1 Latest Latest
Warning

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

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

Documentation

Overview

SPDX-FileCopyrightText: 2025 Forkbomb BV

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

Index

Constants

This section is empty.

Variables

View Source
var PipelineInternalRegistry = map[string]TaskFactory{
	"openidnet-logs": {
		Kind:    TaskWorkflow,
		NewFunc: func(core.App) any { return workflows.NewOpenID4VPWalletLogsWorkflow() },
	},
	"ewc-status": {
		Kind:    TaskWorkflow,
		NewFunc: func(core.App) any { return workflows.NewEWCStatusWorkflow() },
	},
	"webuild-status": {
		Kind:    TaskWorkflow,
		NewFunc: func(core.App) any { return workflows.NewWebuildStatusWorkflow() },
	},
	"check-file-exists": {
		Kind:       TaskActivity,
		NewFunc:    func(core.App) any { return activities.NewCheckFileExistsActivity() },
		OutputKind: workflowengine.OutputBool,
	},
	"scheduled-pipeline-enqueue": {
		Kind:    TaskWorkflow,
		NewFunc: func(core.App) any { return workflows.NewScheduledPipelineEnqueueWorkflow() },
	},
	"mobile-device-semaphore-done": {
		Kind:        TaskActivity,
		NewFunc:     func(core.App) any { return activities.NewReportMobileDeviceSemaphoreDoneActivity() },
		PayloadType: reflect.TypeOf(activities.ReportMobileDeviceSemaphoreDoneInput{}),
		OutputKind:  workflowengine.OutputAny,
	},
	"pipeline-run-ticket-enqueue": {
		Kind:        TaskActivity,
		NewFunc:     func(core.App) any { return activities.NewEnqueuePipelineRunTicketActivity() },
		PayloadType: reflect.TypeOf(activities.EnqueuePipelineRunTicketActivityInput{}),
		OutputKind:  workflowengine.OutputAny,
	},
	"mobile-runner-http-request": {
		Kind:        TaskActivity,
		NewFunc:     func(app core.App) any { return activities.NewMobileRunnerHTTPActivity(app) },
		PayloadType: reflect.TypeOf(activities.MobileRunnerHTTPActivityPayload{}),
		OutputKind:  workflowengine.OutputMap,
	},
	"pipeline-evidence-extraction": {
		Kind:        TaskActivity,
		NewFunc:     func(app core.App) any { return activities.NewPipelineEvidenceExtractionActivity(app) },
		PayloadType: reflect.TypeOf(activities.PipelineEvidenceExtractionInput{}),
		OutputKind:  workflowengine.OutputMap,
	},
	"pipeline-report-generation": {
		Kind: TaskActivity,
		NewFunc: func(app core.App) any {
			return activities.NewPipelineReportGenerationActivity(app, StepActivityOutputKind)
		},
		PayloadType: reflect.TypeOf(activities.PipelineReportGenerationInput{}),
		OutputKind:  workflowengine.OutputMap,
	},
	"pipeline-completion-notification": {
		Kind: TaskActivity,
		NewFunc: func(app core.App) any {
			return activities.NewSendPipelineCompletionNotificationActivity(app)
		},
		PayloadType: reflect.TypeOf(activities.SendPipelineCompletionNotificationInput{}),
		OutputKind:  workflowengine.OutputAny,
	},
}
View Source
var Registry = map[string]TaskFactory{
	"http-request": {
		Kind:        TaskActivity,
		NewFunc:     func(core.App) any { return activities.NewHTTPActivity() },
		PayloadType: reflect.TypeOf(activities.HTTPActivityPayload{}),
		OutputKind:  workflowengine.OutputMap,
	},
	"email": {
		Kind:        TaskActivity,
		NewFunc:     func(core.App) any { return activities.NewSendMailActivity() },
		PayloadType: reflect.TypeOf(activities.SendMailActivityPayload{}),
		OutputKind:  workflowengine.OutputString,
	},
	"rest-chain": {
		Kind:                TaskActivity,
		NewFunc:             func(core.App) any { return activities.NewStepCIWorkflowActivity() },
		PayloadType:         reflect.TypeOf(activities.StepCIWorkflowActivityPayload{}),
		OutputKind:          workflowengine.OutputMap,
		InheritedConfigKeys: []string{"template"},
	},
	"json-parse": {
		Kind: TaskActivity,
		NewFunc: func(core.App) any {
			return activities.NewJSONActivity(map[string]reflect.Type{
				"map": reflect.TypeOf(
					map[string]any{},
				),
			})
		},
		PayloadType: reflect.TypeOf(activities.JSONActivityPayload{}),
		OutputKind:  workflowengine.OutputMap,
	},
	"jsonschema-validation": {
		Kind:        TaskActivity,
		NewFunc:     func(core.App) any { return activities.NewSchemaValidationActivity() },
		PayloadType: reflect.TypeOf(activities.SchemaValidationActivityPayload{}),
		OutputKind:  workflowengine.OutputMap,
	},
	"credential-issuer-validation": {
		Kind:        TaskActivity,
		NewFunc:     func(core.App) any { return activities.NewCheckCredentialsIssuerActivity() },
		PayloadType: reflect.TypeOf(activities.CheckCredentialsIssuerActivityPayload{}),
		OutputKind:  workflowengine.OutputMap,
	},
	"appstore-url-validation": {
		Kind:        TaskActivity,
		NewFunc:     func(core.App) any { return activities.NewParseWalletURLActivity() },
		PayloadType: reflect.TypeOf(activities.ParseWalletURLActivityPayload{}),
		OutputKind:  workflowengine.OutputMap,
	},
	"mobile-automation": {
		Kind:                TaskWorkflow,
		NewFunc:             func(core.App) any { return workflows.NewMobileAutomationWorkflow() },
		PayloadType:         reflect.TypeOf(workflows.MobileAutomationWorkflowPayload{}),
		PipelinePayloadType: reflect.TypeOf(workflows.MobileAutomationWorkflowPipelinePayload{}),
	},
	"custom-check": {
		Kind:        TaskWorkflow,
		NewFunc:     func(core.App) any { return workflows.NewCustomCheckWorkflow() },
		PayloadType: reflect.TypeOf(workflows.CustomCheckWorkflowPayload{}),
	},
	"credential-offer": {
		Kind:        TaskWorkflow,
		NewFunc:     func(core.App) any { return workflows.NewGetCredentialOfferWorkflow() },
		PayloadType: reflect.TypeOf(workflows.GetCredentialOfferWorkflowPayload{}),
	},
	"conformance-check": {
		Kind:                TaskWorkflow,
		NewFunc:             func(core.App) any { return workflows.NewStartCheckWorkflow() },
		PayloadType:         reflect.TypeOf(workflows.StartCheckWorkflowPayload{}),
		PipelinePayloadType: reflect.TypeOf(workflows.StartCheckWorkflowPipelinePayload{}),
	},
	"fcaf-validation": {
		Kind: TaskActivity,
		NewFunc: func(app core.App) any {
			return activities.NewFCAFValidationActivity(app, StepActivityOutputKind)
		},
		PayloadType: reflect.TypeOf(activities.FCAFValidationActivityInput{}),
		OutputKind:  workflowengine.OutputMap,
		InheritedConfigKeys: []string{
			workflowengine.TelemetryRootWorkflowIDKey,
			workflowengine.TelemetryRootRunIDKey,
		},
	},
	"use-case-verification-deeplink": {
		Kind:        TaskWorkflow,
		NewFunc:     func(core.App) any { return workflows.NewGetUseCaseVerificationDeeplinkWorkflow() },
		PayloadType: reflect.TypeOf(workflows.GetUseCaseVerificationDeeplinkWorkflowPayload{}),
	},
}

Registry maps activity keys to their factory.

Functions

func StepActivityOutputKind

func StepActivityOutputKind(use string) (workflowengine.OutputKind, bool)

StepActivityOutputKind reports the output kind of the step-usable activity `use`.

Types

type TaskFactory

type TaskFactory struct {
	Kind                TaskKind
	NewFunc             func(app core.App) any
	PayloadType         reflect.Type
	PipelinePayloadType reflect.Type
	OutputKind          workflowengine.OutputKind
	CustomTaskQueue     bool
	// InheritedConfigKeys lists the workflow-level config keys copied into this
	// activity's input config. Other workflow-level keys stay out of the input.
	InheritedConfigKeys []string
}

type TaskKind

type TaskKind int
const (
	TaskActivity TaskKind = iota
	TaskWorkflow
)

Jump to

Keyboard shortcuts

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