Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

مینو بار اسٹیٹس منطق

کیا دکھایا جاتا ہے

  • ہم موجودہ ایجنٹ کے کام کی حالت کو مینو بار آئیکن اور مینو کی پہلی اسٹیٹس قطار میں ظاہر کرتے ہیں۔
  • جب کام فعال ہو تو صحت کی حالت چھپی رہتی ہے؛ تمام سیشنز کے فارغ ہونے پر دوبارہ ظاہر ہوتی ہے۔
  • مینو میں “Nodes” بلاک صرف ڈیوائسز کی فہرست دیتا ہے (جوڑے گئے نوڈز بذریعہ node.list)، کلائنٹ/حاضری اندراجات نہیں۔
  • جب فراہم کنندہ کے استعمال کے اسنیپ شاٹس دستیاب ہوں تو Context کے تحت “Usage” سیکشن ظاہر ہوتا ہے۔

اسٹیٹ ماڈل

  • سیشنز: ایونٹس runId (ہر رن کے لیے) کے ساتھ آتے ہیں اور پےلوڈ میں sessionKey بھی ہوتا ہے۔ “main” سیشن کی کلید main ہے؛ اگر موجود نہ ہو تو ہم سب سے حال ہی میں اپ ڈیٹ ہونے والے سیشن پر واپس جاتے ہیں۔
  • ترجیح: main ہمیشہ جیتتا ہے۔ اگر main فعال ہو تو اس کی حالت فوراً دکھائی جاتی ہے۔ اگر main غیر فعال ہو تو سب سے حالیہ فعال غیر‑main سیشن دکھایا جاتا ہے۔ ہم سرگرمی کے درمیان بار بار سوئچ نہیں کرتے؛ ہم صرف اس وقت بدلتے ہیں جب موجودہ سیشن غیر فعال ہو جائے یا main فعال ہو جائے۔
  • سرگرمی کی اقسام:
  • job: اعلیٰ سطحی کمانڈ اجرا (state: started|streaming|done|error
  • tool: phase: start|result بمع toolName اور meta/args۔

IconState enum (Swift)

  • idle
  • workingMain(ActivityKind)
  • workingOther(ActivityKind)
  • overridden(ActivityKind) (ڈیبگ اووررائیڈ)

ActivityKind → گلف

  • exec → 💻
  • read → 📄
  • write → ✍️
  • edit → 📝
  • attach → 📎
  • default → 🛠️

بصری میپنگ

  • idle: معمول کا کریٹر۔
  • workingMain: گلف کے ساتھ بیج، مکمل ٹنٹ، ٹانگوں کی “کام کر رہی” اینیمیشن۔
  • workingOther: گلف کے ساتھ بیج، مدھم ٹنٹ، بغیر scurry۔
  • overridden: سرگرمی سے قطع نظر منتخب گلف/ٹنٹ استعمال کرتا ہے۔

اسٹیٹس قطار کا متن (مینو)

  • جب کام فعال ہو: <Session role> · <activity label>
  • مثالیں: Main · exec: pnpm test، Other · read: apps/macos/Sources/OpenClaw/AppState.swift۔
  • فارغ ہونے پر: صحت کے خلاصے پر واپس آ جاتا ہے۔

ایونٹ انجیشن

  • ماخذ: کنٹرول‑چینل agent ایونٹس (ControlChannel.handleAgentEvent
  • پارس شدہ فیلڈز:
  • stream: "job" بمع data.state برائے آغاز/اختتام۔
  • stream: "tool" بمع data.phase، name، اختیاری meta/args۔
  • لیبلز:
  • exec: args.command کی پہلی سطر۔
  • read/write: مختصر کیا گیا راستہ۔
  • edit: راستہ بمع meta/diff شمار سے اخذ کردہ تبدیلی کی قسم۔
  • فال بیک: اوزار کا نام۔

ڈیبگ اووررائیڈ

  • Settings ▸ Debug ▸ “Icon override” پکر:
  • System (auto) (بطورِ طے شدہ)
  • Working: main (فی ٹول قسم)
  • Working: other (فی ٹول قسم)
  • Idle
  • @AppStorage("iconOverride") کے ذریعے محفوظ؛ IconState.overridden سے میپ کیا گیا۔

ٹیسٹنگ چیک لسٹ

  • مین سیشن جاب ٹرگر کریں: تصدیق کریں کہ آئیکن فوراً سوئچ ہوتا ہے اور اسٹیٹس قطار مین لیبل دکھاتی ہے۔
  • مین فارغ ہونے کے دوران غیر‑مین سیشن جاب ٹرگر کریں: آئیکن/اسٹیٹس غیر‑مین دکھاتا ہے؛ ختم ہونے تک مستحکم رہتا ہے۔
  • جب کوئی اور فعال ہو تو مین شروع کریں: آئیکن فوراً مین پر پلٹ جاتا ہے۔
  • تیز ٹول برسٹس: یقینی بنائیں کہ بیج جھلملاہٹ نہ دکھائے (ٹول نتائج پر TTL گریس)۔
  • تمام سیشنز کے فارغ ہوتے ہی صحت کی قطار دوبارہ ظاہر ہو جاتی ہے۔