feat: create project folders from desktop app
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
|
||||
- 2026-10-04 — تسجيل المشاريع في الواجهة والـAPI: عند اختيار مجلد من Flutter يُسجّل API المحلي المسار في SQLite تحت هوية الحساب (`user_workspace_roots`) ثم يسرد الملفات المدعومة؛ عند إزالة المشروع يُلغى التسجيل ولا تُحذف الملفات. أضيف POST/DELETE لـ`/v1/agent/projects` ويُسمح بهما عبر loopback فقط. اختبارات API تثبت التسجيل والقراءة لصاحب المشروع، رفض الحساب الآخر، منع تسجيل مجلد متداخل بين حسابين أو مع جذر خصصه مسؤول لحساب آخر (409)، وإلغاء الوصول بعد الحذف أو بعد حذف المجلد الأصلي. اختبار حي على مجلد خارج جذر المنتج قرأ `README.md`، وسأل Gemma عبر الوكيل فأجاب من المحتوى باسم `Cedar`، ثم تحقق رفض الوصول بعد الإلغاء. اختبارات Python ذات الصلة 10/10 وFlutter 17/17، و`flutter analyze` بلا ملاحظات و`compileall` ناجح. أُعيد تشغيل API وفحص `/health` (`ok`, Gemma 4)، وتأكد وجود مساري POST/DELETE في OpenAPI، وبُني وشُغّل Windows Debug الحالي (PID 1328). تشغيل أوامر البناء/الاختبار من الوكيل لم يُدمج بعد؛ عزل نظام التشغيل لهذا التشغيل ما زال مفتوحًا.
|
||||
- 2026-10-04 — إرشاد تسجيل المشروع من شاشة البداية: عند عدم فتح مساحة عمل تعرض الواجهة بطاقة تشرح أن المطلوب اختيار مجلد موجود وتوفّر زرًا مباشرًا؛ بعد فتحه تعرض اسم المشروع وقدرات الوكيل وحدوده، ومنها أن تشغيل أوامر البناء والاختبار غير متاح بعد. تسمية زر الشريط العلوي صارت «تسجيل مجلد مشروع موجود». اختبارات `widget_test.dart` نجحت 7/7 و`flutter analyze --no-pub` بلا ملاحظات. بُني Windows Debug من نسخة مستقلة في `%TEMP%` دون إغلاق النوافذ الموجودة؛ سجل MSBuild تحذيرًا أن Temp لا يُفضّل للبناء التزايدي، لكن البناء نجح خلال 359.7 ثانية. شُغلت النسخة (PID 44280، مقبض نافذة غير صفري ومستجيبة)، وأعاد API المحلي `/health` الحالة `ok` مع `gemma4:e2b` وSQLite والوكيل. هذه معاينة Debug وليست إصدارًا موزعًا.
|
||||
- 2026-10-04 — إنشاء مجلد مشروع جديد على سطح المكتب: يختار المستخدم مجلدًا أبًا واسمًا، فيُنشأ مجلد فارغ ثم يُسجّل للوكيل؛ يمكن بعدها طلب إنشاء ملفات مع مراجعة diff وموافقة قبل الحفظ. قُيدت الأسماء لمنع المسارات والمجلدات المخفية والمستثناة وأسماء Windows المحجوزة، ورفض التصادم دون استبدال الموجود. الميزة متاحة على Windows/macOS/Linux الأصلي فقط؛ لا يظهر الزر على الويب وAndroid وiOS. اختبارات خدمة المجلد 3/3، مجموعة Flutter كاملة 22/22، واختبار الواجهة 7/7، و`flutter analyze --no-pub` بلا ملاحظات. بُني Windows Debug بنجاح خلال 352.1 ثانية إلى نسخة مستقلة في `%TEMP%`؛ لم تُشغّل النسخة لتجنب إضافة نافذة خامسة فوق نوافذ Debug المفتوحة. تشغيل أوامر البناء والاختبار داخل المشروع ما زال غير متاح لحين اكتمال العزل.
|
||||
|
||||
- اختبار سقف التخزين: نجح `scripts/verify_vhd_disk_quota.ps1` بقرص VHDX مؤقت 64MiB؛ كتب 53,477,376 بايت حتى `ERROR_DISK_FULL` (112)، بقي 151,552 بايت حرًا، وحُذف قرص الاختبار بعد التحقق. سكربت القرص الدائم 1GiB اجتاز تحليل PowerShell بعد إصلاحه، لكن `Status` أكد عدم وجود القرص؛ محاولات UAC عبر Windows PowerShell وPowerShell 7 و`cmd.exe` انتهت بخطأ بدء `0xc0000142` قبل أي تعديل. لذلك لا يوجد حتى الآن VHDX دائم، ولا يُسمح للوكيل بتنفيذ أوامر.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user