soilsidekick 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +267 -0
  4. data/Rakefile +10 -0
  5. data/docs/AIAnalysis.md +22 -0
  6. data/docs/AIAnalysisRecommendationsInner.md +22 -0
  7. data/docs/AIServicesApi.md +327 -0
  8. data/docs/BeginnerGuidance.md +34 -0
  9. data/docs/BeginnerGuidanceDetailedExplanation.md +24 -0
  10. data/docs/BeginnerGuidanceMetadata.md +22 -0
  11. data/docs/BeginnerGuidanceRequest.md +24 -0
  12. data/docs/BeginnerGuidanceRequestLocation.md +20 -0
  13. data/docs/BeginnerGuidanceRequestPlantContext.md +20 -0
  14. data/docs/CalculateCarbonCreditsRequest.md +26 -0
  15. data/docs/CalculateEnvironmentalImpactRequest.md +26 -0
  16. data/docs/CalculateEnvironmentalImpactRequestProposedTreatmentsInner.md +18 -0
  17. data/docs/CalculateEnvironmentalImpactRequestSoilData.md +28 -0
  18. data/docs/CalculateEnvironmentalImpactRequestWaterBodyData.md +18 -0
  19. data/docs/CarbonApi.md +79 -0
  20. data/docs/CarbonCreditCalculation.md +22 -0
  21. data/docs/CarbonCreditCalculationCalculationDetails.md +28 -0
  22. data/docs/CarbonCreditCalculationCalculationDetailsMetadata.md +22 -0
  23. data/docs/CarbonCreditCalculationCreditRecord.md +26 -0
  24. data/docs/ConsumerPlantCareApi.md +247 -0
  25. data/docs/County.md +26 -0
  26. data/docs/CountyLookup200Response.md +18 -0
  27. data/docs/CountyLookupRequest.md +18 -0
  28. data/docs/DynamicCare.md +28 -0
  29. data/docs/DynamicCareCareRecommendations.md +24 -0
  30. data/docs/DynamicCareCareRecommendationsHumidity.md +22 -0
  31. data/docs/DynamicCareCareRecommendationsLight.md +22 -0
  32. data/docs/DynamicCareCareRecommendationsWatering.md +24 -0
  33. data/docs/DynamicCareCurrentConditions.md +26 -0
  34. data/docs/DynamicCareMetadata.md +22 -0
  35. data/docs/DynamicCarePlant.md +22 -0
  36. data/docs/DynamicCareRequest.md +28 -0
  37. data/docs/DynamicCareRequestContainerDetails.md +22 -0
  38. data/docs/DynamicCareRequestEnvironment.md +20 -0
  39. data/docs/DynamicCareRequestLocation.md +22 -0
  40. data/docs/EnvironmentalApi.md +87 -0
  41. data/docs/EnvironmentalImpact.md +22 -0
  42. data/docs/EnvironmentalImpactDetailedAnalysis.md +26 -0
  43. data/docs/EnvironmentalImpactDetailedAnalysisEcoAlternatives.md +18 -0
  44. data/docs/EnvironmentalImpactDetailedAnalysisEcoAlternativesAlternativesInner.md +26 -0
  45. data/docs/EnvironmentalImpactDetailedAnalysisRunoffRisk.md +22 -0
  46. data/docs/EnvironmentalImpactImpactAssessment.md +26 -0
  47. data/docs/Error.md +22 -0
  48. data/docs/GenerateSmartReportSummaryRequest.md +20 -0
  49. data/docs/GenerateVRTPrescriptionRequest.md +22 -0
  50. data/docs/GeographicApi.md +79 -0
  51. data/docs/GetAgriculturalIntelligenceRequest.md +20 -0
  52. data/docs/GetLiveAgriculturalDataRequest.md +24 -0
  53. data/docs/GetPlantingCalendarRequest.md +20 -0
  54. data/docs/GetSatelliteDataRequest.md +20 -0
  55. data/docs/GetSeasonalPlanningAssistantRequest.md +26 -0
  56. data/docs/GetSeasonalPlanningAssistantRequestLocation.md +22 -0
  57. data/docs/GetSoilDataRequest.md +18 -0
  58. data/docs/GetTerritorialWaterAnalyticsRequest.md +22 -0
  59. data/docs/GetTerritorialWaterAnalyticsRequestDateRange.md +20 -0
  60. data/docs/LeafEnginesApi.md +87 -0
  61. data/docs/LeafEnginesCompatibility.md +22 -0
  62. data/docs/LeafEnginesCompatibilityData.md +32 -0
  63. data/docs/LeafEnginesCompatibilityDataBreakdown.md +22 -0
  64. data/docs/LeafEnginesCompatibilityDataBreakdownSoil.md +22 -0
  65. data/docs/LeafEnginesCompatibilityDataMetadata.md +22 -0
  66. data/docs/LeafEnginesCompatibilityUsage.md +20 -0
  67. data/docs/LeafenginesQueryRequest.md +22 -0
  68. data/docs/LeafenginesQueryRequestLocation.md +24 -0
  69. data/docs/LeafenginesQueryRequestOptions.md +22 -0
  70. data/docs/LeafenginesQueryRequestPlant.md +24 -0
  71. data/docs/LeafenginesQueryRequestPlantCareRequirements.md +22 -0
  72. data/docs/LeafenginesQueryRequestPlantCareRequirementsSoilPhRange.md +20 -0
  73. data/docs/LiveAgriculturalData.md +30 -0
  74. data/docs/LiveAgriculturalDataData.md +24 -0
  75. data/docs/PlantingCalendar.md +26 -0
  76. data/docs/SafeIdentification.md +26 -0
  77. data/docs/SafeIdentificationConfidenceBreakdown.md +24 -0
  78. data/docs/SafeIdentificationIdentification.md +22 -0
  79. data/docs/SafeIdentificationIdentificationPrimaryMatch.md +24 -0
  80. data/docs/SafeIdentificationMetadata.md +22 -0
  81. data/docs/SafeIdentificationRequest.md +22 -0
  82. data/docs/SafeIdentificationRequestContext.md +22 -0
  83. data/docs/SafeIdentificationRequestLocation.md +22 -0
  84. data/docs/SafeIdentificationRequestLocationCoordinates.md +20 -0
  85. data/docs/SafeIdentificationSafetyAnalysis.md +24 -0
  86. data/docs/SafeIdentificationSafetyAnalysisLookalikesInner.md +24 -0
  87. data/docs/SatelliteData.md +26 -0
  88. data/docs/SatelliteDataApi.md +79 -0
  89. data/docs/SeasonalPlanningResponse.md +24 -0
  90. data/docs/SeasonalPlanningResponseRecommendations.md +22 -0
  91. data/docs/SeasonalPlanningResponseWeatherData.md +28 -0
  92. data/docs/SmartReportSummary.md +22 -0
  93. data/docs/SmartReportSummarySummary.md +24 -0
  94. data/docs/SoilAnalysisApi.md +231 -0
  95. data/docs/SoilData.md +38 -0
  96. data/docs/TerritorialWaterAnalytics.md +22 -0
  97. data/docs/TerritorialWaterAnalyticsAnalytics.md +24 -0
  98. data/docs/TurboQuantApi.md +87 -0
  99. data/docs/TurboQuantCapabilities.md +30 -0
  100. data/docs/TurboQuantCapabilitiesEstimatedLatencyMs.md +20 -0
  101. data/docs/TurboQuantCapabilitiesRequest.md +22 -0
  102. data/docs/VRTApi.md +79 -0
  103. data/docs/VRTPrescription.md +24 -0
  104. data/docs/VRTPrescriptionZonesInner.md +22 -0
  105. data/docs/VisualCropAnalysis.md +24 -0
  106. data/docs/VisualCropAnalysisAnalysis.md +26 -0
  107. data/docs/VisualCropAnalysisRequest.md +24 -0
  108. data/docs/VisualCropAnalysisRequestLocation.md +22 -0
  109. data/docs/WaterQuality.md +30 -0
  110. data/docs/WaterQualityApi.md +151 -0
  111. data/git_push.sh +57 -0
  112. data/lib/soilsidekick/api/ai_services_api.rb +378 -0
  113. data/lib/soilsidekick/api/carbon_api.rb +90 -0
  114. data/lib/soilsidekick/api/consumer_plant_care_api.rb +289 -0
  115. data/lib/soilsidekick/api/environmental_api.rb +111 -0
  116. data/lib/soilsidekick/api/geographic_api.rb +90 -0
  117. data/lib/soilsidekick/api/leaf_engines_api.rb +111 -0
  118. data/lib/soilsidekick/api/satellite_data_api.rb +90 -0
  119. data/lib/soilsidekick/api/soil_analysis_api.rb +247 -0
  120. data/lib/soilsidekick/api/turbo_quant_api.rb +111 -0
  121. data/lib/soilsidekick/api/vrt_api.rb +90 -0
  122. data/lib/soilsidekick/api/water_quality_api.rb +158 -0
  123. data/lib/soilsidekick/api_client.rb +397 -0
  124. data/lib/soilsidekick/api_error.rb +58 -0
  125. data/lib/soilsidekick/api_model_base.rb +88 -0
  126. data/lib/soilsidekick/configuration.rb +312 -0
  127. data/lib/soilsidekick/models/ai_analysis.rb +167 -0
  128. data/lib/soilsidekick/models/ai_analysis_recommendations_inner.rb +199 -0
  129. data/lib/soilsidekick/models/beginner_guidance.rb +228 -0
  130. data/lib/soilsidekick/models/beginner_guidance_detailed_explanation.rb +179 -0
  131. data/lib/soilsidekick/models/beginner_guidance_metadata.rb +165 -0
  132. data/lib/soilsidekick/models/beginner_guidance_request.rb +229 -0
  133. data/lib/soilsidekick/models/beginner_guidance_request_location.rb +156 -0
  134. data/lib/soilsidekick/models/beginner_guidance_request_plant_context.rb +158 -0
  135. data/lib/soilsidekick/models/calculate_carbon_credits_request.rb +264 -0
  136. data/lib/soilsidekick/models/calculate_environmental_impact_request.rb +247 -0
  137. data/lib/soilsidekick/models/calculate_environmental_impact_request_proposed_treatments_inner.rb +181 -0
  138. data/lib/soilsidekick/models/calculate_environmental_impact_request_soil_data.rb +238 -0
  139. data/lib/soilsidekick/models/calculate_environmental_impact_request_water_body_data.rb +147 -0
  140. data/lib/soilsidekick/models/carbon_credit_calculation.rb +165 -0
  141. data/lib/soilsidekick/models/carbon_credit_calculation_calculation_details.rb +192 -0
  142. data/lib/soilsidekick/models/carbon_credit_calculation_calculation_details_metadata.rb +167 -0
  143. data/lib/soilsidekick/models/carbon_credit_calculation_credit_record.rb +217 -0
  144. data/lib/soilsidekick/models/county.rb +183 -0
  145. data/lib/soilsidekick/models/county_lookup200_response.rb +149 -0
  146. data/lib/soilsidekick/models/county_lookup_request.rb +183 -0
  147. data/lib/soilsidekick/models/dynamic_care.rb +196 -0
  148. data/lib/soilsidekick/models/dynamic_care_care_recommendations.rb +175 -0
  149. data/lib/soilsidekick/models/dynamic_care_care_recommendations_humidity.rb +165 -0
  150. data/lib/soilsidekick/models/dynamic_care_care_recommendations_light.rb +165 -0
  151. data/lib/soilsidekick/models/dynamic_care_care_recommendations_watering.rb +208 -0
  152. data/lib/soilsidekick/models/dynamic_care_current_conditions.rb +183 -0
  153. data/lib/soilsidekick/models/dynamic_care_metadata.rb +165 -0
  154. data/lib/soilsidekick/models/dynamic_care_plant.rb +199 -0
  155. data/lib/soilsidekick/models/dynamic_care_request.rb +262 -0
  156. data/lib/soilsidekick/models/dynamic_care_request_container_details.rb +199 -0
  157. data/lib/soilsidekick/models/dynamic_care_request_environment.rb +203 -0
  158. data/lib/soilsidekick/models/dynamic_care_request_location.rb +194 -0
  159. data/lib/soilsidekick/models/environmental_impact.rb +167 -0
  160. data/lib/soilsidekick/models/environmental_impact_detailed_analysis.rb +183 -0
  161. data/lib/soilsidekick/models/environmental_impact_detailed_analysis_eco_alternatives.rb +149 -0
  162. data/lib/soilsidekick/models/environmental_impact_detailed_analysis_eco_alternatives_alternatives_inner.rb +183 -0
  163. data/lib/soilsidekick/models/environmental_impact_detailed_analysis_runoff_risk.rb +199 -0
  164. data/lib/soilsidekick/models/environmental_impact_impact_assessment.rb +183 -0
  165. data/lib/soilsidekick/models/error.rb +165 -0
  166. data/lib/soilsidekick/models/generate_smart_report_summary_request.rb +215 -0
  167. data/lib/soilsidekick/models/generate_vrt_prescription_request.rb +223 -0
  168. data/lib/soilsidekick/models/get_agricultural_intelligence_request.rb +225 -0
  169. data/lib/soilsidekick/models/get_live_agricultural_data_request.rb +277 -0
  170. data/lib/soilsidekick/models/get_planting_calendar_request.rb +201 -0
  171. data/lib/soilsidekick/models/get_satellite_data_request.rb +226 -0
  172. data/lib/soilsidekick/models/get_seasonal_planning_assistant_request.rb +245 -0
  173. data/lib/soilsidekick/models/get_seasonal_planning_assistant_request_location.rb +165 -0
  174. data/lib/soilsidekick/models/get_soil_data_request.rb +176 -0
  175. data/lib/soilsidekick/models/get_territorial_water_analytics_request.rb +201 -0
  176. data/lib/soilsidekick/models/get_territorial_water_analytics_request_date_range.rb +156 -0
  177. data/lib/soilsidekick/models/leaf_engines_compatibility.rb +165 -0
  178. data/lib/soilsidekick/models/leaf_engines_compatibility_data.rb +247 -0
  179. data/lib/soilsidekick/models/leaf_engines_compatibility_data_breakdown.rb +165 -0
  180. data/lib/soilsidekick/models/leaf_engines_compatibility_data_breakdown_soil.rb +169 -0
  181. data/lib/soilsidekick/models/leaf_engines_compatibility_data_metadata.rb +167 -0
  182. data/lib/soilsidekick/models/leaf_engines_compatibility_usage.rb +156 -0
  183. data/lib/soilsidekick/models/leafengines_query_request.rb +199 -0
  184. data/lib/soilsidekick/models/leafengines_query_request_location.rb +174 -0
  185. data/lib/soilsidekick/models/leafengines_query_request_options.rb +165 -0
  186. data/lib/soilsidekick/models/leafengines_query_request_plant.rb +174 -0
  187. data/lib/soilsidekick/models/leafengines_query_request_plant_care_requirements.rb +211 -0
  188. data/lib/soilsidekick/models/leafengines_query_request_plant_care_requirements_soil_ph_range.rb +156 -0
  189. data/lib/soilsidekick/models/live_agricultural_data.rb +237 -0
  190. data/lib/soilsidekick/models/live_agricultural_data_data.rb +174 -0
  191. data/lib/soilsidekick/models/planting_calendar.rb +185 -0
  192. data/lib/soilsidekick/models/safe_identification.rb +184 -0
  193. data/lib/soilsidekick/models/safe_identification_confidence_breakdown.rb +174 -0
  194. data/lib/soilsidekick/models/safe_identification_identification.rb +200 -0
  195. data/lib/soilsidekick/models/safe_identification_identification_primary_match.rb +175 -0
  196. data/lib/soilsidekick/models/safe_identification_metadata.rb +167 -0
  197. data/lib/soilsidekick/models/safe_identification_request.rb +183 -0
  198. data/lib/soilsidekick/models/safe_identification_request_context.rb +223 -0
  199. data/lib/soilsidekick/models/safe_identification_request_location.rb +205 -0
  200. data/lib/soilsidekick/models/safe_identification_request_location_coordinates.rb +156 -0
  201. data/lib/soilsidekick/models/safe_identification_safety_analysis.rb +215 -0
  202. data/lib/soilsidekick/models/safe_identification_safety_analysis_lookalikes_inner.rb +177 -0
  203. data/lib/soilsidekick/models/satellite_data.rb +185 -0
  204. data/lib/soilsidekick/models/seasonal_planning_response.rb +174 -0
  205. data/lib/soilsidekick/models/seasonal_planning_response_recommendations.rb +169 -0
  206. data/lib/soilsidekick/models/seasonal_planning_response_weather_data.rb +192 -0
  207. data/lib/soilsidekick/models/smart_report_summary.rb +165 -0
  208. data/lib/soilsidekick/models/smart_report_summary_summary.rb +178 -0
  209. data/lib/soilsidekick/models/soil_data.rb +239 -0
  210. data/lib/soilsidekick/models/territorial_water_analytics.rb +165 -0
  211. data/lib/soilsidekick/models/territorial_water_analytics_analytics.rb +174 -0
  212. data/lib/soilsidekick/models/turbo_quant_capabilities.rb +253 -0
  213. data/lib/soilsidekick/models/turbo_quant_capabilities_estimated_latency_ms.rb +156 -0
  214. data/lib/soilsidekick/models/turbo_quant_capabilities_request.rb +201 -0
  215. data/lib/soilsidekick/models/visual_crop_analysis.rb +174 -0
  216. data/lib/soilsidekick/models/visual_crop_analysis_analysis.rb +219 -0
  217. data/lib/soilsidekick/models/visual_crop_analysis_request.rb +234 -0
  218. data/lib/soilsidekick/models/visual_crop_analysis_request_location.rb +165 -0
  219. data/lib/soilsidekick/models/vrt_prescription.rb +176 -0
  220. data/lib/soilsidekick/models/vrt_prescription_zones_inner.rb +165 -0
  221. data/lib/soilsidekick/models/water_quality.rb +235 -0
  222. data/lib/soilsidekick/version.rb +15 -0
  223. data/lib/soilsidekick.rb +146 -0
  224. data/soilsidekick.gemspec +39 -0
  225. data/spec/api/ai_services_api_spec.rb +95 -0
  226. data/spec/api/carbon_api_spec.rb +47 -0
  227. data/spec/api/consumer_plant_care_api_spec.rb +80 -0
  228. data/spec/api/environmental_api_spec.rb +50 -0
  229. data/spec/api/geographic_api_spec.rb +47 -0
  230. data/spec/api/leaf_engines_api_spec.rb +50 -0
  231. data/spec/api/satellite_data_api_spec.rb +47 -0
  232. data/spec/api/soil_analysis_api_spec.rb +74 -0
  233. data/spec/api/turbo_quant_api_spec.rb +50 -0
  234. data/spec/api/vrt_api_spec.rb +47 -0
  235. data/spec/api/water_quality_api_spec.rb +59 -0
  236. data/spec/models/ai_analysis_recommendations_inner_spec.rb +52 -0
  237. data/spec/models/ai_analysis_spec.rb +48 -0
  238. data/spec/models/beginner_guidance_detailed_explanation_spec.rb +54 -0
  239. data/spec/models/beginner_guidance_metadata_spec.rb +48 -0
  240. data/spec/models/beginner_guidance_request_location_spec.rb +42 -0
  241. data/spec/models/beginner_guidance_request_plant_context_spec.rb +42 -0
  242. data/spec/models/beginner_guidance_request_spec.rb +58 -0
  243. data/spec/models/beginner_guidance_spec.rb +84 -0
  244. data/spec/models/calculate_carbon_credits_request_spec.rb +64 -0
  245. data/spec/models/calculate_environmental_impact_request_proposed_treatments_inner_spec.rb +40 -0
  246. data/spec/models/calculate_environmental_impact_request_soil_data_spec.rb +74 -0
  247. data/spec/models/calculate_environmental_impact_request_spec.rb +60 -0
  248. data/spec/models/calculate_environmental_impact_request_water_body_data_spec.rb +36 -0
  249. data/spec/models/carbon_credit_calculation_calculation_details_metadata_spec.rb +48 -0
  250. data/spec/models/carbon_credit_calculation_calculation_details_spec.rb +66 -0
  251. data/spec/models/carbon_credit_calculation_credit_record_spec.rb +64 -0
  252. data/spec/models/carbon_credit_calculation_spec.rb +48 -0
  253. data/spec/models/county_lookup200_response_spec.rb +36 -0
  254. data/spec/models/county_lookup_request_spec.rb +36 -0
  255. data/spec/models/county_spec.rb +60 -0
  256. data/spec/models/dynamic_care_care_recommendations_humidity_spec.rb +48 -0
  257. data/spec/models/dynamic_care_care_recommendations_light_spec.rb +48 -0
  258. data/spec/models/dynamic_care_care_recommendations_spec.rb +54 -0
  259. data/spec/models/dynamic_care_care_recommendations_watering_spec.rb +58 -0
  260. data/spec/models/dynamic_care_current_conditions_spec.rb +60 -0
  261. data/spec/models/dynamic_care_metadata_spec.rb +48 -0
  262. data/spec/models/dynamic_care_plant_spec.rb +52 -0
  263. data/spec/models/dynamic_care_request_container_details_spec.rb +52 -0
  264. data/spec/models/dynamic_care_request_environment_spec.rb +50 -0
  265. data/spec/models/dynamic_care_request_location_spec.rb +48 -0
  266. data/spec/models/dynamic_care_request_spec.rb +70 -0
  267. data/spec/models/dynamic_care_spec.rb +66 -0
  268. data/spec/models/environmental_impact_detailed_analysis_eco_alternatives_alternatives_inner_spec.rb +60 -0
  269. data/spec/models/environmental_impact_detailed_analysis_eco_alternatives_spec.rb +36 -0
  270. data/spec/models/environmental_impact_detailed_analysis_runoff_risk_spec.rb +52 -0
  271. data/spec/models/environmental_impact_detailed_analysis_spec.rb +60 -0
  272. data/spec/models/environmental_impact_impact_assessment_spec.rb +60 -0
  273. data/spec/models/environmental_impact_spec.rb +48 -0
  274. data/spec/models/error_spec.rb +48 -0
  275. data/spec/models/generate_smart_report_summary_request_spec.rb +46 -0
  276. data/spec/models/generate_vrt_prescription_request_spec.rb +52 -0
  277. data/spec/models/get_agricultural_intelligence_request_spec.rb +46 -0
  278. data/spec/models/get_live_agricultural_data_request_spec.rb +58 -0
  279. data/spec/models/get_planting_calendar_request_spec.rb +42 -0
  280. data/spec/models/get_satellite_data_request_spec.rb +42 -0
  281. data/spec/models/get_seasonal_planning_assistant_request_location_spec.rb +48 -0
  282. data/spec/models/get_seasonal_planning_assistant_request_spec.rb +64 -0
  283. data/spec/models/get_soil_data_request_spec.rb +36 -0
  284. data/spec/models/get_territorial_water_analytics_request_date_range_spec.rb +42 -0
  285. data/spec/models/get_territorial_water_analytics_request_spec.rb +52 -0
  286. data/spec/models/leaf_engines_compatibility_data_breakdown_soil_spec.rb +48 -0
  287. data/spec/models/leaf_engines_compatibility_data_breakdown_spec.rb +48 -0
  288. data/spec/models/leaf_engines_compatibility_data_metadata_spec.rb +48 -0
  289. data/spec/models/leaf_engines_compatibility_data_spec.rb +82 -0
  290. data/spec/models/leaf_engines_compatibility_spec.rb +48 -0
  291. data/spec/models/leaf_engines_compatibility_usage_spec.rb +42 -0
  292. data/spec/models/leafengines_query_request_location_spec.rb +54 -0
  293. data/spec/models/leafengines_query_request_options_spec.rb +48 -0
  294. data/spec/models/leafengines_query_request_plant_care_requirements_soil_ph_range_spec.rb +42 -0
  295. data/spec/models/leafengines_query_request_plant_care_requirements_spec.rb +56 -0
  296. data/spec/models/leafengines_query_request_plant_spec.rb +54 -0
  297. data/spec/models/leafengines_query_request_spec.rb +48 -0
  298. data/spec/models/live_agricultural_data_data_spec.rb +54 -0
  299. data/spec/models/live_agricultural_data_spec.rb +76 -0
  300. data/spec/models/planting_calendar_spec.rb +60 -0
  301. data/spec/models/safe_identification_confidence_breakdown_spec.rb +54 -0
  302. data/spec/models/safe_identification_identification_primary_match_spec.rb +54 -0
  303. data/spec/models/safe_identification_identification_spec.rb +52 -0
  304. data/spec/models/safe_identification_metadata_spec.rb +48 -0
  305. data/spec/models/safe_identification_request_context_spec.rb +60 -0
  306. data/spec/models/safe_identification_request_location_coordinates_spec.rb +42 -0
  307. data/spec/models/safe_identification_request_location_spec.rb +48 -0
  308. data/spec/models/safe_identification_request_spec.rb +48 -0
  309. data/spec/models/safe_identification_safety_analysis_lookalikes_inner_spec.rb +54 -0
  310. data/spec/models/safe_identification_safety_analysis_spec.rb +58 -0
  311. data/spec/models/safe_identification_spec.rb +60 -0
  312. data/spec/models/satellite_data_spec.rb +60 -0
  313. data/spec/models/seasonal_planning_response_recommendations_spec.rb +48 -0
  314. data/spec/models/seasonal_planning_response_spec.rb +54 -0
  315. data/spec/models/seasonal_planning_response_weather_data_spec.rb +66 -0
  316. data/spec/models/smart_report_summary_spec.rb +48 -0
  317. data/spec/models/smart_report_summary_summary_spec.rb +54 -0
  318. data/spec/models/soil_data_spec.rb +96 -0
  319. data/spec/models/territorial_water_analytics_analytics_spec.rb +54 -0
  320. data/spec/models/territorial_water_analytics_spec.rb +48 -0
  321. data/spec/models/turbo_quant_capabilities_estimated_latency_ms_spec.rb +42 -0
  322. data/spec/models/turbo_quant_capabilities_request_spec.rb +52 -0
  323. data/spec/models/turbo_quant_capabilities_spec.rb +80 -0
  324. data/spec/models/visual_crop_analysis_analysis_spec.rb +64 -0
  325. data/spec/models/visual_crop_analysis_request_location_spec.rb +48 -0
  326. data/spec/models/visual_crop_analysis_request_spec.rb +58 -0
  327. data/spec/models/visual_crop_analysis_spec.rb +54 -0
  328. data/spec/models/vrt_prescription_spec.rb +54 -0
  329. data/spec/models/vrt_prescription_zones_inner_spec.rb +48 -0
  330. data/spec/models/water_quality_spec.rb +76 -0
  331. data/spec/spec_helper.rb +111 -0
  332. metadata +543 -0
@@ -0,0 +1,327 @@
1
+ # SoilSidekick::AIServicesApi
2
+
3
+ All URIs are relative to *https://wzgnxkoeqzvueypwzvyn.supabase.co/functions/v1*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**generate_smart_report_summary**](AIServicesApi.md#generate_smart_report_summary) | **POST** /smart-report-summary | Generate AI report summary |
8
+ | [**get_agricultural_intelligence**](AIServicesApi.md#get_agricultural_intelligence) | **POST** /agricultural-intelligence | Get AI-powered agricultural insights |
9
+ | [**get_seasonal_planning_assistant**](AIServicesApi.md#get_seasonal_planning_assistant) | **POST** /seasonal-planning-assistant | Get seasonal planning recommendations |
10
+ | [**visual_crop_analysis**](AIServicesApi.md#visual_crop_analysis) | **POST** /visual-crop-analysis | Analyze crop images |
11
+
12
+
13
+ ## generate_smart_report_summary
14
+
15
+ > <SmartReportSummary> generate_smart_report_summary(generate_smart_report_summary_request, opts)
16
+
17
+ Generate AI report summary
18
+
19
+ Generate AI-powered summaries for soil or water quality reports
20
+
21
+ ### Examples
22
+
23
+ ```ruby
24
+ require 'time'
25
+ require 'soilsidekick'
26
+ # setup authorization
27
+ SoilSidekick.configure do |config|
28
+ # Configure API key authorization: ApiKeyAuth
29
+ config.api_key['x-api-key'] = 'YOUR API KEY'
30
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
31
+ # config.api_key_prefix['x-api-key'] = 'Bearer'
32
+ end
33
+
34
+ api_instance = SoilSidekick::AIServicesApi.new
35
+ generate_smart_report_summary_request = SoilSidekick::GenerateSmartReportSummaryRequest.new({report_type: 'soil', report_data: 3.56}) # GenerateSmartReportSummaryRequest |
36
+ opts = {
37
+ x_tq_context_mode: 4096, # Integer | TurboQuant extended context window size (tokens). With 3-bit KV cache, context windows up to 24K tokens are feasible within the same memory budget as standard 4K.
38
+ x_tq_kv_cache_hint: 'none', # String | KV cache management hint. - `none`: No caching (default) - `reuse`: Reuse KV cache from previous request in same session (40-60% compute savings) - `persist`: Persist cache to disk for cross-session reuse
39
+ x_tq_model_tier: 'auto' # String | Preferred model tier for inference. - `auto`: Server selects optimal model based on device capabilities - `gemma-2b`: Lightweight model (~0.5GB KV with TQ) - `gemma-7b`: Full model, standard KV cache - `gemma-7b-tq`: Full model with TurboQuant 3-bit KV cache (~1.3GB)
40
+ }
41
+
42
+ begin
43
+ # Generate AI report summary
44
+ result = api_instance.generate_smart_report_summary(generate_smart_report_summary_request, opts)
45
+ p result
46
+ rescue SoilSidekick::ApiError => e
47
+ puts "Error when calling AIServicesApi->generate_smart_report_summary: #{e}"
48
+ end
49
+ ```
50
+
51
+ #### Using the generate_smart_report_summary_with_http_info variant
52
+
53
+ This returns an Array which contains the response data, status code and headers.
54
+
55
+ > <Array(<SmartReportSummary>, Integer, Hash)> generate_smart_report_summary_with_http_info(generate_smart_report_summary_request, opts)
56
+
57
+ ```ruby
58
+ begin
59
+ # Generate AI report summary
60
+ data, status_code, headers = api_instance.generate_smart_report_summary_with_http_info(generate_smart_report_summary_request, opts)
61
+ p status_code # => 2xx
62
+ p headers # => { ... }
63
+ p data # => <SmartReportSummary>
64
+ rescue SoilSidekick::ApiError => e
65
+ puts "Error when calling AIServicesApi->generate_smart_report_summary_with_http_info: #{e}"
66
+ end
67
+ ```
68
+
69
+ ### Parameters
70
+
71
+ | Name | Type | Description | Notes |
72
+ | ---- | ---- | ----------- | ----- |
73
+ | **generate_smart_report_summary_request** | [**GenerateSmartReportSummaryRequest**](GenerateSmartReportSummaryRequest.md) | | |
74
+ | **x_tq_context_mode** | **Integer** | TurboQuant extended context window size (tokens). With 3-bit KV cache, context windows up to 24K tokens are feasible within the same memory budget as standard 4K. | [optional][default to 4096] |
75
+ | **x_tq_kv_cache_hint** | **String** | KV cache management hint. - &#x60;none&#x60;: No caching (default) - &#x60;reuse&#x60;: Reuse KV cache from previous request in same session (40-60% compute savings) - &#x60;persist&#x60;: Persist cache to disk for cross-session reuse | [optional][default to &#39;none&#39;] |
76
+ | **x_tq_model_tier** | **String** | Preferred model tier for inference. - &#x60;auto&#x60;: Server selects optimal model based on device capabilities - &#x60;gemma-2b&#x60;: Lightweight model (~0.5GB KV with TQ) - &#x60;gemma-7b&#x60;: Full model, standard KV cache - &#x60;gemma-7b-tq&#x60;: Full model with TurboQuant 3-bit KV cache (~1.3GB) | [optional][default to &#39;auto&#39;] |
77
+
78
+ ### Return type
79
+
80
+ [**SmartReportSummary**](SmartReportSummary.md)
81
+
82
+ ### Authorization
83
+
84
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
85
+
86
+ ### HTTP request headers
87
+
88
+ - **Content-Type**: application/json
89
+ - **Accept**: application/json
90
+
91
+
92
+ ## get_agricultural_intelligence
93
+
94
+ > <AIAnalysis> get_agricultural_intelligence(get_agricultural_intelligence_request, opts)
95
+
96
+ Get AI-powered agricultural insights
97
+
98
+ Agricultural intelligence with AI recommendations
99
+
100
+ ### Examples
101
+
102
+ ```ruby
103
+ require 'time'
104
+ require 'soilsidekick'
105
+ # setup authorization
106
+ SoilSidekick.configure do |config|
107
+ # Configure API key authorization: ApiKeyAuth
108
+ config.api_key['x-api-key'] = 'YOUR API KEY'
109
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
110
+ # config.api_key_prefix['x-api-key'] = 'Bearer'
111
+ end
112
+
113
+ api_instance = SoilSidekick::AIServicesApi.new
114
+ get_agricultural_intelligence_request = SoilSidekick::GetAgriculturalIntelligenceRequest.new({county_fips: 'county_fips_example', analysis_type: 'crop_recommendation'}) # GetAgriculturalIntelligenceRequest |
115
+ opts = {
116
+ x_tq_context_mode: 4096, # Integer | TurboQuant extended context window size (tokens). With 3-bit KV cache, context windows up to 24K tokens are feasible within the same memory budget as standard 4K.
117
+ x_tq_kv_cache_hint: 'none', # String | KV cache management hint. - `none`: No caching (default) - `reuse`: Reuse KV cache from previous request in same session (40-60% compute savings) - `persist`: Persist cache to disk for cross-session reuse
118
+ x_tq_model_tier: 'auto' # String | Preferred model tier for inference. - `auto`: Server selects optimal model based on device capabilities - `gemma-2b`: Lightweight model (~0.5GB KV with TQ) - `gemma-7b`: Full model, standard KV cache - `gemma-7b-tq`: Full model with TurboQuant 3-bit KV cache (~1.3GB)
119
+ }
120
+
121
+ begin
122
+ # Get AI-powered agricultural insights
123
+ result = api_instance.get_agricultural_intelligence(get_agricultural_intelligence_request, opts)
124
+ p result
125
+ rescue SoilSidekick::ApiError => e
126
+ puts "Error when calling AIServicesApi->get_agricultural_intelligence: #{e}"
127
+ end
128
+ ```
129
+
130
+ #### Using the get_agricultural_intelligence_with_http_info variant
131
+
132
+ This returns an Array which contains the response data, status code and headers.
133
+
134
+ > <Array(<AIAnalysis>, Integer, Hash)> get_agricultural_intelligence_with_http_info(get_agricultural_intelligence_request, opts)
135
+
136
+ ```ruby
137
+ begin
138
+ # Get AI-powered agricultural insights
139
+ data, status_code, headers = api_instance.get_agricultural_intelligence_with_http_info(get_agricultural_intelligence_request, opts)
140
+ p status_code # => 2xx
141
+ p headers # => { ... }
142
+ p data # => <AIAnalysis>
143
+ rescue SoilSidekick::ApiError => e
144
+ puts "Error when calling AIServicesApi->get_agricultural_intelligence_with_http_info: #{e}"
145
+ end
146
+ ```
147
+
148
+ ### Parameters
149
+
150
+ | Name | Type | Description | Notes |
151
+ | ---- | ---- | ----------- | ----- |
152
+ | **get_agricultural_intelligence_request** | [**GetAgriculturalIntelligenceRequest**](GetAgriculturalIntelligenceRequest.md) | | |
153
+ | **x_tq_context_mode** | **Integer** | TurboQuant extended context window size (tokens). With 3-bit KV cache, context windows up to 24K tokens are feasible within the same memory budget as standard 4K. | [optional][default to 4096] |
154
+ | **x_tq_kv_cache_hint** | **String** | KV cache management hint. - &#x60;none&#x60;: No caching (default) - &#x60;reuse&#x60;: Reuse KV cache from previous request in same session (40-60% compute savings) - &#x60;persist&#x60;: Persist cache to disk for cross-session reuse | [optional][default to &#39;none&#39;] |
155
+ | **x_tq_model_tier** | **String** | Preferred model tier for inference. - &#x60;auto&#x60;: Server selects optimal model based on device capabilities - &#x60;gemma-2b&#x60;: Lightweight model (~0.5GB KV with TQ) - &#x60;gemma-7b&#x60;: Full model, standard KV cache - &#x60;gemma-7b-tq&#x60;: Full model with TurboQuant 3-bit KV cache (~1.3GB) | [optional][default to &#39;auto&#39;] |
156
+
157
+ ### Return type
158
+
159
+ [**AIAnalysis**](AIAnalysis.md)
160
+
161
+ ### Authorization
162
+
163
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
164
+
165
+ ### HTTP request headers
166
+
167
+ - **Content-Type**: application/json
168
+ - **Accept**: application/json
169
+
170
+
171
+ ## get_seasonal_planning_assistant
172
+
173
+ > <SeasonalPlanningResponse> get_seasonal_planning_assistant(get_seasonal_planning_assistant_request, opts)
174
+
175
+ Get seasonal planning recommendations
176
+
177
+ AI-powered seasonal planning with weather integration
178
+
179
+ ### Examples
180
+
181
+ ```ruby
182
+ require 'time'
183
+ require 'soilsidekick'
184
+ # setup authorization
185
+ SoilSidekick.configure do |config|
186
+ # Configure API key authorization: ApiKeyAuth
187
+ config.api_key['x-api-key'] = 'YOUR API KEY'
188
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
189
+ # config.api_key_prefix['x-api-key'] = 'Bearer'
190
+ end
191
+
192
+ api_instance = SoilSidekick::AIServicesApi.new
193
+ get_seasonal_planning_assistant_request = SoilSidekick::GetSeasonalPlanningAssistantRequest.new({location: SoilSidekick::GetSeasonalPlanningAssistantRequestLocation.new, planning_type: 'spring_planting'}) # GetSeasonalPlanningAssistantRequest |
194
+ opts = {
195
+ x_tq_context_mode: 4096, # Integer | TurboQuant extended context window size (tokens). With 3-bit KV cache, context windows up to 24K tokens are feasible within the same memory budget as standard 4K.
196
+ x_tq_kv_cache_hint: 'none', # String | KV cache management hint. - `none`: No caching (default) - `reuse`: Reuse KV cache from previous request in same session (40-60% compute savings) - `persist`: Persist cache to disk for cross-session reuse
197
+ x_tq_model_tier: 'auto' # String | Preferred model tier for inference. - `auto`: Server selects optimal model based on device capabilities - `gemma-2b`: Lightweight model (~0.5GB KV with TQ) - `gemma-7b`: Full model, standard KV cache - `gemma-7b-tq`: Full model with TurboQuant 3-bit KV cache (~1.3GB)
198
+ }
199
+
200
+ begin
201
+ # Get seasonal planning recommendations
202
+ result = api_instance.get_seasonal_planning_assistant(get_seasonal_planning_assistant_request, opts)
203
+ p result
204
+ rescue SoilSidekick::ApiError => e
205
+ puts "Error when calling AIServicesApi->get_seasonal_planning_assistant: #{e}"
206
+ end
207
+ ```
208
+
209
+ #### Using the get_seasonal_planning_assistant_with_http_info variant
210
+
211
+ This returns an Array which contains the response data, status code and headers.
212
+
213
+ > <Array(<SeasonalPlanningResponse>, Integer, Hash)> get_seasonal_planning_assistant_with_http_info(get_seasonal_planning_assistant_request, opts)
214
+
215
+ ```ruby
216
+ begin
217
+ # Get seasonal planning recommendations
218
+ data, status_code, headers = api_instance.get_seasonal_planning_assistant_with_http_info(get_seasonal_planning_assistant_request, opts)
219
+ p status_code # => 2xx
220
+ p headers # => { ... }
221
+ p data # => <SeasonalPlanningResponse>
222
+ rescue SoilSidekick::ApiError => e
223
+ puts "Error when calling AIServicesApi->get_seasonal_planning_assistant_with_http_info: #{e}"
224
+ end
225
+ ```
226
+
227
+ ### Parameters
228
+
229
+ | Name | Type | Description | Notes |
230
+ | ---- | ---- | ----------- | ----- |
231
+ | **get_seasonal_planning_assistant_request** | [**GetSeasonalPlanningAssistantRequest**](GetSeasonalPlanningAssistantRequest.md) | | |
232
+ | **x_tq_context_mode** | **Integer** | TurboQuant extended context window size (tokens). With 3-bit KV cache, context windows up to 24K tokens are feasible within the same memory budget as standard 4K. | [optional][default to 4096] |
233
+ | **x_tq_kv_cache_hint** | **String** | KV cache management hint. - &#x60;none&#x60;: No caching (default) - &#x60;reuse&#x60;: Reuse KV cache from previous request in same session (40-60% compute savings) - &#x60;persist&#x60;: Persist cache to disk for cross-session reuse | [optional][default to &#39;none&#39;] |
234
+ | **x_tq_model_tier** | **String** | Preferred model tier for inference. - &#x60;auto&#x60;: Server selects optimal model based on device capabilities - &#x60;gemma-2b&#x60;: Lightweight model (~0.5GB KV with TQ) - &#x60;gemma-7b&#x60;: Full model, standard KV cache - &#x60;gemma-7b-tq&#x60;: Full model with TurboQuant 3-bit KV cache (~1.3GB) | [optional][default to &#39;auto&#39;] |
235
+
236
+ ### Return type
237
+
238
+ [**SeasonalPlanningResponse**](SeasonalPlanningResponse.md)
239
+
240
+ ### Authorization
241
+
242
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
243
+
244
+ ### HTTP request headers
245
+
246
+ - **Content-Type**: application/json
247
+ - **Accept**: application/json
248
+
249
+
250
+ ## visual_crop_analysis
251
+
252
+ > <VisualCropAnalysis> visual_crop_analysis(visual_crop_analysis_request, opts)
253
+
254
+ Analyze crop images
255
+
256
+ AI-powered visual crop analysis for pest detection, health assessment, and disease screening
257
+
258
+ ### Examples
259
+
260
+ ```ruby
261
+ require 'time'
262
+ require 'soilsidekick'
263
+ # setup authorization
264
+ SoilSidekick.configure do |config|
265
+ # Configure API key authorization: ApiKeyAuth
266
+ config.api_key['x-api-key'] = 'YOUR API KEY'
267
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
268
+ # config.api_key_prefix['x-api-key'] = 'Bearer'
269
+ end
270
+
271
+ api_instance = SoilSidekick::AIServicesApi.new
272
+ visual_crop_analysis_request = SoilSidekick::VisualCropAnalysisRequest.new({image: 'image_example', analysis_type: 'pest_detection'}) # VisualCropAnalysisRequest |
273
+ opts = {
274
+ x_tq_context_mode: 4096, # Integer | TurboQuant extended context window size (tokens). With 3-bit KV cache, context windows up to 24K tokens are feasible within the same memory budget as standard 4K.
275
+ x_tq_kv_cache_hint: 'none', # String | KV cache management hint. - `none`: No caching (default) - `reuse`: Reuse KV cache from previous request in same session (40-60% compute savings) - `persist`: Persist cache to disk for cross-session reuse
276
+ x_tq_model_tier: 'auto' # String | Preferred model tier for inference. - `auto`: Server selects optimal model based on device capabilities - `gemma-2b`: Lightweight model (~0.5GB KV with TQ) - `gemma-7b`: Full model, standard KV cache - `gemma-7b-tq`: Full model with TurboQuant 3-bit KV cache (~1.3GB)
277
+ }
278
+
279
+ begin
280
+ # Analyze crop images
281
+ result = api_instance.visual_crop_analysis(visual_crop_analysis_request, opts)
282
+ p result
283
+ rescue SoilSidekick::ApiError => e
284
+ puts "Error when calling AIServicesApi->visual_crop_analysis: #{e}"
285
+ end
286
+ ```
287
+
288
+ #### Using the visual_crop_analysis_with_http_info variant
289
+
290
+ This returns an Array which contains the response data, status code and headers.
291
+
292
+ > <Array(<VisualCropAnalysis>, Integer, Hash)> visual_crop_analysis_with_http_info(visual_crop_analysis_request, opts)
293
+
294
+ ```ruby
295
+ begin
296
+ # Analyze crop images
297
+ data, status_code, headers = api_instance.visual_crop_analysis_with_http_info(visual_crop_analysis_request, opts)
298
+ p status_code # => 2xx
299
+ p headers # => { ... }
300
+ p data # => <VisualCropAnalysis>
301
+ rescue SoilSidekick::ApiError => e
302
+ puts "Error when calling AIServicesApi->visual_crop_analysis_with_http_info: #{e}"
303
+ end
304
+ ```
305
+
306
+ ### Parameters
307
+
308
+ | Name | Type | Description | Notes |
309
+ | ---- | ---- | ----------- | ----- |
310
+ | **visual_crop_analysis_request** | [**VisualCropAnalysisRequest**](VisualCropAnalysisRequest.md) | | |
311
+ | **x_tq_context_mode** | **Integer** | TurboQuant extended context window size (tokens). With 3-bit KV cache, context windows up to 24K tokens are feasible within the same memory budget as standard 4K. | [optional][default to 4096] |
312
+ | **x_tq_kv_cache_hint** | **String** | KV cache management hint. - &#x60;none&#x60;: No caching (default) - &#x60;reuse&#x60;: Reuse KV cache from previous request in same session (40-60% compute savings) - &#x60;persist&#x60;: Persist cache to disk for cross-session reuse | [optional][default to &#39;none&#39;] |
313
+ | **x_tq_model_tier** | **String** | Preferred model tier for inference. - &#x60;auto&#x60;: Server selects optimal model based on device capabilities - &#x60;gemma-2b&#x60;: Lightweight model (~0.5GB KV with TQ) - &#x60;gemma-7b&#x60;: Full model, standard KV cache - &#x60;gemma-7b-tq&#x60;: Full model with TurboQuant 3-bit KV cache (~1.3GB) | [optional][default to &#39;auto&#39;] |
314
+
315
+ ### Return type
316
+
317
+ [**VisualCropAnalysis**](VisualCropAnalysis.md)
318
+
319
+ ### Authorization
320
+
321
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
322
+
323
+ ### HTTP request headers
324
+
325
+ - **Content-Type**: application/json
326
+ - **Accept**: application/json
327
+
@@ -0,0 +1,34 @@
1
+ # SoilSidekick::BeginnerGuidance
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **success** | **Boolean** | | [optional] |
8
+ | **simple_answer** | **String** | Plain-language answer without jargon, 1-2 sentences | [optional] |
9
+ | **what_to_do_now** | **String** | Immediate actionable step | [optional] |
10
+ | **why_this_happens** | **String** | Simple explanation of the cause | [optional] |
11
+ | **detailed_explanation** | [**BeginnerGuidanceDetailedExplanation**](BeginnerGuidanceDetailedExplanation.md) | | [optional] |
12
+ | **encouragement** | **String** | Supportive message for the user | [optional] |
13
+ | **related_questions** | **Array&lt;String&gt;** | Common follow-up questions | [optional] |
14
+ | **confidence** | **Float** | Confidence in the guidance (0-100) | [optional] |
15
+ | **metadata** | [**BeginnerGuidanceMetadata**](BeginnerGuidanceMetadata.md) | | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'soilsidekick'
21
+
22
+ instance = SoilSidekick::BeginnerGuidance.new(
23
+ success: null,
24
+ simple_answer: null,
25
+ what_to_do_now: null,
26
+ why_this_happens: null,
27
+ detailed_explanation: null,
28
+ encouragement: null,
29
+ related_questions: null,
30
+ confidence: null,
31
+ metadata: null
32
+ )
33
+ ```
34
+
@@ -0,0 +1,24 @@
1
+ # SoilSidekick::BeginnerGuidanceDetailedExplanation
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **technical_term** | **String** | | [optional] |
8
+ | **plain_english** | **String** | | [optional] |
9
+ | **common_causes** | **Array&lt;String&gt;** | | [optional] |
10
+ | **prevention_tips** | **Array&lt;String&gt;** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'soilsidekick'
16
+
17
+ instance = SoilSidekick::BeginnerGuidanceDetailedExplanation.new(
18
+ technical_term: null,
19
+ plain_english: null,
20
+ common_causes: null,
21
+ prevention_tips: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,22 @@
1
+ # SoilSidekick::BeginnerGuidanceMetadata
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **expertise_level_used** | **String** | | [optional] |
8
+ | **plant_identified** | **Boolean** | | [optional] |
9
+ | **environmental_context** | **Boolean** | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'soilsidekick'
15
+
16
+ instance = SoilSidekick::BeginnerGuidanceMetadata.new(
17
+ expertise_level_used: null,
18
+ plant_identified: null,
19
+ environmental_context: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,24 @@
1
+ # SoilSidekick::BeginnerGuidanceRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **question** | **String** | User&#39;s plant question in natural language | |
8
+ | **plant_context** | [**BeginnerGuidanceRequestPlantContext**](BeginnerGuidanceRequestPlantContext.md) | | [optional] |
9
+ | **location** | [**BeginnerGuidanceRequestLocation**](BeginnerGuidanceRequestLocation.md) | | [optional] |
10
+ | **user_expertise** | **String** | User&#39;s self-assessed expertise level | [optional][default to &#39;complete_beginner&#39;] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'soilsidekick'
16
+
17
+ instance = SoilSidekick::BeginnerGuidanceRequest.new(
18
+ question: My plant has yellow leaves, what&#39;s wrong?,
19
+ plant_context: null,
20
+ location: null,
21
+ user_expertise: null
22
+ )
23
+ ```
24
+
@@ -0,0 +1,20 @@
1
+ # SoilSidekick::BeginnerGuidanceRequestLocation
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **county_fips** | **String** | | [optional] |
8
+ | **indoor** | **Boolean** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'soilsidekick'
14
+
15
+ instance = SoilSidekick::BeginnerGuidanceRequestLocation.new(
16
+ county_fips: null,
17
+ indoor: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,20 @@
1
+ # SoilSidekick::BeginnerGuidanceRequestPlantContext
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **plant_name** | **String** | Common plant name if known | [optional] |
8
+ | **image** | **String** | Base64 image for context | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'soilsidekick'
14
+
15
+ instance = SoilSidekick::BeginnerGuidanceRequestPlantContext.new(
16
+ plant_name: null,
17
+ image: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,26 @@
1
+ # SoilSidekick::CalculateCarbonCreditsRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **field_name** | **String** | Name of the field | |
8
+ | **field_size_acres** | **Float** | Field size in acres | |
9
+ | **soil_organic_matter** | **Float** | Soil organic matter percentage | [optional] |
10
+ | **soil_analysis_id** | **String** | Reference to existing soil analysis | [optional] |
11
+ | **verification_type** | **String** | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'soilsidekick'
17
+
18
+ instance = SoilSidekick::CalculateCarbonCreditsRequest.new(
19
+ field_name: null,
20
+ field_size_acres: null,
21
+ soil_organic_matter: null,
22
+ soil_analysis_id: null,
23
+ verification_type: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,26 @@
1
+ # SoilSidekick::CalculateEnvironmentalImpactRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **analysis_id** | **String** | | |
8
+ | **county_fips** | **String** | | |
9
+ | **soil_data** | [**CalculateEnvironmentalImpactRequestSoilData**](CalculateEnvironmentalImpactRequestSoilData.md) | | |
10
+ | **proposed_treatments** | [**Array&lt;CalculateEnvironmentalImpactRequestProposedTreatmentsInner&gt;**](CalculateEnvironmentalImpactRequestProposedTreatmentsInner.md) | | [optional] |
11
+ | **water_body_data** | [**CalculateEnvironmentalImpactRequestWaterBodyData**](CalculateEnvironmentalImpactRequestWaterBodyData.md) | | [optional] |
12
+
13
+ ## Example
14
+
15
+ ```ruby
16
+ require 'soilsidekick'
17
+
18
+ instance = SoilSidekick::CalculateEnvironmentalImpactRequest.new(
19
+ analysis_id: null,
20
+ county_fips: null,
21
+ soil_data: null,
22
+ proposed_treatments: null,
23
+ water_body_data: null
24
+ )
25
+ ```
26
+
@@ -0,0 +1,18 @@
1
+ # SoilSidekick::CalculateEnvironmentalImpactRequestProposedTreatmentsInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **type** | **String** | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'soilsidekick'
13
+
14
+ instance = SoilSidekick::CalculateEnvironmentalImpactRequestProposedTreatmentsInner.new(
15
+ type: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,28 @@
1
+ # SoilSidekick::CalculateEnvironmentalImpactRequestSoilData
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **ph_level** | **Float** | | [optional] |
8
+ | **organic_matter** | **Float** | | [optional] |
9
+ | **slope** | **String** | | [optional] |
10
+ | **drainage** | **String** | | [optional] |
11
+ | **nitrogen_level** | **String** | | [optional] |
12
+ | **phosphorus_level** | **String** | | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'soilsidekick'
18
+
19
+ instance = SoilSidekick::CalculateEnvironmentalImpactRequestSoilData.new(
20
+ ph_level: null,
21
+ organic_matter: null,
22
+ slope: null,
23
+ drainage: null,
24
+ nitrogen_level: null,
25
+ phosphorus_level: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,18 @@
1
+ # SoilSidekick::CalculateEnvironmentalImpactRequestWaterBodyData
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **distance_miles** | **Float** | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'soilsidekick'
13
+
14
+ instance = SoilSidekick::CalculateEnvironmentalImpactRequestWaterBodyData.new(
15
+ distance_miles: null
16
+ )
17
+ ```
18
+
data/docs/CarbonApi.md ADDED
@@ -0,0 +1,79 @@
1
+ # SoilSidekick::CarbonApi
2
+
3
+ All URIs are relative to *https://wzgnxkoeqzvueypwzvyn.supabase.co/functions/v1*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**calculate_carbon_credits**](CarbonApi.md#calculate_carbon_credits) | **POST** /carbon-credit-calculator | Calculate carbon credits |
8
+
9
+
10
+ ## calculate_carbon_credits
11
+
12
+ > <CarbonCreditCalculation> calculate_carbon_credits(calculate_carbon_credits_request)
13
+
14
+ Calculate carbon credits
15
+
16
+ Calculate carbon credits based on field data and soil organic matter
17
+
18
+ ### Examples
19
+
20
+ ```ruby
21
+ require 'time'
22
+ require 'soilsidekick'
23
+ # setup authorization
24
+ SoilSidekick.configure do |config|
25
+ # Configure API key authorization: ApiKeyAuth
26
+ config.api_key['x-api-key'] = 'YOUR API KEY'
27
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
28
+ # config.api_key_prefix['x-api-key'] = 'Bearer'
29
+ end
30
+
31
+ api_instance = SoilSidekick::CarbonApi.new
32
+ calculate_carbon_credits_request = SoilSidekick::CalculateCarbonCreditsRequest.new({field_name: 'field_name_example', field_size_acres: 3.56}) # CalculateCarbonCreditsRequest |
33
+
34
+ begin
35
+ # Calculate carbon credits
36
+ result = api_instance.calculate_carbon_credits(calculate_carbon_credits_request)
37
+ p result
38
+ rescue SoilSidekick::ApiError => e
39
+ puts "Error when calling CarbonApi->calculate_carbon_credits: #{e}"
40
+ end
41
+ ```
42
+
43
+ #### Using the calculate_carbon_credits_with_http_info variant
44
+
45
+ This returns an Array which contains the response data, status code and headers.
46
+
47
+ > <Array(<CarbonCreditCalculation>, Integer, Hash)> calculate_carbon_credits_with_http_info(calculate_carbon_credits_request)
48
+
49
+ ```ruby
50
+ begin
51
+ # Calculate carbon credits
52
+ data, status_code, headers = api_instance.calculate_carbon_credits_with_http_info(calculate_carbon_credits_request)
53
+ p status_code # => 2xx
54
+ p headers # => { ... }
55
+ p data # => <CarbonCreditCalculation>
56
+ rescue SoilSidekick::ApiError => e
57
+ puts "Error when calling CarbonApi->calculate_carbon_credits_with_http_info: #{e}"
58
+ end
59
+ ```
60
+
61
+ ### Parameters
62
+
63
+ | Name | Type | Description | Notes |
64
+ | ---- | ---- | ----------- | ----- |
65
+ | **calculate_carbon_credits_request** | [**CalculateCarbonCreditsRequest**](CalculateCarbonCreditsRequest.md) | | |
66
+
67
+ ### Return type
68
+
69
+ [**CarbonCreditCalculation**](CarbonCreditCalculation.md)
70
+
71
+ ### Authorization
72
+
73
+ [ApiKeyAuth](../README.md#ApiKeyAuth)
74
+
75
+ ### HTTP request headers
76
+
77
+ - **Content-Type**: application/json
78
+ - **Accept**: application/json
79
+