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>
67 lines
1.5 KiB
JSON
67 lines
1.5 KiB
JSON
{
|
|
"schema_version": "1.0",
|
|
"provider": "didar",
|
|
"authoritative": {
|
|
"deal_status": {
|
|
"Pending": {
|
|
"canonical": "pending",
|
|
"fa": "جاری",
|
|
"meaning": "Current/open deal"
|
|
},
|
|
"Won": {
|
|
"canonical": "won",
|
|
"fa": "موفق",
|
|
"meaning": "Won/successful deal"
|
|
},
|
|
"Lost": {
|
|
"canonical": "lost",
|
|
"fa": "ناموفق",
|
|
"meaning": "Lost/failed deal"
|
|
}
|
|
},
|
|
"deal_search_sort": {
|
|
"0": "register_time",
|
|
"1": "last_tracking_time",
|
|
"2": "next_tracking_time",
|
|
"3": "has_quote",
|
|
"4": "has_invoice",
|
|
"5": "without_invoice",
|
|
"6": "has_void_invoice",
|
|
"7": "has_quote_with_price",
|
|
"8": "has_quote_without_price",
|
|
"9": "won_time",
|
|
"10": "next_activity_time"
|
|
},
|
|
"custom_field_operators": [
|
|
"NotSet",
|
|
"Set",
|
|
"EqualToAny",
|
|
"NotEqualAny",
|
|
"ContainsAnyString",
|
|
"NotContainsAnyString",
|
|
"StartsWith",
|
|
"LessThan",
|
|
"GreaterThan",
|
|
"Between"
|
|
]
|
|
},
|
|
"observed_not_authoritative": {
|
|
"contact_type": [
|
|
"General",
|
|
"Customer",
|
|
"Prospect"
|
|
],
|
|
"lead_type_examples": [
|
|
"General"
|
|
],
|
|
"lead_status_examples": [
|
|
"None",
|
|
"NotHandle"
|
|
]
|
|
},
|
|
"rules": [
|
|
"Deal Status is authoritative for current deal status.",
|
|
"IsDeleted is a separate deletion dimension and must not be collapsed into deal status.",
|
|
"Do not infer Won from PipelineStageId, Probability, labels, or ChangeToWonTime."
|
|
]
|
|
} |