Commit Graph
9 Commits
Author SHA1 Message Date
mjalmoudy94 da5a2a5d1a agy تنها ارائه‌دهندهٔ مدل؛ حذف بخش ارائه‌دهنده‌ها و افزودن زنجیرهٔ انتخاب مدل
- حذف کامل providerهای mock و openai_compatible: دامنه، آداپوترها، رجیستری، کانفیگ، seed و رابطٔ مدیریت
- بخش «ارائه‌دهنده‌ها» از کنسول حذف شد؛ ورود اکانت‌ها فقط از صفحهٔ اکانت‌های agy
- صفحهٔ مدل‌ها بازطراحی شد: ارائه‌دهنده → اکانت → مدل (کاتالوگ لحظه‌ای و زندهٔ همان اکانت از Google) → افورت استدلال؛ بدون هیچ ورود دستی نام مدل
- مدل‌ها ستون reasoning_effort گرفتند؛ آداپتور آن را به thinkingConfig (بودجهٔ ۱۰۲۴ تا ۳۲۷۶۸) ترجمه می‌کند و فقط به مدل‌های استدلالی می‌فرستد
- مهاجرت c2d3e4f5b6a7: افزودن reasoning_effort و حذف ردیف‌های providerهای قدیمی
- تست‌ها: ۲۴۶ تست بک‌اند و ۵۱ تست فرانت سبز؛ ruff و mypy و tsc و eslint تمیز
2026-10-13 10:01:11 +03:30
mjalmoudy94 a2284db4f4 اعمال motion بر صفحهٔ اکانت‌های agy
صفحهٔ `/admin/agy-accounts` بعد از پاس motion ساخته شد، بنابراین ریشهٔ
خودش `.anim-stagger` نداشت و کل صفحه یک‌جا ظاهر می‌شد در حالی که بقیهٔ
پنل آبشاری وارد می‌شوند. فهرست اکانت‌ها هم که async لود می‌شود stagger
نگرفته بود.

هر صفحهٔ جدیدی که بعد از این ساخته شود باید همین دو کلاس را بگیرد؛
`motion.test.tsx` واژگان را محافظت می‌کند اما اعمال آن روی صفحه‌های
تازه را نمی‌گیرد.
2026-10-13 08:35:56 +03:30
mjalmoudy94 0fd50d94fc افزودن نشان نسخه به پایین بخش کناری
یک حباب کوچک و شیشه‌ای با فونت تک‌عرض در فوتر ستون کناری، کنار دکمهٔ خروج:

- `font-mono` — پشتهٔ فونت‌های سیستمی (ui-monospace، SFMono، Menlo،
  Consolas) که همیشه نصب‌اند؛ پس نسخه روی هر دستگاه یکسان رندر می‌شود،
  بدون انتظار برای وب‌فونت، و رقم‌ها جابه‌جا نمی‌شوند.
- شیشه‌ای با translucent و blur: `bg-white/5` + `border-white/10` +
  `backdrop-blur-sm`. بدون gradient و بدون shadow، مطابق §12 پلن.
- `ltr-inline` تا الگوریتم bidi در پوستهٔ RTL رشتهٔ لاتین را جابه‌جا نکند،
  و `tabular-nums` تا عرض numeralها ثابت بماند.

نسخه از `src/lib/version.ts` می‌آید — به‌جای import کردن کل
`package.json` که کل manifest را برای یک رشته به باندل کلاینت می‌کشید.
هزینهٔ این انتخاب drift است، پس `version.test.tsx` می‌سنجد که با
`apps/web/package.json` یکی باشد.

تست‌های جدید: ۵ (نسخه و نشان نسخه در پوسته).
2026-10-13 08:35:29 +03:30
mjalmoudy94 3d1e98f4fb افزودن ارائه‌دهندهٔ agy (Google Antigravity) با لاگین headless و پول چرخشی اکانت
- Adapter اکانت‌محور با چرخش round-robin و بنچ‌شدن خودکار روی ۴۲۹/۴۰۱
- ورود ادمین از طریق URL بازگشتی گوگل (PKCE) و ذخیرهٔ رمزنگاری‌شدهٔ refresh token
- صفحهٔ مدیریت اکانت‌های agy در پنل ادمین به همراه تست و فعال/غیرفعال‌سازی
- مهاجرت Alembic b1c2d3e4f5a6 برای ستون‌های اکانت agy
- seed همیشه کاتالوگ agy را می‌سازد و فقط با AI_DEFAULT_PROVIDER=agy مسیریابی می‌شود
2026-10-13 08:20:27 +03:30
mjalmoudy94 54074f10c3 اضافه کردن transition-colors به همهٔ حالت‌های hover
چندین سطح تعاملی (منوی سازمان، منوی کاربر، لینک‌های بردکرامب، آیتم‌های
پالت فرمان، دکمهٔ ساخت سازمان، لینک ردیابی) رنگ را در hover یک‌باره
تغییر می‌دادند و بقیهٔ رابط نرم بود. اکنون همه یکسان transition
می‌گیرند.
2026-10-13 02:55:49 +03:30
mjalmoudy94 df2c8546db افزودن سیستم Motion به تمام بخش‌های رابط کاربری
واژگان مشترک حرکت در globals.css: شش @keyframes و شش کلاس .anim-*
به‌همراه .anim-stagger برای ورود آبشاری. همهٔ مدت‌زمان‌ها پشت custom
property هستند تا یک override کل اپ را تنظیم کند.

