lambda-erp 0.6.17__tar.gz → 0.6.18__tar.gz
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.
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/PKG-INFO +1 -1
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/attachments.py +4 -4
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/chat.py +3 -1
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/pyproject.toml +1 -1
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/.gitignore +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/LICENSE +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/README.md +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/__init__.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/auth.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/bootstrap.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/demo_limits.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/deps.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/errors.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/main.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/oauth.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/pdf.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/providers.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/remarks_md.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/__init__.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/accounting.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/admin.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/analytics.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/bank_reconciliation.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/chat_api.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/documents.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/masters.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/mcp.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/proposals.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/reports.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/routers/setup.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/services.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/templates/document.html +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/api/templates/proposal.html +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/docs/agents/README.md +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/frontend/LICENSE +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/frontend/README.md +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/frontend/src/api/client.ts +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/__init__.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/__init__.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/bank_transaction.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/budget.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/chart_of_accounts.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/general_ledger.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/journal_entry.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/payment_entry.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/pos_invoice.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/purchase_invoice.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/revaluation.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/sales_invoice.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/__init__.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/engine.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/pack.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/packs/__init__.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/packs/ch.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/packs/de_common.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/packs/de_skr03.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/packs/de_skr04.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/packs/generic.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/profiles.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/setup/spine.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/accounting/subscription.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/buying/__init__.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/buying/purchase_order.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/controllers/__init__.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/controllers/currency.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/controllers/defaults.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/controllers/pricing_rule.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/controllers/taxes_and_totals.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/database.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/exceptions.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/hooks.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/model.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/selling/__init__.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/selling/proposal.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/selling/quotation.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/selling/sales_order.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/simulation.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/stock/__init__.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/stock/delivery_note.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/stock/purchase_receipt.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/stock/stock_entry.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/stock/stock_ledger.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/lambda_erp/utils.py +0 -0
- {lambda_erp-0.6.17 → lambda_erp-0.6.18}/terraform/README.md +0 -0
|
@@ -403,10 +403,10 @@ def build_multimodal_content(attachment: dict) -> dict:
|
|
|
403
403
|
}
|
|
404
404
|
if mime in OFFICE_MIME_TYPES:
|
|
405
405
|
# Office bytes are read via the Files API (file_id) — but ONLY the
|
|
406
|
-
# Responses API accepts non-PDF file inputs.
|
|
407
|
-
#
|
|
408
|
-
#
|
|
409
|
-
if os.environ.get("ERP_CHAT_API", "
|
|
406
|
+
# Responses API accepts non-PDF file inputs. The Responses path is the
|
|
407
|
+
# default; only degrade gracefully (no hard 400) if someone has pinned
|
|
408
|
+
# the legacy Chat Completions backend via ERP_CHAT_API=chat.
|
|
409
|
+
if os.environ.get("ERP_CHAT_API", "responses").strip().lower() == "chat":
|
|
410
410
|
return {"type": "text",
|
|
411
411
|
"text": (f"[Attachment “{filename}” is an Office document; the current chat "
|
|
412
412
|
"backend can only read PDFs and images. Convert it to PDF, or ask an "
|
|
@@ -2712,7 +2712,9 @@ ORCHESTRATOR_MODEL = "gpt-5.6-terra"
|
|
|
2712
2712
|
# ---------------------------------------------------------------------------
|
|
2713
2713
|
|
|
2714
2714
|
def _use_responses_api() -> bool:
|
|
2715
|
-
|
|
2715
|
+
# Default: the Responses API (needed for Office attachments + native
|
|
2716
|
+
# reasoning). Set ERP_CHAT_API=chat to fall back to Chat Completions.
|
|
2717
|
+
return os.environ.get("ERP_CHAT_API", "responses").strip().lower() != "chat"
|
|
2716
2718
|
|
|
2717
2719
|
|
|
2718
2720
|
# Reasoning effort for the Responses path (native; the Chat path uses "none").
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|