Watch
1
0
Fork
You've already forked Seyyed_arc
0
forked from hesabix/arc
Seyyed_arc/hesabixAPI/app/services/ai/ai_tool_keys.py

312 lines
16 KiB
Python

"""
کلیدهای i18n برای نام ابزارهای AI (هماهنگ با app_*.arb در Flutter).
"""
from __future__ import annotations
from typing import Dict, Optional
# function_name -> l10n key (بدون پیشوند؛ در UI با aiTool* map می‌شود)
TOOL_L10N_KEYS: Dict[str, str] = {
"get_business_info": "aiToolGetBusinessInfo",
"search_invoices": "aiToolSearchInvoices",
"get_invoice_details": "aiToolGetInvoiceDetails",
"get_invoices_count": "aiToolGetInvoicesCount",
"create_invoice": "aiToolCreateInvoice",
"search_products": "aiToolSearchProducts",
"get_product_info": "aiToolGetProductInfo",
"get_inventory_status": "aiToolGetInventoryStatus",
"get_product_kardex": "aiToolGetProductKardex",
"get_customer_info": "aiToolGetCustomerInfo",
"search_persons": "aiToolSearchPersons",
"get_person_balance": "aiToolGetPersonBalance",
"create_person": "aiToolCreatePerson",
"update_person": "aiToolUpdatePerson",
"get_financial_summary": "aiToolGetFinancialSummary",
"get_debtors_report": "aiToolGetDebtorsReport",
"get_creditors_report": "aiToolGetCreditorsReport",
"search_receipts_payments": "aiToolSearchReceiptsPayments",
"create_receipt_payment": "aiToolCreateReceiptPayment",
"get_sales_report": "aiToolGetSalesReport",
"get_purchase_report": "aiToolGetPurchaseReport",
"get_inventory_valuation": "aiToolGetInventoryValuation",
"get_cash_flow": "aiToolGetCashFlow",
"search_leads": "aiToolSearchLeads",
"get_lead_details": "aiToolGetLeadDetails",
"search_deals": "aiToolSearchDeals",
"get_deal_details": "aiToolGetDealDetails",
"search_activities": "aiToolSearchActivities",
"get_crm_summary": "aiToolGetCrmSummary",
"get_pipeline_report": "aiToolGetPipelineReport",
"get_lead_funnel_report": "aiToolGetLeadFunnelReport",
"invoke_business_connector": "aiToolInvokeConnector",
"query_business_data": "aiToolQueryBusinessData",
"search_warehouse_documents": "aiToolSearchWarehouseDocuments",
"get_warehouse_document_details": "aiToolGetWarehouseDocumentDetails",
"list_warehouses": "aiToolListWarehouses",
"create_warehouse_document": "aiToolCreateWarehouseDocument",
"get_warehouse_stock_summary": "aiToolGetWarehouseStockSummary",
"search_checks": "aiToolSearchChecks",
"get_check_details": "aiToolGetCheckDetails",
"search_transfers": "aiToolSearchTransfers",
"search_expense_income": "aiToolSearchExpenseIncome",
"search_documents": "aiToolSearchDocuments",
"get_document_details": "aiToolGetDocumentDetails",
"list_bank_accounts": "aiToolListBankAccounts",
"list_cash_registers": "aiToolListCashRegisters",
"list_fiscal_years": "aiToolListFiscalYears",
"get_current_fiscal_year": "aiToolGetCurrentFiscalYear",
"get_business_dashboard": "aiToolGetBusinessDashboard",
"get_person_transactions": "aiToolGetPersonTransactions",
"search_projects": "aiToolSearchProjects",
"get_project_summary": "aiToolGetProjectSummary",
"list_boms": "aiToolListBoms",
"get_bom_details": "aiToolGetBomDetails",
"search_production_documents": "aiToolSearchProductionDocuments",
"search_repair_orders": "aiToolSearchRepairOrders",
"get_repair_order_details": "aiToolGetRepairOrderDetails",
"get_tax_settings": "aiToolGetTaxSettings",
"search_tax_workspace": "aiToolSearchTaxWorkspace",
"get_tax_data_quality": "aiToolGetTaxDataQuality",
"list_workflows": "aiToolListWorkflows",
"list_workflow_executions": "aiToolListWorkflowExecutions",
"list_distribution_routes": "aiToolListDistributionRoutes",
"search_warranty_codes": "aiToolSearchWarrantyCodes",
"list_petty_cash": "aiToolListPettyCash",
"get_customer_club_settings": "aiToolGetCustomerClubSettings",
"list_customer_club_tiers": "aiToolListCustomerClubTiers",
"list_customer_club_ledger": "aiToolListCustomerClubLedger",
"get_customer_club_rfm_summary": "aiToolGetCustomerClubRfmSummary",
"search_customer_club_rfm_persons": "aiToolSearchCustomerClubRfmPersons",
"get_quick_sales_settings": "aiToolGetQuickSalesSettings",
"list_price_lists": "aiToolListPriceLists",
"list_price_list_items": "aiToolListPriceListItems",
"search_activity_logs": "aiToolSearchActivityLogs",
"get_opening_balance": "aiToolGetOpeningBalance",
"get_business_credit_settings": "aiToolGetBusinessCreditSettings",
"list_credit_installment_plans": "aiToolListCreditInstallmentPlans",
"get_person_credit": "aiToolGetPersonCredit",
"list_woocommerce_orders": "aiToolListWooCommerceOrders",
"list_woocommerce_products": "aiToolListWooCommerceProducts",
"list_basalam_synced_invoices": "aiToolListBasalamSyncedInvoices",
"list_basalam_product_conflicts": "aiToolListBasalamProductConflicts",
"batch_query_business_data": "aiToolBatchQueryBusinessData",
"get_report": "aiToolGetReport",
"search_categories": "aiToolSearchCategories",
"list_person_groups": "aiToolListPersonGroups",
"list_currencies": "aiToolListCurrencies",
"delete_person": "aiToolDeletePerson",
"create_product": "aiToolCreateProduct",
"update_product": "aiToolUpdateProduct",
"create_check": "aiToolCreateCheck",
"create_transfer": "aiToolCreateTransfer",
"create_expense_income": "aiToolCreateExpenseIncome",
"update_expense_income": "aiToolUpdateExpenseIncome",
"update_receipt_payment": "aiToolUpdateReceiptPayment",
"update_invoice": "aiToolUpdateInvoice",
"delete_invoice": "aiToolDeleteInvoice",
"create_lead": "aiToolCreateLead",
"execute_workflow": "aiToolExecuteWorkflow",
"list_workflow_trigger_catalog": "aiToolListWorkflowTriggerCatalog",
"list_workflow_action_catalog": "aiToolListWorkflowActionCatalog",
"list_workflow_builtin_nodes": "aiToolListWorkflowBuiltinNodes",
"get_workflow_component_schema": "aiToolGetWorkflowComponentSchema",
"get_workflow_design_rules": "aiToolGetWorkflowDesignRules",
"validate_workflow_draft": "aiToolValidateWorkflowDraft",
"get_workflow": "aiToolGetWorkflow",
"create_workflow": "aiToolCreateWorkflow",
"update_workflow": "aiToolUpdateWorkflow",
"delete_workflow": "aiToolDeleteWorkflow",
"test_workflow": "aiToolTestWorkflow",
"get_workflow_execution_debug": "aiToolGetWorkflowExecutionDebug",
"poll_workflow_execution": "aiToolPollWorkflowExecution",
"export_business_data": "aiToolExportBusinessData",
"list_queryable_fields": "aiToolListQueryableFields",
"resolve_date_range": "aiToolResolveDateRange",
"get_user_memory": "aiToolGetUserMemory",
"update_user_memory": "aiToolUpdateUserMemory",
"list_memory_items": "aiToolListMemoryItems",
"upsert_memory_item": "aiToolUpsertMemoryItem",
"delete_memory_item": "aiToolDeleteMemoryItem",
"read_memory": "aiToolGetUserMemory",
"upsert_memory_entry": "aiToolUpsertMemoryItem",
"delete_memory_entry": "aiToolDeleteMemoryItem",
"list_available_reports": "aiToolListAvailableReports",
"list_report_templates": "aiToolListReportTemplates",
"get_report_template": "aiToolGetReportTemplate",
"get_report_template_scope_catalog": "aiToolGetReportTemplateScopeCatalog",
"set_default_report_template": "aiToolSetDefaultReportTemplate",
"publish_report_template": "aiToolPublishReportTemplate",
"list_marketplace_plugins": "aiToolListMarketplacePlugins",
"list_business_plugins": "aiToolListBusinessPlugins",
"get_basalam_overview": "aiToolGetBasalamOverview",
"list_basalam_dead_letter": "aiToolListBasalamDeadLetter",
"adjust_customer_club_points": "aiToolAdjustCustomerClubPoints",
"recalculate_customer_club_rfm": "aiToolRecalculateCustomerClubRfm",
"update_customer_club_settings": "aiToolUpdateCustomerClubSettings",
"spawn_subagent": "aiToolSpawnSubagent",
"await_subagent": "aiToolAwaitSubagent",
"cancel_subagent": "aiToolCancelSubagent",
}
# برچسب فارسی fallback برای پیام‌های سیستمی (تأیید نوشتن و غیره)
TOOL_LABELS_FA: Dict[str, str] = {
"get_business_info": "اطلاعات کسب‌وکار",
"search_invoices": "جستجوی فاکتور",
"get_invoice_details": "جزئیات فاکتور",
"get_invoices_count": "شمارش فاکتورها",
"create_invoice": "ثبت فاکتور",
"search_products": "جستجوی کالا",
"get_product_info": "اطلاعات کالا",
"get_inventory_status": "وضعیت موجودی",
"get_product_kardex": "کاردکس کالا",
"get_customer_info": "اطلاعات مشتری",
"search_persons": "جستجوی اشخاص",
"get_person_balance": "مانده شخص",
"create_person": "ایجاد شخص",
"update_person": "ویرایش شخص",
"get_financial_summary": "خلاصه مالی",
"get_debtors_report": "گزارش بدهکاران",
"get_creditors_report": "گزارش بستانکاران",
"search_receipts_payments": "جستجوی دریافت/پرداخت",
"create_receipt_payment": "ثبت دریافت/پرداخت",
"update_receipt_payment": "ویرایش دریافت/پرداخت",
"get_sales_report": "گزارش فروش",
"get_purchase_report": "گزارش خرید",
"get_inventory_valuation": "ارزش موجودی",
"get_cash_flow": "جریان نقدی",
"search_leads": "جستجوی سرنخ",
"get_lead_details": "جزئیات سرنخ",
"search_deals": "جستجوی فرصت",
"get_deal_details": "جزئیات فرصت",
"search_activities": "جستجوی فعالیت",
"get_crm_summary": "خلاصه CRM",
"get_pipeline_report": "گزارش قیف فروش",
"get_lead_funnel_report": "گزارش قیف سرنخ",
"invoke_business_connector": "فراخوانی کانکتور",
"query_business_data": "پرس‌وجوی داده",
"search_warehouse_documents": "جستجوی حواله انبار",
"get_warehouse_document_details": "جزئیات حواله انبار",
"list_warehouses": "لیست انبارها",
"create_warehouse_document": "ثبت حواله انبار",
"get_warehouse_stock_summary": "خلاصه موجودی انبار",
"search_checks": "جستجوی چک",
"get_check_details": "جزئیات چک",
"search_transfers": "جستجوی انتقال",
"search_expense_income": "جستجوی هزینه/درآمد",
"search_documents": "جستجوی اسناد",
"get_document_details": "جزئیات سند",
"list_bank_accounts": "لیست حساب بانکی",
"list_cash_registers": "لیست صندوق",
"list_fiscal_years": "لیست سال مالی",
"get_current_fiscal_year": "سال مالی جاری",
"get_business_dashboard": "داشبورد کسب‌وکار",
"get_person_transactions": "معین جامع حساب شخص",
"search_projects": "جستجوی پروژه",
"get_project_summary": "خلاصه پروژه",
"list_boms": "لیست BOM",
"get_bom_details": "جزئیات BOM",
"search_production_documents": "اسناد تولید",
"search_repair_orders": "سفارش تعمیر",
"get_repair_order_details": "جزئیات تعمیر",
"get_tax_settings": "تنظیمات مالیاتی",
"search_tax_workspace": "کارپوشه مودیان",
"get_tax_data_quality": "کیفیت داده مالیاتی",
"list_workflows": "لیست workflow",
"list_workflow_executions": "اجراهای workflow",
"list_distribution_routes": "مسیرهای توزیع",
"search_warranty_codes": "کدهای گارانتی",
"list_petty_cash": "صندوق خرد",
"get_customer_club_settings": "تنظیمات باشگاه مشتری",
"list_customer_club_tiers": "سطوح باشگاه مشتری",
"list_customer_club_ledger": "گردش امتیاز باشگاه",
"get_customer_club_rfm_summary": "خلاصه RFM",
"search_customer_club_rfm_persons": "جستجوی RFM",
"get_quick_sales_settings": "تنظیمات فروش سریع",
"list_price_lists": "لیست قیمت",
"list_price_list_items": "اقلام لیست قیمت",
"search_activity_logs": "لاگ فعالیت",
"get_opening_balance": "تراز افتتاحیه",
"get_business_credit_settings": "تنظیمات اعتبار",
"list_credit_installment_plans": "طرح اقساط",
"get_person_credit": "اعتبار مشتری",
"list_woocommerce_orders": "سفارش ووکامرس",
"list_woocommerce_products": "محصول ووکامرس",
"list_basalam_synced_invoices": "فاکتور باسلام",
"list_basalam_product_conflicts": "تعارض محصول باسلام",
"batch_query_business_data": "پرس‌وجوی دسته‌ای",
"get_report": "گزارش یکپارچه",
"search_categories": "جستجوی دسته‌بندی",
"list_person_groups": "گروه‌های اشخاص",
"list_currencies": "لیست ارزها",
"delete_person": "حذف شخص",
"create_product": "ایجاد کالا",
"update_product": "ویرایش کالا",
"create_check": "ثبت چک",
"create_transfer": "ثبت انتقال",
"create_expense_income": "ثبت هزینه/درآمد",
"update_expense_income": "ویرایش هزینه/درآمد",
"update_invoice": "ویرایش فاکتور",
"delete_invoice": "حذف فاکتور",
"create_lead": "ایجاد سرنخ CRM",
"execute_workflow": "اجرای workflow",
"list_workflow_trigger_catalog": "کاتالوگ تریگرهای اتوماسیون",
"list_workflow_action_catalog": "کاتالوگ اکشن‌های اتوماسیون",
"list_workflow_builtin_nodes": "نودهای شرط و حلقه",
"get_workflow_component_schema": "schema جزء workflow",
"get_workflow_design_rules": "قوانین طراحی workflow",
"validate_workflow_draft": "اعتبارسنجی workflow",
"get_workflow": "دریافت workflow",
"create_workflow": "ایجاد اتوماسیون",
"update_workflow": "ویرایش اتوماسیون",
"delete_workflow": "حذف اتوماسیون",
"test_workflow": "تست اتوماسیون",
"get_workflow_execution_debug": "دیباگ اجرای workflow",
"poll_workflow_execution": "پیگیری اجرای workflow",
"export_business_data": "خروجی داده",
"list_queryable_fields": "فیلدهای قابل جستجو",
"resolve_date_range": "تبدیل بازهٔ تاریخ",
"get_user_memory": "خواندن حافظه دستیار",
"update_user_memory": "به‌روزرسانی دستورات همیشگی",
"list_memory_items": "فهرست حافظه یادگرفته‌شده",
"upsert_memory_item": "ذخیره حقیقت در حافظه",
"delete_memory_item": "حذف حقیقت از حافظه",
"read_memory": "خواندن حافظه دستیار",
"upsert_memory_entry": "ذخیره در حافظه",
"delete_memory_entry": "حذف از حافظه",
"list_available_reports": "فهرست گزارش‌های مجاز",
"list_report_templates": "لیست قالب گزارش",
"get_report_template": "جزئیات قالب گزارش",
"get_report_template_scope_catalog": "کاتالوگ scope قالب",
"set_default_report_template": "قالب پیش‌فرض",
"publish_report_template": "انتشار قالب گزارش",
"list_marketplace_plugins": "کاتالوگ افزونه‌ها",
"list_business_plugins": "افزونه‌های کسب‌وکار",
"get_basalam_overview": "خلاصه باسلام",
"list_basalam_dead_letter": "خطاهای باسلام",
"adjust_customer_club_points": "تنظیم امتیاز باشگاه",
"recalculate_customer_club_rfm": "محاسبه مجدد RFM",
"update_customer_club_settings": "تنظیمات باشگاه مشتری",
"create_session_plan": "ساخت برنامهٔ کاری",
"list_session_todos": "فهرست برنامهٔ کاری",
"update_session_todo": "به‌روزرسانی مرحله",
"spawn_subagent": "ساخت زیر-ایجنت",
"await_subagent": "انتظار زیر-ایجنت",
"cancel_subagent": "قطع زیر-ایجنت",
}
def tool_l10n_key(function_name: str) -> str:
return TOOL_L10N_KEYS.get(function_name, "aiToolGeneric")
def tool_label_fa(function_name: str) -> str:
return TOOL_LABELS_FA.get(function_name, function_name)
def status_event(phase: str, step: Optional[str] = None, tool_key: Optional[str] = None) -> Dict:
payload: Dict = {"event": "status", "phase": phase, "done": False}
if step:
payload["step"] = step
if tool_key:
payload["tool_key"] = tool_key
return payload