- packages/ui: Button، Card، Stat، Loading/Empty/ErrorState، UsageBar،
  Timeline، Modal، Drawer، Table، ToastStack و ArtifactViewer
- ریشهٔ هر صفحهٔ (app) با .anim-stagger وارد می‌شود
- AppShell: محتوا fade، منوی کنار stagger، منوهای کشویی slide-up
- prefers-reduced-motion مدت‌زمان‌ها را به ۰.۰۱ms می‌رساند تا
  وضعیت پایانی حفظ شود
- قرارداد motion در src/test/motion.test.tsx تست می‌شود تا
  بازنویسی بعدی آن را بی‌صدا حذف نکند
- تست‌های فرانت‌اند: ۳۵ ← ۴۵
2026-10-13 02:48:59 +03:30
mjalmoudy94 55b9055b50 افزودن پالت فرمان (⌘K) و صفحهٔ مصرف سراسری پنل مالک
دو شکاف رسیدگی‌شده از بازبینی PLAN.md و TODO.md:

- پالت فرمان: جست‌وجو و رفتن سریع بین بخش‌ها با ⌘K/Ctrl+K، پیمایش با
  کلیدهای جهت‌دار، Enter برای رفتن، و Escape برای بستن. گروه اختصاصی
  «کنسول مالک سامانه» فقط برای مالک سامانه نمایش داده می‌شود.
- صفحهٔ /admin/usage: گزارش مصرف سراسری به تفکیک سازمان. اندپوینت
  `GET /admin/usage` و کلاینت `adminUsage()` از قبل وجود داشتند و توسط
  صفحات نمای کلی و سازمان‌ها مصرف می‌شدند؛ این صفحهٔ اختصاصی آن است.

همچنین `NAV_ITEMS` به `lib/nav.ts` منتقل شد تا sidebar و پالت فرمان
هرگز از هم واگرا نشوند.

تست: ۱۰ تست جدید برای پالت فرمان. مجموع تست‌های فرانت‌اند از ۲۵ به ۳۵
رسید. tsc، eslint و ruff تمیز.
2026-10-13 02:28:30 +03:30
mjalmoudy94 0b28a9f365 تغییر نام اپلیکیشن به Smart Organization
نام نمایشی و هویت اپلیکیشن در همهٔ سطوح کاربر-پسند از «AGY Web» به
«Smart Organization» تغییر کرد:

- UI: عنوان تب مرورگر، صفحهٔ ورود، برند و لوگوی پوستهٔ اپ (AG → SO)
- بک‌اند: مقدار پیش‌فرض app_name، نام و توضیح توزیع پایتون
- مانیفست‌ها: package.json ریشه و چهار پکیج، pyproject.toml
- مستندات: README، PLAN، TODO و دو سند docs

شناسه‌های داخلی عمداً دست‌نخورده مانده‌اند: scope پکیج‌های @agy/*،
کلیدهای localStorage، نام‌های logger، نام فایل پایگاهٔ داده، و اطلاعات
اتصال پایگاه داده در .env.example و infra/docker/docker-compose.yml.
2026-10-13 01:26:44 +03:30
mjalmoudy94 717e53a7ce نسخهٔ وب مستقل — پلتفرم نیروی کار هوش مصنوعی
مخزن اختصاصی برنامهٔ وب؛ محتوای پوشهٔ web در ریشهٔ مخزن قرار گرفت.
تاریخچهٔ پروژهٔ ربات (agy-bot) در این مخزن وجود ندارد و هیچ وابستگی runtime به آن نیست.
2026-10-13 00:39:28 +03:30