cadrumo.application.ledger.invoice_draft_extraction_ports module¶
Application-owned dependencies for invoice-draft extraction.
The extraction use case decides when an evidence reader is needed. This module names the capabilities it needs; outer composition chooses the concrete e-invoice, LLM, and secure-storage implementations.
- class EvidenceConsentProof(*args, **kwargs)[source]¶
Bases:
ProtocolMinimum consent fact the use case needs to bind evidence bytes.
- class VisionImage(base64_data, media_type)[source]¶
Bases:
objectIn-memory image prepared by the application for a vision reader.
- Parameters:
base64_data (str)
media_type (ImageMediaType)
-
media_type:
ImageMediaType¶
- exception StructuredInvoiceReadError(message=None, *, context=None, translated_message=None)[source]¶
Bases:
CadrumoErrorA structured document could not be read by the selected exact reader.
- Parameters:
- Return type:
None
- code¶
Bases:
CadrumoErrorSelected reader or its runtime was unavailable; preserve its cause.
- Parameters:
cause (Exception)
- Return type:
None
- class InvoiceDraftExtractionPorts(resolve_evidence_input, evidence_input_ports, text_layer_ports, parse_structured_invoice, read_text, propose_supply_nature, rasterise_pdf, transcribe_vision, consent_binding_error)[source]¶
Bases:
objectConcrete capabilities supplied by an outer composition root.
- Parameters:
resolve_evidence_input (Callable[[str, str | None, str | None, Settings], EvidenceInput])
evidence_input_ports (EvidenceInputPorts)
text_layer_ports (EvidenceTextLayerPorts)
parse_structured_invoice (StructuredInvoiceReader)
read_text (Callable[[DocumentTranscription, Settings, LLMProvider | None, EvidenceConsentProof | None, object], InvoiceDraft])
propose_supply_nature (Callable[[DocumentTranscription, Settings], SupplyNature | None])
transcribe_vision (Callable[[tuple[VisionImage, ...], str, Settings, LLMProvider | None, EvidenceConsentProof | None], DocumentTranscription])
consent_binding_error (Callable[[dict[str, object]], Exception])
-
evidence_input_ports:
EvidenceInputPorts¶
-
text_layer_ports:
EvidenceTextLayerPorts¶
-
parse_structured_invoice:
StructuredInvoiceReader¶
-
read_text:
Callable[[DocumentTranscription,Settings,LLMProvider|None,EvidenceConsentProof|None,object],InvoiceDraft]¶
-
propose_supply_nature:
Callable[[DocumentTranscription,Settings],SupplyNature|None]¶
-
transcribe_vision:
Callable[[tuple[VisionImage,...],str,Settings,LLMProvider|None,EvidenceConsentProof|None],DocumentTranscription]¶