امپورٹ

import-chat.ts
import { NuiChat, NuiChatSession, nuiEventStream } from '@needless-ui/angular/chat';

NuiChat

گفتگو اور لکھنے کا باکس، ایک ساتھ۔

سلیکٹر
nui-chat
NuiChat: پراپرٹیز
نامٹائپڈیفالٹتفصیل
sessionان پٹNuiChatSessionدکھائی جانے والی گفتگو۔
assistantان پٹstring'Assistant'اسسٹنٹ کا نام، ان ہیڈنگز میں جو اسکرین ریڈرز سناتے ہیں۔
headingLevelان پٹnumber3ہر پیغام کی ہیڈنگ کا لیول، جو صرف اسکرین ریڈرز کے لیے ہوتی ہے۔ جوابات کے اندر کی ہیڈنگز ایک لیول نیچے ہوتی ہیں۔
announceان پٹ'reply' | 'notice' | 'off''reply'جواب مکمل ہونے پر اسکرین ریڈرز کیا سناتے ہیں: پورا جواب، ایک مختصر اطلاع، یا کچھ نہیں۔
imagesان پٹbooleanfalseجوابات میں تصاویر دکھاتا ہے۔ ورنہ ان کا متن ان کا لنک ہوتا ہے۔
valueدو طرفہstring''لکھا جا رہا متن۔
placeholderان پٹstringخالی فیلڈ میں دکھایا جانے والا متن۔
suggestionsان پٹstring[][]ایک کلک سے بھیجے جانے والے پرامپٹس، پہلے پیغام تک۔
sendOnان پٹ'enter' | 'mod+enter''enter'پیغام Enter سے بھیجا جائے یا Ctrl یا ⌘ + Enter سے۔
disabledان پٹbooleanfalseلکھنے کے باکس سے بھیجنا روک دیتا ہے۔
attachان پٹbooleanfalseفائلیں لیتا ہے: چنی، پیسٹ کی یا ڈراپ کی گئی۔
acceptان پٹstring''قبول کی جانے والی فائلوں کی اقسام، جیسے <input type="file"> میں۔
maxFilesان پٹnumber10ایک پیغام میں کتنی فائلیں ہو سکتی ہیں۔
maxSizeان پٹnumber20_000_000قبول کی جانے والی سب سے بڑی فائل، بائٹس میں۔
labelsان پٹNuiChatLabelsInputچیٹ کا دکھایا یا پڑھ کر سنایا جانے والا ہر متن، ترجمے کے لیے۔
ratedآؤٹ پٹ{ message, rating }پڑھنے والے کا ریٹ کیا ہوا جواب ریٹنگ کے ساتھ ایمٹ کرتا ہے، یا ریٹنگ واپس لینے پر null۔
focusمیتھڈ() => voidٹیکسٹ فیلڈ کو فوکس کرتا ہے۔
scrollToEndمیتھڈ(behavior?) => voidتازہ ترین پیغام تک اسکرول کرتا ہے، اور اس کے ساتھ چلتا ہے۔

NuiChatSession

گفتگو، بغیر کسی DOM کے۔ اسے کسی کمپوننٹ میں respond، messages اور id آپشنز کے ساتھ بنائیں۔

NuiChatSession: پراپرٹیز
نامٹائپڈیفالٹتفصیل
respondپراپرٹی(request) => NuiChatReplyآپ کا اپنا فنکشن: request.messages کا جواب لکھتا ہے، اور request.signal کے منسوخ ہونے پر رک جاتا ہے۔
messagesپراپرٹیSignal<NuiChatMessage[]>اسکرین پر موجود گفتگو۔
allپراپرٹیSignal<NuiChatMessage[]>ہر ورژن کا ہر پیغام، محفوظ کرنے اور messages کے طور پر واپس دینے کے لیے۔
busyپراپرٹیSignal<boolean>کوئی جواب آ رہا ہے یا نہیں۔
sendمیتھڈ(text, files?) => Promise<void>پیغام بھیجتا ہے اور جواب مانگتا ہے۔
stopمیتھڈ() => voidجواب روکتا ہے، اور جتنا لکھا جا چکا وہ رکھتا ہے۔
retryمیتھڈ(message?) => Promise<void>دوبارہ پوچھتا ہے۔ نیا جواب پرانے کے ساتھ ایک ورژن ہوتا ہے۔
editمیتھڈ(message, text) => Promise<void>صارف کے کسی پیغام کا نیا ورژن بھیجتا ہے۔
versionsمیتھڈ(message) => NuiChatMessage[]کسی پیغام کے تمام ورژنز، سب سے پرانا پہلے۔
showمیتھڈ(message) => voidگفتگو کو اس ورژن پر لے جاتا ہے۔
rateمیتھڈ(message, 'up' | 'down' | null) => voidکسی جواب پر پڑھنے والے کی ریٹنگ محفوظ کرتا ہے۔
remove, load, clearمیتھڈ(…) => voidکوئی پیغام اور اس کے بعد کا سب کچھ ہٹاتا ہے، گفتگو بدل دیتا ہے، یا نئے سرے سے شروع کرتا ہے۔

