docextractionflowapi

package
v1.37.0 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const Hostname = "docextractionflow.verify"

Hostname is the default hostname of the microservice.

Variables

View Source
var (
	// HINT: Insert endpoint definitions here
	ScanPDF                = Def{Method: "POST", Route: ":428/scan-pdf"}                 // MARKER: ScanPDF
	IdentifyChunks         = Def{Method: "POST", Route: ":428/identify-chunks"}          // MARKER: IdentifyChunks
	TranscribeChunk        = Def{Method: "POST", Route: ":428/transcribe-chunk"}         // MARKER: TranscribeChunk
	JoinPageTranscriptions = Def{Method: "POST", Route: ":428/join-page-transcriptions"} // MARKER: JoinPageTranscriptions
	JoinDocTranscriptions  = Def{Method: "POST", Route: ":428/join-doc-transcriptions"}  // MARKER: JoinDocTranscriptions
	DocExtraction          = Def{Method: "GET", Route: ":428/doc-extraction"}            // MARKER: DocExtraction
)

Functions

This section is empty.

Types

type Client

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

Client is a lightweight proxy for making unicast calls to the microservice.

func NewClient

func NewClient(caller service.Publisher) Client

NewClient creates a new unicast client proxy to the microservice.

func (Client) ForHost

func (_c Client) ForHost(host string) Client

ForHost returns a copy of the client with a different hostname to be applied to requests.

func (Client) WithOptions

func (_c Client) WithOptions(opts ...pub.Option) Client

WithOptions returns a copy of the client with options to be applied to requests.

type Def

type Def struct {
	Method string
	Route  string
}

Def is the routing identity of an endpoint exposed by this microservice.

func (Def) URL

func (d Def) URL() string

URL is the full URL of the endpoint, joined with the package-level Hostname.

type DocExtractionIn

type DocExtractionIn struct {
	Pdf []byte `json:"pdf,omitzero"`
}

DocExtractionIn are the input arguments of DocExtraction.

type DocExtractionOut

type DocExtractionOut struct {
	DocTranscription string `json:"docTranscription,omitzero"`
	PageCount        int    `json:"pageCount,omitzero"`
}

DocExtractionOut are the output arguments of DocExtraction.

type Executor

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

Executor runs tasks and workflows synchronously, blocking until termination. It is primarily intended for integration tests.

func NewExecutor

func NewExecutor(caller service.Publisher) Executor

NewExecutor creates a new executor proxy to the microservice.

func (Executor) DocExtraction

func (_c Executor) DocExtraction(ctx context.Context, pdf []byte) (docTranscription string, pageCount int, status string, err error)

DocExtraction creates and runs the DocExtraction workflow, blocking until termination.

func (Executor) ForHost

func (_c Executor) ForHost(host string) Executor

ForHost returns a copy of the executor with a different hostname to be applied to requests.

func (Executor) IdentifyChunks

func (_c Executor) IdentifyChunks(ctx context.Context, page []byte) (chunks []Rectangle, err error)

IdentifyChunks creates and runs the IdentifyChunks task.

func (Executor) JoinDocTranscriptions

func (_c Executor) JoinDocTranscriptions(ctx context.Context, pageTexts []string) (docTranscription string, err error)

JoinDocTranscriptions creates and runs the JoinDocTranscriptions task.

func (Executor) JoinPageTranscriptions

func (_c Executor) JoinPageTranscriptions(ctx context.Context, transcriptions []string) (pageTexts []string, err error)

JoinPageTranscriptions creates and runs the JoinPageTranscriptions task.

func (Executor) ScanPDF

func (_c Executor) ScanPDF(ctx context.Context, pdf []byte) (pageImages [][]byte, pageCount int, err error)

ScanPDF creates and runs the ScanPDF task.

func (Executor) TranscribeChunk

func (_c Executor) TranscribeChunk(ctx context.Context, page []byte, chunk Rectangle) (transcriptions []string, err error)

TranscribeChunk creates and runs the TranscribeChunk task.

func (Executor) WithFlowOptions added in v1.32.0

func (_c Executor) WithFlowOptions(flowOptions *workflow.FlowOptions) Executor

WithFlowOptions returns a copy of the executor that creates workflows with the given flow options (priority, fairness key and weight). It has no effect on task execution.

func (Executor) WithInputFlow

func (_c Executor) WithInputFlow(flow *workflow.Flow) Executor

WithInputFlow returns a copy of the executor with an input flow to use for task execution.

func (Executor) WithOptions

func (_c Executor) WithOptions(opts ...pub.Option) Executor

WithOptions returns a copy of the executor with options to be applied to requests.

func (Executor) WithOutputFlow

func (_c Executor) WithOutputFlow(flow *workflow.Flow) Executor

WithOutputFlow returns a copy of the executor with an output flow to populate after task execution.

func (Executor) WithWorkflowRunner

func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor

WithWorkflowRunner returns a copy of the executor with a workflow runner for executing workflows. foremanapi.NewClient(svc) satisfies the WorkflowRunner interface.

