Michael
63d89e5029
feat: add API endpoint to fetch and format OpenRouter models list
2026-04-10 13:35:54 +02:00
Michael
d9859ff9e0
feat: add API route to fetch and format OpenRouter models with pricing data
2026-04-10 13:29:31 +02:00
Michael
78cdc608d0
feat: implement admin AI chat interface with model selection and real-time cost tracking
2026-04-10 13:23:35 +02:00
Michael
638c4b5f3b
feat: implement direct PostgreSQL data access and API proxy for automated orders
2026-04-08 16:37:42 +02:00
Michael
70c425befb
feat: implement sidebar navigation and automated order management module with PostgreSQL client integration
2026-04-08 15:53:59 +02:00
Michael and Claude Sonnet 4.6
bbb04a4d2a
fix: immediate AI loading feedback + auto-fallback for deprecated model
...
- BulkAiAnalyzer: set isAnalyzing=true immediately on click (before
context fetch), so the spinner appears instantly instead of after
1-2 seconds of silence
- analyze/route.ts: if configured model returns 400/404 (e.g., deprecated
google/gemini-flash-1.5), automatically retry with google/gemini-2.0-flash-001
- batch-analyze/route.ts: same fallback logic
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 11:34:14 +02:00
Michael and Claude Sonnet 4.6
2aa9cbecaa
revert: restore grid to pre-infinite-scroll state
...
Remove infinite grid loading, useInfiniteGrid hook, and server-side
pagination API route. Revert grid components to the simpler version
that avoids 2MB+ cache failures from unstable_cache.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-03 11:26:13 +02:00
Michael
83d101ddc1
feat: add interactive client component for Hit Parade data visualization with sorting, filtering, and date range controls
2026-04-03 10:46:09 +02:00
Michael
b39e010903
feat: implement infinite grid loading with server-side pagination and client-side integration
2026-04-02 18:39:29 +02:00
Michael
4dfdcc1144
feat: implement infinite scrolling and background data loading for the product grid component
2026-04-02 17:47:10 +02:00
Michael
2893114fca
feat: implement infinite grid pagination with server-side data fetching and custom hook
2026-04-02 17:17:32 +02:00
Michael and Claude Sonnet 4.6
8b3ed4c435
chore: improve diag to check mntmvtht vs mntmvtttc totals and artfou1.preference distribution
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:40:28 +02:00
Michael and Claude Sonnet 4.6
63641e9de9
chore: add mvtart column diag to /api/diag, remove unused diag-mvtart
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:36:21 +02:00
Michael and Claude Sonnet 4.6
3e4b320cbe
chore: add diag-mvtart to inspect columns and CA totals
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 09:28:53 +02:00
Michael and Claude Sonnet 4.6
bc76237f48
feat: sort analytics by name (fournisseur) or code asc (nomenclature); show code in nomenclature label; remove diag-fournisseurs endpoint
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 08:42:21 +02:00
Michael
f0a360115f
chore: inspect fouident table for correct supplier names
2026-03-31 17:32:54 +02:00
Michael
67b0c8c74f
chore: inspect v_ca_fournisseur view structure
2026-03-31 13:52:22 +02:00
Michael
072479b30f
chore: fix diag-fournisseurs to inspect real fouadr1 column structure
2026-03-31 13:44:19 +02:00
Michael
09f80b35cb
chore: add diag-fournisseurs endpoint to investigate fouadr1 sit_code and naming
2026-03-31 13:40:08 +02:00
Michael and Claude Sonnet 4.6
cfd3a7e601
chore: remove temporary diag-supplier investigation endpoint
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 12:08:15 +02:00
Michael and Claude Sonnet 4.6
51adac0349
fix: attribute CA to supplier of last stock entry (dernière entrée en stock)
...
Previous approach (artfou1 DISTINCT ON no_id DESC) picked the most recent
artfou1 record, but artfou1 is a commercial reference table that may not
reflect actual current sourcing.
New approach: for each article, find the most recent reception movement
(genremvt IN (1,2)) in mvtart — this is the actual last delivery. Join
artfou1 to get the supplier code (ORDER BY datmvt DESC, af.no_id DESC to
break ties). This correctly attributes CA to whoever last physically
delivered the goods, not to a historical commercial reference.
Articles with no reception history are excluded (no INNER JOIN fallback
needed as all sold articles must have been received at least once).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 12:05:38 +02:00
Michael and Claude Sonnet 4.6
3d77f6b879
chore: add diag-supplier endpoint for artfou1 supplier attribution investigation
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 11:08:23 +02:00
Michael
41a8b32aff
feat: Add API route to export modified gammes data to an Excel file.
2026-03-19 15:28:16 +01:00
Michael
aa02d019bd
feat: Implement AI Copilot for product analysis and add comprehensive product grid data fetching.
2026-03-18 21:25:53 +01:00
Michael
ab603e3a6f
feat: Add a diagnostic API route and implement server-side logic for fetching and scoring product grid data.
2026-03-18 19:54:44 +01:00
Michael and Claude Sonnet 4.6
ca467c73f6
chore: probe /api/articles/:no_id/referentiel in diag
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 19:24:09 +01:00
Michael and Claude Sonnet 4.6
06e1b1a238
chore: add ventesProduits diagnostic to diag endpoint
...
Shows row counts, gamme/code3 fill rates, and sample rows
for AUXENCE/A025 to diagnose missing classification data.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 19:17:22 +01:00
Michael and Claude Sonnet 4.6
2d37a134d4
chore: update diag to probe new mensuel, stock/periode, and mouvements/types endpoints
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 16:44:01 +01:00
Michael and Claude Sonnet 4.6
c33e22f7eb
fix: extractList includes API-specific wrapper keys, diag uses real codefou
...
- extractList now explicitly checks "mouvements", "articles", "fournisseurs",
"ventes", "stocks", "commandes" wrapper keys before generic array fallback
- Diag endpoint auto-fetches first real codefou from fournisseurs instead
of hardcoded "AUXENCE" (which was supplier nom, not actual codefou)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 14:57:49 +01:00
Michael and Claude Sonnet 4.6
9e500b6650
feat: enhance diag endpoint to probe mouvements API with multiple date param variants
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 14:50:32 +01:00
Michael
c056750ea7
feat: implement FF Nancy API client including data models and functions for suppliers, articles, movements, and stock.
2026-03-18 14:44:44 +01:00
Michael
1035489db1
feat: Add FF Nancy API client and status endpoint, implement grid product fetching and draft change saving, and introduce AI Copilot core logic.
2026-03-18 14:31:29 +01:00
Michael
5eb3f6732e
feat: Add Drizzle ORM database setup, product data fetching and processing with scoring, and a diagnostic API endpoint.
2026-03-10 16:04:55 +01:00
Michael
b921f5ad40
fix(ai): implement automatic network retry for OpenRouter 502/503/529 overloads in Bulk Analyzer
2026-02-27 14:57:14 +01:00
Michael
02fdd18a52
feat: implement AI product analysis endpoint using OpenRouter with optimized timeout handling and N+1 query prevention.
2026-02-27 10:36:34 +01:00
Michael
c95eb0ecb6
feat: Add new settings page with Apple-style UI, OpenRouter AI integration, and Mary v4 analysis.
2026-02-27 10:02:23 +01:00
Michael
3438d1b35d
feat: add HeatmapCell component and Apple-inspired global design system with dark/light mode support.
2026-02-26 15:54:47 +01:00
Michael
1c03403e9a
feat: implement AI Copilot for product analysis, featuring dedicated API, business logic, UI components, and comprehensive documentation.
2026-02-25 10:58:12 +01:00
Michael
359d196c4d
feat: implement user authentication and authorization with NextAuth, including user schema, password hashing, and role-based access control.
2026-02-22 14:11:36 +01:00
Michael
c23f74d32d
feat: Add Excel export for modified gammes via a new API route and a button in the floating summary bar.
2026-02-22 13:10:10 +01:00
Michael
3de16d15d7
feat: Introduce bulk AI product analysis, integrating with OpenRouter via a new API and UI.
2026-02-22 11:59:15 +01:00
Michael
04e6ed70f6
feat: Implement bulk AI product analysis functionality with a new UI component and API route.
2026-02-22 11:19:54 +01:00
Michael
7f9c07b58e
feat: Add bulk AI product analysis feature with a new UI component and API route.
2026-02-22 11:00:44 +01:00
Michael
4b3672e65a
feat: Add AI product analysis endpoint supporting individual and batch processing modes.
2026-02-22 09:42:51 +01:00
Michael
9744502788
feat: add AI product analysis API route supporting individual and batch modes
2026-02-22 09:23:04 +01:00
Michael
ce0085a5c7
feat: Implement bulk AI product categorization through a new UI component and API route.
2026-02-22 09:17:52 +01:00
Michael
9c79b631cb
feat: implement batch AI product analysis API route and UI component for product categorization.
2026-02-22 09:10:19 +01:00
Michael
d644043aa5
feat: Add batch AI product categorization API and a bulk analyzer UI component.
2026-02-22 01:07:17 +01:00
Michael
259fb60638
feat(ai): performance-first logic with store awareness extrapolation and change count fix
2026-02-22 00:21:53 +01:00
Michael
c5cacd9b5a
fix(ai): final overhaul to performance-first, supplier-agnostic logic
2026-02-22 00:12:14 +01:00