forked from hesabix/arc
312 lines
16 KiB
Python
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
|