type Hook

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

Hook assists in the subscription to the events of the microservice.

func NewHook

func NewHook(listener service.Subscriber) Hook

NewHook creates a new hook to the events of the microservice.

func (Hook) ForHost

func (c Hook) ForHost(host string) Hook

ForHost returns a copy of the hook with a different hostname to be applied to the subscription.

func (Hook) WithOptions

func (c Hook) WithOptions(opts ...sub.Option) Hook

WithOptions returns a copy of the hook with options to be applied to subscriptions.

type IdentifyChunksIn

type IdentifyChunksIn struct {
	Page []byte `json:"page,omitzero"`
}

IdentifyChunksIn are the input arguments of IdentifyChunks.

type IdentifyChunksOut

type IdentifyChunksOut struct {
	Chunks []Rectangle `json:"chunks,omitzero"`
}

IdentifyChunksOut are the output arguments of IdentifyChunks.

type JoinDocTranscriptionsIn

type JoinDocTranscriptionsIn struct {
	PageTexts []string `json:"pageTexts,omitzero"`
}

JoinDocTranscriptionsIn are the input arguments of JoinDocTranscriptions.

type JoinDocTranscriptionsOut

type JoinDocTranscriptionsOut struct {
	DocTranscription string `json:"docTranscription,omitzero"`
}

JoinDocTranscriptionsOut are the output arguments of JoinDocTranscriptions.

type JoinPageTranscriptionsIn

type JoinPageTranscriptionsIn struct {
	Transcriptions []string `json:"transcriptions,omitzero"`
}

JoinPageTranscriptionsIn are the input arguments of JoinPageTranscriptions.

type JoinPageTranscriptionsOut

type JoinPageTranscriptionsOut struct {
	PageTexts []string `json:"pageTexts,omitzero"`
}

JoinPageTranscriptionsOut are the output arguments of JoinPageTranscriptions.

type MulticastClient

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

MulticastClient is a lightweight proxy for making multicast calls to the microservice.

func NewMulticastClient

func NewMulticastClient(caller service.Publisher) MulticastClient

NewMulticastClient creates a new multicast client proxy to the microservice.

func (MulticastClient) ForHost

func (_c MulticastClient) ForHost(host string) MulticastClient

ForHost returns a copy of the client with a different hostname to be applied to requests.

func (MulticastClient) WithOptions

func (_c MulticastClient) WithOptions(opts ...pub.Option) MulticastClient

WithOptions returns a copy of the client with options to be applied to requests.

type MulticastTrigger

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

MulticastTrigger is a lightweight proxy for triggering the events of the microservice.

func NewMulticastTrigger

func NewMulticastTrigger(caller service.Publisher) MulticastTrigger

NewMulticastTrigger creates a new multicast trigger of events of the microservice.

func (MulticastTrigger) ForHost

func (_c MulticastTrigger) ForHost(host string) MulticastTrigger

ForHost returns a copy of the trigger with a different hostname to be applied to requests.

func (MulticastTrigger) WithOptions

func (_c MulticastTrigger) WithOptions(opts ...pub.Option) MulticastTrigger

WithOptions returns a copy of the trigger with options to be applied to requests.

type Rectangle

type Rectangle struct {
	X int `json:"x,omitzero" jsonschema:"description=X is the left coordinate in pixels"`
	Y int `json:"y,omitzero" jsonschema:"description=Y is the top coordinate in pixels"`
	W int `json:"w,omitzero" jsonschema:"description=W is the width in pixels"`
	H int `json:"h,omitzero" jsonschema:"description=H is the height in pixels"`
}

Rectangle is an axis-aligned region of a page image, in pixels.

type ScanPDFIn

type ScanPDFIn struct {
	Pdf []byte `json:"pdf,omitzero"`
}

ScanPDFIn are the input arguments of ScanPDF.

type ScanPDFOut

type ScanPDFOut struct {
	PageImages [][]byte `json:"pageImages,omitzero"`
	PageCount  int      `json:"pageCount,omitzero"`
}

ScanPDFOut are the output arguments of ScanPDF.

type TranscribeChunkIn

type TranscribeChunkIn struct {
	Page  []byte    `json:"page,omitzero"`
	Chunk Rectangle `json:"chunk,omitzero"`
}

TranscribeChunkIn are the input arguments of TranscribeChunk.

type TranscribeChunkOut

type TranscribeChunkOut struct {
	Transcriptions []string `json:"transcriptions,omitzero"`
}

TranscribeChunkOut are the output arguments of TranscribeChunk. The `transcriptions` field is Append-reduced; each chunk contributes a single-element delta.

type WorkflowRunner

type WorkflowRunner interface {
	Run(ctx context.Context, workflowName string, initialState any, opts *workflow.FlowOptions) (outcome *workflow.FlowOutcome, err error)
}

WorkflowRunner executes a workflow by name with initial state, blocking until termination. foremanapi.Client satisfies this interface.

Jump to

Keyboard shortcuts

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