@deepintel-ltd/farmpro-contracts 1.5.2 → 1.5.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"field-monitoring.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/field-monitoring.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAGF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;EAOpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAG5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAGH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;EAIxC,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;EAG7C,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAGxD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;EAOxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC"}
1
+ {"version":3,"file":"field-monitoring.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/field-monitoring.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAGF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAG1E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;EAOpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAG5E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAGH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;EAIxC,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;EAG7C,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;EAK5B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAGxD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;EAOxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AAGF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;EAO9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUlC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAIvC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;EAOnC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;EAMvC,CAAC;AAEH,eAAO,MAAM,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;EASpD,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;EAOvC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+FvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.historicalNDVIDataPointSchema = exports.soilTrendSchema = exports.soilReadingSchema = exports.fieldMonitoringErrorResponseSchema = exports.triggerAnalysisResponseSchema = exports.alertsQuerySchema = exports.ndviTrendQuerySchema = exports.farmMonitoringStatsSchema = exports.fieldComparisonSchema = exports.fieldAlertSchema = exports.weeklyNDVIStatsSchema = exports.ndviTrendDataPointSchema = exports.fieldMonitoringSummarySchema = void 0;
3
+ exports.intelligentSoilProfileSchema = exports.longTermRecommendationSchema = exports.intelligentFertilizerRecommendationSchema = exports.seasonalRecommendationSchema = exports.soilRecommendationSchema = exports.completenessAssessmentSchema = exports.qualityAssessmentSchema = exports.dataSourceInfoSchema = exports.nutrientValueSchema = exports.historicalNDVIDataPointSchema = exports.soilTrendSchema = exports.soilReadingSchema = exports.fieldMonitoringErrorResponseSchema = exports.triggerAnalysisResponseSchema = exports.alertsQuerySchema = exports.ndviTrendQuerySchema = exports.farmMonitoringStatsSchema = exports.fieldComparisonSchema = exports.fieldAlertSchema = exports.weeklyNDVIStatsSchema = exports.ndviTrendDataPointSchema = exports.fieldMonitoringSummarySchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const recommendations_schemas_1 = require("./recommendations.schemas");
6
6
  // Field Monitoring Summary Schema
@@ -116,3 +116,163 @@ exports.historicalNDVIDataPointSchema = zod_1.z.object({
116
116
  cloudCoverage: zod_1.z.number().min(0).max(100),
117
117
  imageCoverage: zod_1.z.number().min(0).max(100),
118
118
  });
119
+ // Intelligent Soil Profile Schemas
120
+ exports.nutrientValueSchema = zod_1.z.object({
121
+ value: zod_1.z.number().nullable(),
122
+ unit: zod_1.z.enum(['ppm', 'kg/ha', 'g/kg', '%', 'cmol(c)/kg']),
123
+ source: zod_1.z.enum(['manual', 'regional_api', 'global_api', 'predicted']),
124
+ confidence: zod_1.z.number().min(0).max(1),
125
+ lastUpdated: zod_1.z.string().datetime(),
126
+ sourceId: zod_1.z.string().optional(),
127
+ });
128
+ exports.dataSourceInfoSchema = zod_1.z.object({
129
+ source: zod_1.z.enum(['manual', 'regional_api', 'global_api', 'predicted']),
130
+ sourceId: zod_1.z.string().optional(),
131
+ priority: zod_1.z.number().min(1).max(4),
132
+ confidence: zod_1.z.number().min(0).max(1),
133
+ date: zod_1.z.string().datetime(),
134
+ notes: zod_1.z.string().optional(),
135
+ });
136
+ exports.qualityAssessmentSchema = zod_1.z.object({
137
+ quality: zod_1.z.enum(['excellent', 'good', 'fair', 'poor', 'critical']),
138
+ recommendation: zod_1.z.string(),
139
+ optimalRange: zod_1.z
140
+ .object({
141
+ min: zod_1.z.number(),
142
+ max: zod_1.z.number(),
143
+ })
144
+ .optional(),
145
+ currentStatus: zod_1.z.enum(['optimal', 'low', 'high', 'critical']),
146
+ });
147
+ exports.completenessAssessmentSchema = zod_1.z.object({
148
+ score: zod_1.z.number().min(0).max(1),
149
+ missingFields: zod_1.z.array(zod_1.z.string()),
150
+ completeness: zod_1.z.enum(['complete', 'mostly_complete', 'partial', 'incomplete']),
151
+ });
152
+ exports.soilRecommendationSchema = zod_1.z.object({
153
+ priority: zod_1.z.number().min(1).max(5),
154
+ action: zod_1.z.string(),
155
+ details: zod_1.z.string(),
156
+ timing: zod_1.z.string(),
157
+ severity: zod_1.z.enum(['low', 'medium', 'high', 'critical']).optional(),
158
+ confidence: zod_1.z.number().min(0).max(1).optional(),
159
+ });
160
+ exports.seasonalRecommendationSchema = zod_1.z.object({
161
+ priority: zod_1.z.number().min(1).max(5),
162
+ action: zod_1.z.string(),
163
+ details: zod_1.z.string(),
164
+ timing: zod_1.z.string(),
165
+ confidence: zod_1.z.number().min(0).max(1).optional(),
166
+ });
167
+ exports.intelligentFertilizerRecommendationSchema = zod_1.z.object({
168
+ inventoryItemId: zod_1.z.string().uuid().optional(),
169
+ productName: zod_1.z.string().optional(),
170
+ quantity: zod_1.z.number(),
171
+ unit: zod_1.z.string(),
172
+ reason: zod_1.z.string(),
173
+ estimatedCost: zod_1.z.number().optional(),
174
+ applicationTiming: zod_1.z.string().optional(),
175
+ confidence: zod_1.z.number().min(0).max(1).optional(),
176
+ });
177
+ exports.longTermRecommendationSchema = zod_1.z.object({
178
+ priority: zod_1.z.number().min(1).max(5),
179
+ action: zod_1.z.string(),
180
+ details: zod_1.z.string(),
181
+ timeframe: zod_1.z.string(),
182
+ expectedImpact: zod_1.z.string(),
183
+ confidence: zod_1.z.number().min(0).max(1).optional(),
184
+ });
185
+ exports.intelligentSoilProfileSchema = zod_1.z.object({
186
+ fieldId: zod_1.z.string().uuid(),
187
+ fieldName: zod_1.z.string(),
188
+ coordinates: zod_1.z.object({
189
+ latitude: zod_1.z.number(),
190
+ longitude: zod_1.z.number(),
191
+ }),
192
+ nutrients: zod_1.z.object({
193
+ pH: exports.nutrientValueSchema,
194
+ nitrogen: exports.nutrientValueSchema,
195
+ phosphorus: exports.nutrientValueSchema,
196
+ potassium: exports.nutrientValueSchema,
197
+ organicMatter: exports.nutrientValueSchema,
198
+ organicCarbon: exports.nutrientValueSchema,
199
+ cec: exports.nutrientValueSchema,
200
+ }),
201
+ properties: zod_1.z.object({
202
+ texture: zod_1.z.object({
203
+ sand: zod_1.z.number(),
204
+ silt: zod_1.z.number(),
205
+ clay: zod_1.z.number(),
206
+ classification: zod_1.z.string(),
207
+ }),
208
+ bulkDensity: zod_1.z.number(),
209
+ }),
210
+ dataSources: zod_1.z.record(zod_1.z.string(), exports.dataSourceInfoSchema),
211
+ quality: zod_1.z.object({
212
+ overall: zod_1.z.enum(['excellent', 'good', 'fair', 'poor', 'critical']),
213
+ score: zod_1.z.number().min(0).max(1),
214
+ assessments: zod_1.z.object({
215
+ pH: exports.qualityAssessmentSchema,
216
+ organicMatter: exports.qualityAssessmentSchema,
217
+ completeness: exports.completenessAssessmentSchema,
218
+ }),
219
+ }),
220
+ temporal: zod_1.z.object({
221
+ latestUpdate: zod_1.z.string().datetime(),
222
+ testHistory: zod_1.z.array(zod_1.z.object({
223
+ id: zod_1.z.string().uuid(),
224
+ date: zod_1.z.string().datetime(),
225
+ pH: zod_1.z.number(),
226
+ nitrogen: zod_1.z.number().nullable(),
227
+ phosphorus: zod_1.z.number().nullable(),
228
+ potassium: zod_1.z.number().nullable(),
229
+ })),
230
+ trends: zod_1.z
231
+ .object({
232
+ pH: zod_1.z
233
+ .object({
234
+ direction: zod_1.z.enum(['increasing', 'decreasing', 'stable']),
235
+ rate: zod_1.z.number(),
236
+ })
237
+ .optional(),
238
+ nitrogen: zod_1.z
239
+ .object({
240
+ direction: zod_1.z.enum(['increasing', 'decreasing', 'stable']),
241
+ rate: zod_1.z.number(),
242
+ })
243
+ .optional(),
244
+ phosphorus: zod_1.z
245
+ .object({
246
+ direction: zod_1.z.enum(['increasing', 'decreasing', 'stable']),
247
+ rate: zod_1.z.number(),
248
+ })
249
+ .optional(),
250
+ potassium: zod_1.z
251
+ .object({
252
+ direction: zod_1.z.enum(['increasing', 'decreasing', 'stable']),
253
+ rate: zod_1.z.number(),
254
+ })
255
+ .optional(),
256
+ organicMatter: zod_1.z
257
+ .object({
258
+ direction: zod_1.z.enum(['increasing', 'decreasing', 'stable']),
259
+ rate: zod_1.z.number(),
260
+ })
261
+ .optional(),
262
+ })
263
+ .optional(),
264
+ }),
265
+ recommendations: zod_1.z.object({
266
+ immediate: zod_1.z.array(exports.soilRecommendationSchema),
267
+ seasonal: zod_1.z.array(exports.seasonalRecommendationSchema),
268
+ fertilizer: zod_1.z.array(exports.intelligentFertilizerRecommendationSchema),
269
+ longTerm: zod_1.z.array(exports.longTermRecommendationSchema).optional(),
270
+ summary: zod_1.z.string().optional(),
271
+ }),
272
+ metadata: zod_1.z.object({
273
+ confidence: zod_1.z.number().min(0).max(1),
274
+ completeness: zod_1.z.number().min(0).max(1),
275
+ lastValidated: zod_1.z.string().datetime(),
276
+ nextRecommendedTest: zod_1.z.string().datetime().optional(),
277
+ }),
278
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deepintel-ltd/farmpro-contracts",
3
- "version": "1.5.2",
3
+ "version": "1.5.4",
4
4
  "description": "Type-safe API contracts for FarmPro API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",