स्ट्रीम की गई टाइमलाइन रेंडर करें
TypeScript आइटम टाइप
AgentItem<TOutput> एक discriminated union है, और TypeScript हर आइटम को उसके type से narrow करता है:
प्रदाता के आउटपुट से बने आइटम मूल payload को भी
rawProviderItem में रखते हैं, उस दुर्लभ फ़ील्ड के लिए जो portable टाइप में नहीं होता। प्रोडक्ट लॉजिक portable फ़ील्ड पर बनाएँ, क्योंकि rawProviderItem प्रदाता के अनुसार अलग होता है।
दूसरी भाषाओं में इवेंट टाइप
Go, C#, PHP, Ruby और Java वही इवेंट टाइप देते हैं। Python काitem_stream() प्रदाता और रनटाइम आइटम को type key वाली dicts के रूप में देता है।
फ़ील्ड कहाँ होते हैं, यह भाषा के अनुसार अलग है:
इनमें से कोई भी टाइप किया गया union नहीं है, इसलिए जिन फ़ील्ड का उपयोग आपका UI करता है उनकी जाँच करें, प्रदाता-विशिष्ट पार्सिंग को एक adapter के पीछे रखें, और अज्ञात टाइप के लिए fallback रखें। Go, C# और Java में मॉडल स्ट्रीम इवेंट में रन ID
"stream" होता है; असली रन ID के लिए लाइफ़साइकल इवेंट का उपयोग करें। लाइफ़साइकल इवेंट की पूरी सूची लाइफ़साइकल हुक में है।
रन के बाद टाइमलाइन फिर से बनाएँ
रन ख़त्म होने के बाद भी इवेंट इतिहास पढ़ा जा सकता है, इसलिए एक consumer रेंडर कर सकता है जबकि दूसरा इवेंट सहेजता है, बिना दूसरे मॉडल अनुरोध के। टिकाऊ टाइमलाइन के लिए, पूरा हुआ रन नतीजा सहेजें:- TypeScript
- Python
- Go
- C#
- PHP
- Ruby
- Java
- Rust
पूरे हुए नतीजे में स्ट्रीम वाले ही क्रमबद्ध आइटम
items में होते हैं: