| -rw-r--r-- | .gitignore | 9L |
| -rw-r--r-- | agent/Marl/bandit.py | 129L |
| -rw-r--r-- | agent/Marl/strategies.py | 27L |
| -rw-r--r-- | agent/Marl/train-bandit.py | 267L |
| -rw-r--r-- | agent/Qdrant/Client.py | 15L |
| -rw-r--r-- | agent/Qdrant/Setup.py | 16L |
| -rw-r--r-- | agent/Qdrant/Store.py | 19L |
| -rw-r--r-- | agent/Sentinel/Encoders/TimeSeries.py | 52L |
| -rw-r--r-- | agent/Sentinel/Encoders/Vision.py | 101L |
| -rw-r--r-- | agent/Sentinel/Encoders/__init__.py | 0B |
| -rw-r--r-- | agent/Sentinel/Sample.png | 38404B |
| -rw-r--r-- | agent/Sentinel/Test.py | 24L |
| -rw-r--r-- | agent/Sentinel/__init__.py | 0B |
| -rw-r--r-- | agent/Sentinel/agent.py | 149L |
| -rw-r--r-- | agent/Sentinel/fmu.py | 9L |
| -rw-r--r-- | agent/__init__.py | 0B |
| -rw-r--r-- | agent/guardrails/README.md | 328L |
| -rw-r--r-- | agent/guardrails/__init__.py | 1L |
| -rw-r--r-- | agent/guardrails/validation.py | 249L |
| -rw-r--r-- | agent/main_agent.py | 126L |
| -rw-r--r-- | agent/memory.py | 156L |
| -rw-r--r-- | agent/sub_agents/Doctor.py | 117L |
| -rw-r--r-- | agent/sub_agents/Explainer.py | 57L |
| -rw-r--r-- | agent/sub_agents/Researcher.py | 75L |
| -rw-r--r-- | agent/sub_agents/Supervisor.py | 347L |
| -rw-r--r-- | agent/sub_agents/__init__.py | 0B |
| -rw-r--r-- | agent/sub_agents/atmospheric_agent.py | 161L |
| -rw-r--r-- | agent/sub_agents/base_agent.py | 52L |
| -rw-r--r-- | agent/sub_agents/fetching_agent.py | 130L |
| -rw-r--r-- | agent/sub_agents/judge_agent.py | 290L |
| -rw-r--r-- | agent/sub_agents/test_pipeline.py | 42L |
| -rw-r--r-- | agent/sub_agents/water_agent.py | 168L |
| -rw-r--r-- | agent/sub_agents/water_and_atmospheric_dependencies/nodes.py | 186L |
| -rw-r--r-- | agent/sub_agents/water_and_atmospheric_dependencies/physics_engine.py | 72L |
| -rw-r--r-- | agent/sub_agents/water_and_atmospheric_dependencies/retrieval.py | 110L |
| -rw-r--r-- | agent/sub_agents/water_and_atmospheric_dependencies/state.py | 21L |
| -rw-r--r-- | agent/sub_agents/water_and_atmospheric_dependencies/tools.py | 26L |
| -rw-r--r-- | agent/tools/__init__.py | 0B |
| -rw-r--r-- | agent/tools/actuation.py | 121L |
| -rw-r--r-- | agent/tools/db_tools.py | 47L |
| -rw-r--r-- | agent/tools/processing_tools.py | 34L |
| -rw-r--r-- | agent/tools/reset_memory.py | 20L |
| -rw-r--r-- | assets/Product Notes.pdf | 1037005B |
| -rw-r--r-- | assets/Technical Report.pdf | 180778B |
| -rw-r--r-- | assets/architecture.png | 156108B |
| -rw-r--r-- | assets/screenshots/Alerts.png | 161975B |
| -rw-r--r-- | assets/screenshots/Analytics.png | 151421B |
| -rw-r--r-- | assets/screenshots/CropDetailsLog.png | 142708B |
| -rw-r--r-- | assets/screenshots/CropDetailsOverview.png | 112813B |
| -rw-r--r-- | assets/screenshots/Dashboard.png | 256204B |
| -rw-r--r-- | assets/screenshots/Help.png | 519170B |
| -rw-r--r-- | assets/screenshots/Hindi.png | 93734B |
| -rw-r--r-- | assets/screenshots/Intelligence.png | 115223B |
| -rw-r--r-- | assets/screenshots/Landing.png | 241275B |
| -rw-r--r-- | assets/screenshots/LightMode.png | 106648B |
| -rw-r--r-- | assets/screenshots/Onboarding1.png | 55285B |
| -rw-r--r-- | assets/screenshots/Onboarding2.png | 84358B |
| -rw-r--r-- | assets/screenshots/RunCycle.png | 150752B |
| -rw-r--r-- | backend/node_server/config/db.js | 67L |
| -rw-r--r-- | backend/node_server/controllers/cropController.js | 162L |
| -rw-r--r-- | backend/node_server/controllers/farmController.js | 110L |
| -rw-r--r-- | backend/node_server/index.js | 30L |
| -rw-r--r-- | backend/node_server/package-lock.json | 1460L |
| -rw-r--r-- | backend/node_server/package.json | 22L |
| -rw-r--r-- | backend/node_server/routes/cropRoutes.js | 17L |
| -rw-r--r-- | backend/node_server/routes/farmRoutes.js | 9L |
| -rw-r--r-- | backend/node_server/schema/cropSchema.js | 52L |
| -rw-r--r-- | backend/server/create-index.py | 47L |
| -rw-r--r-- | backend/server/fix.py | 52L |
| -rw-r--r-- | backend/server/functions.py | 830L |
| -rw-r--r-- | backend/server/main.py | 108L |
| -rw-r--r-- | backend/server/rag_brain.py | 127L |
| -rw-r--r-- | backend/server/reset-db.py | 81L |
| -rw-r--r-- | frontend/.gitignore | 23L |
| -rw-r--r-- | frontend/package-lock.json | 17784L |
| -rw-r--r-- | frontend/package.json | 48L |
| -rw-r--r-- | frontend/public/favicon.ico | 3870B |
| -rw-r--r-- | frontend/public/index.html | 43L |
| -rw-r--r-- | frontend/public/logo192.png | 5347B |
| -rw-r--r-- | frontend/public/logo512.png | 9664B |
| -rw-r--r-- | frontend/public/manifest.json | 25L |
| -rw-r--r-- | frontend/public/robots.txt | 3L |
| -rw-r--r-- | frontend/src/App.css | 38L |
| -rw-r--r-- | frontend/src/App.js | 69L |
| -rw-r--r-- | frontend/src/api/agentApi.js | 186L |
| -rw-r--r-- | frontend/src/api/farmApi.jsx | 155L |
| -rw-r--r-- | frontend/src/assets/basil.jpg | 36015B |
| -rw-r--r-- | frontend/src/assets/lettuce.jpg | 18164B |
| -rw-r--r-- | frontend/src/assets/strawberry.jpg | 14724B |
| -rw-r--r-- | frontend/src/assets/tomato.jpg | 22819B |
| -rw-r--r-- | frontend/src/components/AgentWidgets.jsx | 311L |
| -rw-r--r-- | frontend/src/components/Onboarding.jsx | 402L |
| -rw-r--r-- | frontend/src/components/Sidebar.jsx | 379L |
| -rw-r--r-- | frontend/src/components/ui/ChartTooltip.jsx | 27L |
| -rw-r--r-- | frontend/src/components/ui/EmptyState.jsx | 67L |
| -rw-r--r-- | frontend/src/components/ui/FilterBar.jsx | 20L |
| -rw-r--r-- | frontend/src/components/ui/FilterPill.jsx | 28L |
| -rw-r--r-- | frontend/src/components/ui/IconButton.jsx | 31L |
| -rw-r--r-- | frontend/src/components/ui/InlineLabel.jsx | 10L |
| -rw-r--r-- | frontend/src/components/ui/LoadingShimmer.jsx | 30L |
| -rw-r--r-- | frontend/src/components/ui/PageHeader.jsx | 22L |
| -rw-r--r-- | frontend/src/components/ui/PageShell.jsx | 27L |
| -rw-r--r-- | frontend/src/components/ui/Pagination.jsx | 83L |
| -rw-r--r-- | frontend/src/components/ui/PrimaryButton.jsx | 35L |
| -rw-r--r-- | frontend/src/components/ui/SearchBar.jsx | 69L |
| -rw-r--r-- | frontend/src/components/ui/SectionCard.jsx | 22L |
| -rw-r--r-- | frontend/src/components/ui/SelectField.jsx | 51L |
| -rw-r--r-- | frontend/src/components/ui/StatusBadge.jsx | 44L |
| -rw-r--r-- | frontend/src/components/ui/index.js | 15L |
| -rw-r--r-- | frontend/src/data/mockData.js | 317L |
| -rw-r--r-- | frontend/src/hooks/useFarmData.js | 53L |
| -rw-r--r-- | frontend/src/hooks/useSettings.js | 67L |
| -rw-r--r-- | frontend/src/hooks/useTranslation.js | 14L |
| -rw-r--r-- | frontend/src/index.css | 435L |
| -rw-r--r-- | frontend/src/index.js | 17L |
| -rw-r--r-- | frontend/src/logo.svg | 2632B |
| -rw-r--r-- | frontend/src/pages/AddCrop.jsx | 853L |
| -rw-r--r-- | frontend/src/pages/Alerts.jsx | 602L |
| -rw-r--r-- | frontend/src/pages/Analytics.jsx | 904L |
| -rw-r--r-- | frontend/src/pages/CropDetails.jsx | 1645L |
| -rw-r--r-- | frontend/src/pages/Dashboard.jsx | 888L |
| -rw-r--r-- | frontend/src/pages/FarmIntelligence.jsx | 2024L |
| -rw-r--r-- | frontend/src/pages/Help.jsx | 1696L |
| -rw-r--r-- | frontend/src/pages/LandingPage.jsx | 559L |
| -rw-r--r-- | frontend/src/pages/RunCycle.jsx | 1160L |
| -rw-r--r-- | frontend/src/pages/Settings.jsx | 576L |
| -rw-r--r-- | frontend/src/reportWebVitals.js | 13L |
| -rw-r--r-- | frontend/src/utils/dataUtils.js | 784L |
| -rw-r--r-- | frontend/src/utils/translations.js | 1033L |
| -rw-r--r-- | frontend/tailwind.config.js | 28L |
| -rw-r--r-- | readme.md | 489L |
| -rw-r--r-- | requirements.txt | 51L |
| -rw-r--r-- | simulator/lettuce_brain_v1.zip | 148517B |
| -rw-r--r-- | simulator/main.py | 367L |
| -rw-r--r-- | simulator/research_simulator.ipynb | 364L |
| -rw-r--r-- | simulator/residual_physics.pt | 72873B |
| -rw-r--r-- | simulator/train_residual_physics.ipynb | 695L |