Documentation
¶
Index ¶
- Constants
- Variables
- type Client
- type Def
- type DocExtractionIn
- type DocExtractionOut
- type Executor
- func (_c Executor) DocExtraction(ctx context.Context, pdf []byte) (docTranscription string, pageCount int, status string, err error)
- func (_c Executor) ForHost(host string) Executor
- func (_c Executor) IdentifyChunks(ctx context.Context, page []byte) (chunks []Rectangle, err error)
- func (_c Executor) JoinDocTranscriptions(ctx context.Context, pageTexts []string) (docTranscription string, err error)
- func (_c Executor) JoinPageTranscriptions(ctx context.Context, transcriptions []string) (pageTexts []string, err error)
- func (_c Executor) ScanPDF(ctx context.Context, pdf []byte) (pageImages [][]byte, pageCount int, err error)
- func (_c Executor) TranscribeChunk(ctx context.Context, page []byte, chunk Rectangle) (transcriptions []string, err error)
- func (_c Executor) WithFlowOptions(flowOptions *workflow.FlowOptions) Executor
- func (_c Executor) WithInputFlow(flow *workflow.Flow) Executor
- func (_c Executor) WithOptions(opts ...pub.Option) Executor
- func (_c Executor) WithOutputFlow(flow *workflow.Flow) Executor
- func (_c Executor) WithWorkflowRunner(runner WorkflowRunner) Executor
- type Hook
- type IdentifyChunksIn
- type IdentifyChunksOut
- type JoinDocTranscriptionsIn
- type JoinDocTranscriptionsOut
- type JoinPageTranscriptionsIn
- type JoinPageTranscriptionsOut
- type MulticastClient
- type MulticastTrigger
- type Rectangle
- type ScanPDFIn
- type ScanPDFOut
- type TranscribeChunkIn
- type TranscribeChunkOut
- type WorkflowRunner
Constants ¶
const Hostname = "docextractionflow.verify"
Hostname is the default hostname of the microservice.
Variables ¶
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.
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 ¶
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 ¶
ForHost returns a copy of the executor with a different hostname to be applied to requests.
func (Executor) IdentifyChunks ¶
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 ¶
WithInputFlow returns a copy of the executor with an input flow to use for task execution.
func (Executor) WithOptions ¶
WithOptions returns a copy of the executor with options to be applied to requests.
func (Executor) WithOutputFlow ¶
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.
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.