Connector calls, semantic rules, and DuckDB memory keep long runs stable, and stream retry stops chats from stalling. Co-authored-by: Cursor <cursoragent@cursor.com>
48 lines
2.2 KiB
JSON
48 lines
2.2 KiB
JSON
{
|
|
"schema_version": "1.0",
|
|
"provider": "didar",
|
|
"source_fields": {
|
|
"deal_amount": "Price",
|
|
"deal_final_amount": "FinalAdjustmentPrice",
|
|
"currency_id": "CurrencyId",
|
|
"search_aggregate_total": [
|
|
"Response.TotalPrice",
|
|
"Response.AllDealsTotalPrice",
|
|
"Response.PendingDealsTotalPrice",
|
|
"Response.WonDealsTotalPrice",
|
|
"Response.LostDealsTotalPrice"
|
|
]
|
|
},
|
|
"didar_product_behavior": {
|
|
"multi_currency_supported": true,
|
|
"base_currency_exists": true,
|
|
"exchange_rates_are_account_configured": true,
|
|
"reports_can_be_viewed_by_currency": true
|
|
},
|
|
"safe_reporting_policy": {
|
|
"single_currency_known_mapping": "Aggregate and show amount with the known unit/code.",
|
|
"single_currency_unknown_mapping": "Aggregate only if business semantics otherwise permit, but label the unit as CurrencyId=<id>; do not say ریال/تومان/etc.",
|
|
"multiple_currency_ids": "Never sum raw Price/FinalAdjustmentPrice values across currencies.",
|
|
"server_aggregate_with_multiple_currencies": "Do not assume the API aggregate equals the Didar dashboard base-currency conversion until a golden reconciliation proves it for the account.",
|
|
"conversion": "Only convert when the connector has a verified base-currency/exchange-rate profile sourced from a trustworthy provider surface or explicit account calibration."
|
|
},
|
|
"connection_calibration_fields": {
|
|
"base_currency_id": null,
|
|
"base_currency_code": null,
|
|
"base_currency_name": null,
|
|
"display_unit": null,
|
|
"currency_map": {},
|
|
"dashboard_aggregate_currency_semantics_verified": false
|
|
},
|
|
"amount_field_policy": {
|
|
"default_record_amount": "FinalAdjustmentPrice",
|
|
"status": "provisional_until_golden_reconciliation",
|
|
"fallback": "Price",
|
|
"rule": "Do not permanently hard-code which field equals Didar's dashboard sales amount until golden tests against the panel pass."
|
|
},
|
|
"user_facing_rules": [
|
|
"When currency semantics are unverified, say so briefly rather than inventing a unit.",
|
|
"If more than one CurrencyId is present and no verified conversion exists, report separate totals per CurrencyId.",
|
|
"A successful HTTP response is not enough to call a money report accurate."
|
|
]
|
|
} |