openfatture 1.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- openfatture/__init__.py +10 -0
- openfatture/ai/__init__.py +65 -0
- openfatture/ai/agents/__init__.py +1 -0
- openfatture/ai/agents/cash_flow_predictor.py +791 -0
- openfatture/ai/agents/chat_agent.py +370 -0
- openfatture/ai/agents/compliance/__init__.py +65 -0
- openfatture/ai/agents/compliance/checker.py +470 -0
- openfatture/ai/agents/compliance/heuristics.py +507 -0
- openfatture/ai/agents/compliance/rules.py +638 -0
- openfatture/ai/agents/compliance/sdi_patterns.py +435 -0
- openfatture/ai/agents/invoice_assistant.py +278 -0
- openfatture/ai/agents/models.py +193 -0
- openfatture/ai/agents/payment_insight_agent.py +120 -0
- openfatture/ai/agents/tax_advisor.py +316 -0
- openfatture/ai/cache/__init__.py +46 -0
- openfatture/ai/cache/config.py +130 -0
- openfatture/ai/cache/memory.py +272 -0
- openfatture/ai/cache/provider.py +305 -0
- openfatture/ai/cache/strategy.py +137 -0
- openfatture/ai/config/__init__.py +5 -0
- openfatture/ai/config/settings.py +330 -0
- openfatture/ai/context/__init__.py +5 -0
- openfatture/ai/context/enrichment.py +309 -0
- openfatture/ai/domain/__init__.py +50 -0
- openfatture/ai/domain/agent.py +614 -0
- openfatture/ai/domain/context.py +271 -0
- openfatture/ai/domain/message.py +118 -0
- openfatture/ai/domain/prompt.py +347 -0
- openfatture/ai/domain/response.py +129 -0
- openfatture/ai/ml/__init__.py +57 -0
- openfatture/ai/ml/config.py +359 -0
- openfatture/ai/ml/data_loader.py +502 -0
- openfatture/ai/ml/features.py +575 -0
- openfatture/ai/orchestration/__init__.py +173 -0
- openfatture/ai/orchestration/human_loop.py +468 -0
- openfatture/ai/orchestration/resilience.py +517 -0
- openfatture/ai/orchestration/states.py +520 -0
- openfatture/ai/orchestration/workflows/__init__.py +53 -0
- openfatture/ai/orchestration/workflows/cash_flow_analysis.py +614 -0
- openfatture/ai/orchestration/workflows/compliance_check.py +589 -0
- openfatture/ai/orchestration/workflows/invoice_creation.py +931 -0
- openfatture/ai/prompts/__init__.py +1 -0
- openfatture/ai/prompts/chat_assistant.yaml +134 -0
- openfatture/ai/prompts/invoice_assistant.yaml +116 -0
- openfatture/ai/prompts/tax_advisor.yaml +310 -0
- openfatture/ai/providers/__init__.py +32 -0
- openfatture/ai/providers/anthropic.py +360 -0
- openfatture/ai/providers/base.py +253 -0
- openfatture/ai/providers/factory.py +309 -0
- openfatture/ai/providers/ollama.py +340 -0
- openfatture/ai/providers/openai.py +473 -0
- openfatture/ai/rag/__init__.py +242 -0
- openfatture/ai/rag/config.py +166 -0
- openfatture/ai/rag/embeddings.py +354 -0
- openfatture/ai/rag/indexing.py +284 -0
- openfatture/ai/rag/knowledge_indexer.py +304 -0
- openfatture/ai/rag/retrieval.py +305 -0
- openfatture/ai/rag/sources.json +53 -0
- openfatture/ai/rag/vector_store.py +421 -0
- openfatture/ai/session/__init__.py +11 -0
- openfatture/ai/session/manager.py +425 -0
- openfatture/ai/session/models.py +419 -0
- openfatture/ai/tools/__init__.py +12 -0
- openfatture/ai/tools/client_tools.py +237 -0
- openfatture/ai/tools/invoice_tools.py +308 -0
- openfatture/ai/tools/knowledge_tools.py +120 -0
- openfatture/ai/tools/models.py +206 -0
- openfatture/ai/tools/registry.py +281 -0
- openfatture/cli/__init__.py +1 -0
- openfatture/cli/commands/__init__.py +1 -0
- openfatture/cli/commands/ai.py +892 -0
- openfatture/cli/commands/batch.py +266 -0
- openfatture/cli/commands/cliente.py +269 -0
- openfatture/cli/commands/config.py +179 -0
- openfatture/cli/commands/email.py +216 -0
- openfatture/cli/commands/fattura.py +555 -0
- openfatture/cli/commands/init.py +258 -0
- openfatture/cli/commands/interactive.py +79 -0
- openfatture/cli/commands/notifiche.py +245 -0
- openfatture/cli/commands/pec.py +96 -0
- openfatture/cli/commands/report.py +324 -0
- openfatture/cli/completion/README.md +295 -0
- openfatture/cli/completion/__init__.py +1 -0
- openfatture/cli/completion/_openfatture.bash +134 -0
- openfatture/cli/completion/_openfatture.zsh +181 -0
- openfatture/cli/completion/install.sh +191 -0
- openfatture/cli/main.py +92 -0
- openfatture/cli/ui/__init__.py +57 -0
- openfatture/cli/ui/autocomplete.py +221 -0
- openfatture/cli/ui/autocomplete_data.py +352 -0
- openfatture/cli/ui/chat.py +562 -0
- openfatture/cli/ui/config_wizard.py +517 -0
- openfatture/cli/ui/dashboard.py +520 -0
- openfatture/cli/ui/helpers.py +307 -0
- openfatture/cli/ui/menus.py +946 -0
- openfatture/cli/ui/progress.py +142 -0
- openfatture/cli/ui/styles.py +33 -0
- openfatture/core/__init__.py +1 -0
- openfatture/core/batch/__init__.py +22 -0
- openfatture/core/batch/invoice_processor.py +233 -0
- openfatture/core/batch/operations.py +337 -0
- openfatture/core/batch/processor.py +232 -0
- openfatture/core/clienti/__init__.py +1 -0
- openfatture/core/fatture/__init__.py +1 -0
- openfatture/core/fatture/service.py +56 -0
- openfatture/core/fiscale/__init__.py +1 -0
- openfatture/core/prodotti/__init__.py +1 -0
- openfatture/payment/README.md +701 -0
- openfatture/payment/__init__.py +27 -0
- openfatture/payment/application/__init__.py +48 -0
- openfatture/payment/application/events.py +72 -0
- openfatture/payment/application/listeners.py +58 -0
- openfatture/payment/application/notifications/__init__.py +21 -0
- openfatture/payment/application/notifications/notifier.py +387 -0
- openfatture/payment/application/services/__init__.py +17 -0
- openfatture/payment/application/services/insight_service.py +96 -0
- openfatture/payment/application/services/matching_service.py +431 -0
- openfatture/payment/application/services/payment_overview.py +150 -0
- openfatture/payment/application/services/reconciliation_service.py +589 -0
- openfatture/payment/application/services/reminder_scheduler.py +464 -0
- openfatture/payment/cli/__init__.py +5 -0
- openfatture/payment/cli/payment_cli.py +1157 -0
- openfatture/payment/domain/__init__.py +26 -0
- openfatture/payment/domain/enums.py +112 -0
- openfatture/payment/domain/models.py +324 -0
- openfatture/payment/domain/payment_allocation.py +53 -0
- openfatture/payment/domain/value_objects.py +275 -0
- openfatture/payment/infrastructure/__init__.py +15 -0
- openfatture/payment/infrastructure/importers/__init__.py +50 -0
- openfatture/payment/infrastructure/importers/base.py +240 -0
- openfatture/payment/infrastructure/importers/csv_importer.py +391 -0
- openfatture/payment/infrastructure/importers/factory.py +288 -0
- openfatture/payment/infrastructure/importers/ofx_importer.py +269 -0
- openfatture/payment/infrastructure/importers/presets.py +415 -0
- openfatture/payment/infrastructure/importers/qif_importer.py +385 -0
- openfatture/payment/infrastructure/repository.py +365 -0
- openfatture/payment/matchers/__init__.py +34 -0
- openfatture/payment/matchers/base.py +146 -0
- openfatture/payment/matchers/composite.py +171 -0
- openfatture/payment/matchers/date_window.py +203 -0
- openfatture/payment/matchers/exact.py +156 -0
- openfatture/payment/matchers/fuzzy.py +364 -0
- openfatture/payment/matchers/iban.py +367 -0
- openfatture/payment/templates/reminder_email.html +220 -0
- openfatture/payment/templates/reminder_email.txt +41 -0
- openfatture/sdi/__init__.py +1 -0
- openfatture/sdi/digital_signature/__init__.py +15 -0
- openfatture/sdi/digital_signature/certificate_manager.py +209 -0
- openfatture/sdi/digital_signature/signer.py +201 -0
- openfatture/sdi/digital_signature/verifier.py +227 -0
- openfatture/sdi/notifiche/__init__.py +19 -0
- openfatture/sdi/notifiche/parser.py +303 -0
- openfatture/sdi/notifiche/processor.py +277 -0
- openfatture/sdi/pec_sender/__init__.py +1 -0
- openfatture/sdi/pec_sender/sender.py +271 -0
- openfatture/sdi/validator/__init__.py +1 -0
- openfatture/sdi/validator/xsd_validator.py +176 -0
- openfatture/sdi/xml_builder/__init__.py +1 -0
- openfatture/sdi/xml_builder/fatturapa.py +349 -0
- openfatture/services/__init__.py +1 -0
- openfatture/services/pdf/__init__.py +27 -0
- openfatture/services/pdf/components/__init__.py +13 -0
- openfatture/services/pdf/components/footer.py +42 -0
- openfatture/services/pdf/components/header.py +78 -0
- openfatture/services/pdf/components/qrcode.py +104 -0
- openfatture/services/pdf/components/table.py +101 -0
- openfatture/services/pdf/generator.py +406 -0
- openfatture/services/pdf/templates/__init__.py +13 -0
- openfatture/services/pdf/templates/base.py +296 -0
- openfatture/services/pdf/templates/branded.py +115 -0
- openfatture/services/pdf/templates/minimalist.py +41 -0
- openfatture/services/pdf/templates/professional.py +65 -0
- openfatture/storage/__init__.py +1 -0
- openfatture/storage/database/__init__.py +5 -0
- openfatture/storage/database/base.py +120 -0
- openfatture/storage/database/models.py +384 -0
- openfatture/utils/__init__.py +1 -0
- openfatture/utils/config.py +190 -0
- openfatture/utils/datetime.py +8 -0
- openfatture/utils/email/__init__.py +28 -0
- openfatture/utils/email/i18n/en.json +120 -0
- openfatture/utils/email/i18n/it.json +120 -0
- openfatture/utils/email/models.py +216 -0
- openfatture/utils/email/renderer.py +353 -0
- openfatture/utils/email/sender.py +480 -0
- openfatture/utils/email/styles.py +274 -0
- openfatture/utils/email/templates/base.html +59 -0
- openfatture/utils/email/templates/base.txt +26 -0
- openfatture/utils/email/templates/batch/riepilogo_batch.html +85 -0
- openfatture/utils/email/templates/batch/riepilogo_batch.txt +43 -0
- openfatture/utils/email/templates/sdi/invio_fattura.html +59 -0
- openfatture/utils/email/templates/sdi/invio_fattura.txt +40 -0
- openfatture/utils/email/templates/sdi/notifica_attestazione.html +31 -0
- openfatture/utils/email/templates/sdi/notifica_attestazione.txt +17 -0
- openfatture/utils/email/templates/sdi/notifica_consegna.html +42 -0
- openfatture/utils/email/templates/sdi/notifica_consegna.txt +26 -0
- openfatture/utils/email/templates/sdi/notifica_esito_accettata.html +31 -0
- openfatture/utils/email/templates/sdi/notifica_esito_accettata.txt +17 -0
- openfatture/utils/email/templates/sdi/notifica_esito_rifiutata.html +41 -0
- openfatture/utils/email/templates/sdi/notifica_esito_rifiutata.txt +29 -0
- openfatture/utils/email/templates/sdi/notifica_mancata_consegna.html +43 -0
- openfatture/utils/email/templates/sdi/notifica_mancata_consegna.txt +29 -0
- openfatture/utils/email/templates/sdi/notifica_scarto.html +57 -0
- openfatture/utils/email/templates/sdi/notifica_scarto.txt +33 -0
- openfatture/utils/email/templates/test/test_email.html +37 -0
- openfatture/utils/email/templates/test/test_email.txt +22 -0
- openfatture/utils/logging.py +267 -0
- openfatture/utils/rate_limiter.py +302 -0
- openfatture/utils/security.py +251 -0
- openfatture/utils/validators.py +96 -0
- openfatture-1.1.0.dist-info/METADATA +225 -0
- openfatture-1.1.0.dist-info/RECORD +215 -0
- openfatture-1.1.0.dist-info/WHEEL +4 -0
- openfatture-1.1.0.dist-info/entry_points.txt +2 -0
- openfatture-1.1.0.dist-info/licenses/LICENSE +21 -0
openfatture/__init__.py
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"""
|
|
2
|
+
OpenFatture - Open-source electronic invoicing for Italian freelancers.
|
|
3
|
+
|
|
4
|
+
A modern, CLI-first invoicing system with AI-powered workflows and full
|
|
5
|
+
compliance with FatturaPA and SDI requirements.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
__version__ = "1.1.0"
|
|
9
|
+
__author__ = "Venere Labs"
|
|
10
|
+
__license__ = "MIT"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"""
|
|
2
|
+
AI-powered assistance features for OpenFatture.
|
|
3
|
+
|
|
4
|
+
This package provides LLM-based agents for intelligent invoice management:
|
|
5
|
+
- Invoice description generation
|
|
6
|
+
- Tax advice and VAT suggestions
|
|
7
|
+
- Cash flow prediction
|
|
8
|
+
- Compliance checking
|
|
9
|
+
|
|
10
|
+
Architecture:
|
|
11
|
+
- Domain: Core models (Message, Response, Context, Agent)
|
|
12
|
+
- Providers: LLM provider abstractions (OpenAI, Anthropic, Ollama)
|
|
13
|
+
- Agents: Specialized agents for different tasks
|
|
14
|
+
- Config: Configuration management
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
# Core domain models
|
|
18
|
+
# Configuration
|
|
19
|
+
from openfatture.ai.config import AISettings, get_ai_settings
|
|
20
|
+
from openfatture.ai.domain import (
|
|
21
|
+
AgentConfig,
|
|
22
|
+
AgentContext,
|
|
23
|
+
AgentProtocol,
|
|
24
|
+
AgentResponse,
|
|
25
|
+
BaseAgent,
|
|
26
|
+
Message,
|
|
27
|
+
PromptManager,
|
|
28
|
+
ResponseStatus,
|
|
29
|
+
Role,
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
# Providers
|
|
33
|
+
from openfatture.ai.providers import (
|
|
34
|
+
AnthropicProvider,
|
|
35
|
+
BaseLLMProvider,
|
|
36
|
+
OllamaProvider,
|
|
37
|
+
OpenAIProvider,
|
|
38
|
+
ProviderError,
|
|
39
|
+
create_provider,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
__version__ = "1.1.0"
|
|
43
|
+
|
|
44
|
+
__all__ = [
|
|
45
|
+
# Domain
|
|
46
|
+
"AgentConfig",
|
|
47
|
+
"AgentContext",
|
|
48
|
+
"AgentProtocol",
|
|
49
|
+
"AgentResponse",
|
|
50
|
+
"BaseAgent",
|
|
51
|
+
"Message",
|
|
52
|
+
"Role",
|
|
53
|
+
"ResponseStatus",
|
|
54
|
+
"PromptManager",
|
|
55
|
+
# Config
|
|
56
|
+
"AISettings",
|
|
57
|
+
"get_ai_settings",
|
|
58
|
+
# Providers
|
|
59
|
+
"BaseLLMProvider",
|
|
60
|
+
"OpenAIProvider",
|
|
61
|
+
"AnthropicProvider",
|
|
62
|
+
"OllamaProvider",
|
|
63
|
+
"create_provider",
|
|
64
|
+
"ProviderError",
|
|
65
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""LangChain agents for intelligent automation."""
|