@@ -1441,6 +1441,96 @@ def custom_agent_stream(
14411441 timeouts = None ,
14421442 )
14431443
1444+ def get_data_dictionary_instructions_stream (
1445+ self ,
1446+ chat_id : Optional [str ] = None ,
1447+ ) -> Generator [Dict [str , Any ], None , None ]:
1448+ """
1449+ Generate comprehensive instructions for creating Alation Data Dictionary CSV files.
1450+ """
1451+ url = f"{ self .base_url } /ai/api/v1/chats/tool/default/get_data_dictionary_instructions_tool/stream"
1452+ if chat_id is not None :
1453+ url += f"?chat_id={ chat_id } "
1454+ yield from self ._safe_sse_post_request (
1455+ tool_name = "get_data_dictionary_instructions" ,
1456+ url = url ,
1457+ payload = {},
1458+ timeouts = None ,
1459+ )
1460+
1461+ def generate_data_product_stream (
1462+ self ,
1463+ chat_id : Optional [str ] = None ,
1464+ ) -> Generator [Dict [str , Any ], None , None ]:
1465+ """
1466+ Returns a complete set of instructions for creating an Alation Data Product.
1467+ """
1468+ url = f"{ self .base_url } /ai/api/v1/chats/tool/default/generate_data_product_tool/stream"
1469+ if chat_id is not None :
1470+ url += f"?chat_id={ chat_id } "
1471+ yield from self ._safe_sse_post_request (
1472+ tool_name = "generate_data_product" ,
1473+ url = url ,
1474+ payload = {},
1475+ timeouts = None ,
1476+ )
1477+
1478+ def alation_lineage_stream (
1479+ self ,
1480+ root_node : LineageRootNode ,
1481+ direction : LineageDirectionType ,
1482+ limit : Optional [int ] = 1000 ,
1483+ batch_size : Optional [LineageBatchSizeType ] = 1000 ,
1484+ pagination : Optional [LineagePagination ] = None ,
1485+ processing_mode : Optional [LineageGraphProcessingType ] = None ,
1486+ show_temporal_objects : Optional [bool ] = False ,
1487+ design_time : Optional [LineageDesignTimeType ] = None ,
1488+ max_depth : Optional [int ] = 10 ,
1489+ excluded_schema_ids : Optional [LineageExcludedSchemaIdsType ] = None ,
1490+ allowed_otypes : Optional [LineageOTypeFilterType ] = None ,
1491+ time_from : Optional [LineageTimestampType ] = None ,
1492+ time_to : Optional [LineageTimestampType ] = None ,
1493+ chat_id : Optional [str ] = None ,
1494+ ) -> Generator [Dict [str , Any ], None , None ]:
1495+ """
1496+ Retrieves lineage relationships for data catalog objects from backend.
1497+ """
1498+ payload = {
1499+ "root_node" : root_node ,
1500+ "direction" : direction ,
1501+ "limit" : limit ,
1502+ "batch_size" : batch_size ,
1503+ }
1504+
1505+ if pagination is not None :
1506+ payload ["pagination" ] = pagination
1507+ if processing_mode is not None :
1508+ payload ["processing_mode" ] = processing_mode
1509+ if show_temporal_objects is not None :
1510+ payload ["show_temporal_objects" ] = show_temporal_objects
1511+ if design_time is not None :
1512+ payload ["design_time" ] = design_time
1513+ if max_depth is not None :
1514+ payload ["max_depth" ] = max_depth
1515+ if excluded_schema_ids is not None :
1516+ payload ["excluded_schema_ids" ] = excluded_schema_ids
1517+ if allowed_otypes is not None :
1518+ payload ["allowed_otypes" ] = allowed_otypes
1519+ if time_from is not None :
1520+ payload ["time_from" ] = time_from
1521+ if time_to is not None :
1522+ payload ["time_to" ] = time_to
1523+
1524+ url = f"{ self .base_url } /ai/api/v1/chats/tool/default/get_lineage_tool/stream"
1525+ if chat_id is not None :
1526+ url += f"?chat_id={ chat_id } "
1527+ yield from self ._safe_sse_post_request (
1528+ tool_name = "alation_lineage" ,
1529+ url = url ,
1530+ payload = payload ,
1531+ timeouts = None ,
1532+ )
1533+
14441534 def post_tool_event (
14451535 self ,
14461536 event : dict ,
0 commit comments