NuiChatMessage

ایک پیغام۔ ایک ہی parent والے پیغامات ایک دوسرے کے ورژن ہوتے ہیں۔

NuiChatMessage: پراپرٹیز
نامٹائپڈیفالٹتفصیل
id, parentپراپرٹیstring, string | nullپیغام کی کلید، اور وہ پیغام جس کے بعد یہ آتا ہے۔
roleپراپرٹی'user' | 'assistant'اسے کس نے لکھا۔
textپراپرٹیstringاسسٹنٹ کی طرف سے Markdown، صارف کی طرف سے سادہ متن۔
statusپراپرٹی'pending' | 'streaming' | 'done' | 'stopped' | 'error'جواب کس مرحلے میں ہے، انتظار سے مکمل ہونے تک۔
reasoningپراپرٹیstringجواب دینے سے پہلے ماڈل نے کیا سوچا۔
toolsپراپرٹیNuiChatTool[]جو ٹولز اس نے کال کیے، ان کی حالت، ان پٹ اور آؤٹ پٹ کے ساتھ۔
sourcesپراپرٹی{ url, title? }[]جو صفحات اس نے استعمال کیے۔
attachmentsپراپرٹیNuiChatAttachment[]اس کے ساتھ بھیجی گئی فائلیں۔
ratingپراپرٹی'up' | 'down' | nullپڑھنے والے کی ریٹنگ۔
dataپراپرٹیunknownاس کے ساتھ رکھی جانے والی کوئی اور چیز، جیسے ماڈل کا نام۔

NuiChatToolTemplate

ٹول کال بناتا ہے، جیسے موسم کا کارڈ۔ کانٹیکسٹ میں کال اور اس کا پیغام ہوتا ہے۔

سلیکٹر
ng-template[nuiChatTool]
NuiChatToolTemplate: پراپرٹیز
نامٹائپڈیفالٹتفصیل
nuiChatToolان پٹstringٹول کا نام۔ نام نہ ہو تو یہ ہر وہ کال بناتا ہے جس کا نام کسی اور ٹیمپلیٹ میں نہ ہو۔

NuiChatThread

صرف گفتگو، آپ کے اپنے لے آؤٹ کے لیے۔ یہ nui-chat کے وہ ان پٹس لیتا ہے جو گفتگو سے متعلق ہیں۔

سلیکٹر
nui-chat-thread

NuiChatComposer

صرف لکھنے کا باکس۔ یہ nui-chat کے وہ ان پٹس لیتا ہے جو لکھنے سے متعلق ہیں۔

سلیکٹر
nui-chat-composer

NuiServerEvent

nuiEventStream ہر ایونٹ کے لیے یہی دیتا ہے۔ nuiTextStream سادہ متن پڑھتا ہے اور nuiJsonStream JSON لائنیں؛ تینوں ایک fetch رسپانس لیتے ہیں۔

NuiServerEvent: پراپرٹیز
نامٹائپڈیفالٹتفصیل
eventپراپرٹیstring'message'ایونٹ کا نام۔
dataپراپرٹیstringاس کی ڈیٹا لائنیں، جوڑ کر۔
idپراپرٹیstringاسٹریم کی بھیجی ہوئی آخری id۔

NuiChatError

اسے respond سے throw کریں تاکہ اس کا پیغام دکھے۔ کوئی بھی دوسری غلطی ایک عمومی پیغام دکھاتی ہے، تاکہ اندر کی کوئی بات باہر نہ جائے۔