deere-sdk 2.1.10 → 2.2.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 (59) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +2 -0
  3. package/dist/api/clients.d.ts +2 -2
  4. package/dist/api/clients.d.ts.map +1 -1
  5. package/dist/api/clients.js.map +1 -1
  6. package/dist/api/connection-management.d.ts +2 -2
  7. package/dist/api/connection-management.d.ts.map +1 -1
  8. package/dist/api/connection-management.js.map +1 -1
  9. package/dist/api/farms.d.ts +2 -2
  10. package/dist/api/farms.d.ts.map +1 -1
  11. package/dist/api/farms.js.map +1 -1
  12. package/dist/api/fields.d.ts +3 -3
  13. package/dist/api/fields.d.ts.map +1 -1
  14. package/dist/api/fields.js.map +1 -1
  15. package/dist/api/guidance-lines.d.ts +2 -2
  16. package/dist/api/guidance-lines.d.ts.map +1 -1
  17. package/dist/api/guidance-lines.js.map +1 -1
  18. package/dist/api/machine-engine-hours.d.ts +2 -2
  19. package/dist/api/machine-engine-hours.d.ts.map +1 -1
  20. package/dist/api/machine-engine-hours.js.map +1 -1
  21. package/dist/api/machine-hours-of-operation.d.ts +2 -2
  22. package/dist/api/machine-hours-of-operation.d.ts.map +1 -1
  23. package/dist/api/machine-hours-of-operation.js.map +1 -1
  24. package/dist/api/map-layers.d.ts +2 -2
  25. package/dist/api/map-layers.d.ts.map +1 -1
  26. package/dist/api/map-layers.js.map +1 -1
  27. package/dist/api/partnerships.d.ts +3 -3
  28. package/dist/api/partnerships.d.ts.map +1 -1
  29. package/dist/api/partnerships.js.map +1 -1
  30. package/dist/api/products.d.ts +4 -4
  31. package/dist/api/products.d.ts.map +1 -1
  32. package/dist/api/products.js.map +1 -1
  33. package/dist/api/webhook.d.ts +2 -2
  34. package/dist/api/webhook.d.ts.map +1 -1
  35. package/dist/api/webhook.js.map +1 -1
  36. package/dist/api-servers.generated.d.ts +1 -1
  37. package/dist/api-servers.generated.js +1 -1
  38. package/dist/safe/equipment.d.ts +7 -8
  39. package/dist/safe/equipment.d.ts.map +1 -1
  40. package/dist/safe/equipment.js +7 -0
  41. package/dist/safe/equipment.js.map +1 -1
  42. package/dist/safe/field-operations.d.ts.map +1 -1
  43. package/dist/safe/field-operations.js +13 -4
  44. package/dist/safe/field-operations.js.map +1 -1
  45. package/dist/safe/products.d.ts +4 -5
  46. package/dist/safe/products.d.ts.map +1 -1
  47. package/dist/safe/products.js +5 -0
  48. package/dist/safe/products.js.map +1 -1
  49. package/dist/types/generated/equipment.d.ts +45 -91
  50. package/dist/types/generated/equipment.d.ts.map +1 -1
  51. package/dist/types/generated/fields.d.ts +1 -1
  52. package/dist/types/generated/fields.d.ts.map +1 -1
  53. package/dist/types/generated/index.d.ts +1 -1
  54. package/dist/types/generated/index.js +1 -1
  55. package/dist/types/generated/machine-locations.d.ts +1 -1
  56. package/dist/types/generated/machine-locations.d.ts.map +1 -1
  57. package/dist/types/generated/webhook.d.ts +3 -3
  58. package/dist/types/generated/webhook.d.ts.map +1 -1
  59. package/package.json +4 -2
@@ -23,8 +23,7 @@
23
23
  * those future patches.
24
24
  */
25
25
  import type { EquipmentApi } from '../api/equipment.js';
26
- import type { PaginatedResponse, RequestOptions } from '../client.js';
27
- import type { components } from '../types/generated/equipment.js';
26
+ import type { RequestOptions } from '../client.js';
28
27
  type RequireEmbed<P> = P extends {
29
28
  embed?: infer E;
30
29
  } ? Omit<P, 'embed'> & {
@@ -58,35 +57,35 @@ export declare class SafeEquipmentApi {
58
57
  * have wire traces to confirm their shape. Once field-mcp probes them, a
59
58
  * follow-up can tighten via spec patches.
60
59
  */
61
- getWithEmbed(params: SafeGetParams, options?: RequestOptions): Promise<PaginatedResponse<components['schemas']['equipmentForList']>>;
60
+ getWithEmbed(params: SafeGetParams, options?: RequestOptions): ReturnType<EquipmentApi['get']>;
62
61
  /**
63
62
  * Get a single equipment by ID, with a required `embed` parameter.
64
63
  * Wraps `deere.equipment.getEquipment`. Embed values: `devices`,
65
64
  * `equipment`, `pairingDetails`, `icon`, `offsets`, `capabilities`.
66
65
  */
67
- getEquipmentWithEmbed(id: string, params: SafeGetEquipmentParams, options?: RequestOptions): Promise<components['schemas']['equipment']>;
66
+ getEquipmentWithEmbed(id: string, params: SafeGetEquipmentParams, options?: RequestOptions): ReturnType<EquipmentApi['getEquipment']>;
68
67
  /**
69
68
  * List equipment models with a required `embed` parameter. Wraps
70
69
  * `deere.equipment.listEquipmentmodels`. Embed values: `make`, `type`,
71
70
  * `isgType`.
72
71
  */
73
- listEquipmentmodelsWithEmbed(params: SafeListEquipmentmodelsParams, options?: RequestOptions): Promise<PaginatedResponse<components['schemas']['equipment-model']>>;
72
+ listEquipmentmodelsWithEmbed(params: SafeListEquipmentmodelsParams, options?: RequestOptions): ReturnType<EquipmentApi['listEquipmentmodels']>;
74
73
  /**
75
74
  * List equipment ISG types with a required `embed` parameter. Wraps
76
75
  * `deere.equipment.listEquipmentisgtypes`. Embed values: `equipmentModels`,
77
76
  * `recordMetadata`.
78
77
  */
79
- listEquipmentisgtypesWithEmbed(params: SafeListEquipmentisgtypesParams, options?: RequestOptions): Promise<PaginatedResponse<components['schemas']['equipment-isg-type']>>;
78
+ listEquipmentisgtypesWithEmbed(params: SafeListEquipmentisgtypesParams, options?: RequestOptions): ReturnType<EquipmentApi['listEquipmentisgtypes']>;
80
79
  /**
81
80
  * Get equipment ISG types by make ID, with a required `embed` parameter.
82
81
  * Wraps `deere.equipment.getEquipmentisgtypes`.
83
82
  */
84
- getEquipmentisgtypesWithEmbed(equipmentMakeId: string, params: SafeGetEquipmentisgtypesParams, options?: RequestOptions): Promise<PaginatedResponse<components['schemas']['equipment-isg-type']>>;
83
+ getEquipmentisgtypesWithEmbed(equipmentMakeId: string, params: SafeGetEquipmentisgtypesParams, options?: RequestOptions): ReturnType<EquipmentApi['getEquipmentisgtypes']>;
85
84
  /**
86
85
  * Get a single equipment ISG type by make ID and ISG type ID, with a
87
86
  * required `embed` parameter. Wraps `deere.equipment.getEquipmentisgtypes2`.
88
87
  */
89
- getEquipmentisgtypes2WithEmbed(equipmentMakeId: string, equipmentISGTypeId: string, params: SafeGetEquipmentisgtypes2Params, options?: RequestOptions): Promise<components['schemas']['equipment-isg-type']>;
88
+ getEquipmentisgtypes2WithEmbed(equipmentMakeId: string, equipmentISGTypeId: string, params: SafeGetEquipmentisgtypes2Params, options?: RequestOptions): ReturnType<EquipmentApi['getEquipmentisgtypes2']>;
90
89
  }
91
90
  export {};
92
91
  //# sourceMappingURL=equipment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"equipment.d.ts","sourceRoot":"","sources":["../../src/safe/equipment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"equipment.d.ts","sourceRoot":"","sources":["../../src/safe/equipment.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,13 @@
22
22
  * See scripts/embed-contracts.yaml for the contract registry that would house
23
23
  * those future patches.
24
24
  */
25
+ // Return types derive from the raw EquipmentApi methods via `ReturnType<...>`
26
+ // instead of explicit `components['schemas'][...]` annotations. The facade only
27
+ // makes `embed` required (see RequireEmbed); the response is identical to the raw
28
+ // method by construction. Deriving the type keeps this file compiling when JD
29
+ // perturbs an equipment response upstream. Explicit annotations here previously
30
+ // resolved to `never` (a discriminator/`@type` enum conflict in JD's spec), so
31
+ // any upstream change turned into a hard build failure in the daily sync.
25
32
  export class SafeEquipmentApi {
26
33
  raw;
27
34
  constructor(raw) {
@@ -1 +1 @@
1
- {"version":3,"file":"equipment.js","sourceRoot":"","sources":["../../src/safe/equipment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAqCH,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,YAAY,CAChB,MAAqB,EACrB,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CACzB,EAAU,EACV,MAA8B,EAC9B,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,4BAA4B,CAChC,MAAqC,EACrC,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,8BAA8B,CAClC,MAAuC,EACvC,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,6BAA6B,CACjC,eAAuB,EACvB,MAAsC,EACtC,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,8BAA8B,CAClC,eAAuB,EACvB,kBAA0B,EAC1B,MAAuC,EACvC,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9F,CAAC;CACF"}
1
+ {"version":3,"file":"equipment.js","sourceRoot":"","sources":["../../src/safe/equipment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAoCH,8EAA8E;AAC9E,gFAAgF;AAChF,kFAAkF;AAClF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,0EAA0E;AAC1E,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,GAAiB;QAAjB,QAAG,GAAH,GAAG,CAAc;IAAG,CAAC;IAElD;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,YAAY,CAChB,MAAqB,EACrB,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CACzB,EAAU,EACV,MAA8B,EAC9B,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,4BAA4B,CAChC,MAAqC,EACrC,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,8BAA8B,CAClC,MAAuC,EACvC,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,6BAA6B,CACjC,eAAuB,EACvB,MAAsC,EACtC,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,8BAA8B,CAClC,eAAuB,EACvB,kBAA0B,EAC1B,MAAuC,EACvC,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,eAAe,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9F,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"field-operations.d.ts","sourceRoot":"","sources":["../../src/safe/field-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAE7E,KAAK,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACjE,KAAK,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACrE,KAAK,yBAAyB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;AAEpF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,GAAG;IAC/D,gBAAgB,EAAE,yBAAyB,EAAE,CAAC;CAC/C,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,gCAAgC,GAAG,mBAAmB,GAAG;IACnE,gBAAgB,EAAE,yBAAyB,EAAE,CAAC;CAC/C,CAAC;AAEF,KAAK,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,KAAK,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAEnD,KAAK,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,KAAK,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAEzD,KAAK,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,KAAK,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAoBjD,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,kBAAkB;IAEpD;;;;;;;;;;;;;OAaG;IACG,uBAAuB,CAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,8BAA8B,EAAE,CAAC;IAW5C;;;;;;;;;;;OAWG;IACG,oBAAoB,CACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;IAW7D;;;;;;;;;;OAUG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,gCAAgC,CAAC;CAQ7C"}
1
+ {"version":3,"file":"field-operations.d.ts","sourceRoot":"","sources":["../../src/safe/field-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAE7E,KAAK,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACjE,KAAK,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AACrE,KAAK,yBAAyB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;AAEpF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,GAAG;IAC/D,gBAAgB,EAAE,yBAAyB,EAAE,CAAC;CAC/C,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,gCAAgC,GAAG,mBAAmB,GAAG;IACnE,gBAAgB,EAAE,yBAAyB,EAAE,CAAC;CAC/C,CAAC;AAEF,KAAK,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,KAAK,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAEnD,KAAK,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,KAAK,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAEzD,KAAK,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,KAAK,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAkCjD,qBAAa,sBAAsB;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,kBAAkB;IAEpD;;;;;;;;;;;;;OAaG;IACG,uBAAuB,CAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,8BAA8B,EAAE,CAAC;IAW5C;;;;;;;;;;;OAWG;IACG,oBAAoB,CACxB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;IAW7D;;;;;;;;;;OAUG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,gCAAgC,CAAC;CAQ7C"}
@@ -29,11 +29,20 @@
29
29
  import { DeereError } from '../errors.js';
30
30
  /** Shared contract-violation thrower. Runtime-validates that every returned
31
31
  * operation carries the measurementTypes array the embed param is supposed
32
- * to populate, and throws DeereError naming the offending op on drift. */
32
+ * to populate, and throws DeereError naming the offending op on drift.
33
+ *
34
+ * Takes `op: unknown` rather than a constrained generic so the three callers
35
+ * keep compiling even if an upstream spec change degrades the raw return type
36
+ * to `unknown` (the facade's whole point is drift-resistance). The runtime
37
+ * guard proves the asserted shape: `op` must be a non-null object whose
38
+ * `measurementTypes` is an array. An empty array is valid (the operation
39
+ * exists with no recorded measurements yet); `undefined` or a non-array is a
40
+ * contract violation. */
33
41
  function assertMeasurementsPresent(op, methodName) {
34
- if (op.measurementTypes === undefined) {
35
- throw new DeereError(`deere-sdk contract violation in ${methodName}: field operation ${String(op.id ?? '(unknown id)')} ` +
36
- `(type=${String(op.fieldOperationType ?? 'unknown')}) has no measurementTypes array ` +
42
+ const record = (typeof op === 'object' && op !== null ? op : {});
43
+ if (!Array.isArray(record.measurementTypes)) {
44
+ throw new DeereError(`deere-sdk contract violation in ${methodName}: field operation ${String(record.id ?? '(unknown id)')} ` +
45
+ `(type=${String(record.fieldOperationType ?? 'unknown')}) has no measurementTypes array ` +
37
46
  `despite embed=measurementTypes being passed. JD's wire format may have drifted from the ` +
38
47
  `documented contract. Capture a fresh fixture and update scripts/embed-contracts.yaml if needed.`, 0, 'CONTRACT_VIOLATION');
39
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"field-operations.js","sourceRoot":"","sources":["../../src/safe/field-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA8C1C;;2EAE2E;AAC3E,SAAS,yBAAyB,CAEhC,EAAK,EAAE,UAAkB;IACzB,IAAI,EAAE,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACtC,MAAM,IAAI,UAAU,CAClB,mCAAmC,UAAU,qBAAqB,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,cAAc,CAAC,GAAG;YAClG,SAAS,MAAM,CAAC,EAAE,CAAC,kBAAkB,IAAI,SAAS,CAAC,kCAAkC;YACrF,0FAA0F;YAC1F,iGAAiG,EACnG,CAAC,EACD,oBAAoB,CACrB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,GAAuB;QAAvB,QAAG,GAAH,GAAG,CAAoB;IAAG,CAAC;IAExD;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,uBAAuB,CAC3B,KAAa,EACb,OAAe,EACf,MAA0B;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE;YACpD,GAAG,MAAM;YACT,KAAK,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,yBAAyB,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAA0C,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,oBAAoB,CACxB,KAAa,EACb,OAAe,EACf,MAAuB;QAEvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;YACjD,GAAG,MAAM;YACT,KAAK,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACrC,yBAAyB,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,MAA2D,CAAC;IACrE,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,mBAAmB,CACvB,WAAmB,EACnB,MAAsB;QAEtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE;YAC7C,GAAG,MAAM;YACT,KAAK,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QACH,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACzD,OAAO,MAA0C,CAAC;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"field-operations.js","sourceRoot":"","sources":["../../src/safe/field-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA8C1C;;;;;;;;;;0BAU0B;AAC1B,SAAS,yBAAyB,CAChC,EAAW,EACX,UAAkB;IAElB,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAI9D,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,UAAU,CAClB,mCAAmC,UAAU,qBAAqB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,cAAc,CAAC,GAAG;YACtG,SAAS,MAAM,CAAC,MAAM,CAAC,kBAAkB,IAAI,SAAS,CAAC,kCAAkC;YACzF,0FAA0F;YAC1F,iGAAiG,EACnG,CAAC,EACD,oBAAoB,CACrB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,GAAuB;QAAvB,QAAG,GAAH,GAAG,CAAoB;IAAG,CAAC;IAExD;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,uBAAuB,CAC3B,KAAa,EACb,OAAe,EACf,MAA0B;QAE1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE;YACpD,GAAG,MAAM;YACT,KAAK,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;YACxB,yBAAyB,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,MAA0C,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,oBAAoB,CACxB,KAAa,EACb,OAAe,EACf,MAAuB;QAEvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;YACjD,GAAG,MAAM;YACT,KAAK,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QACH,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACrC,yBAAyB,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,MAA2D,CAAC;IACrE,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,mBAAmB,CACvB,WAAmB,EACnB,MAAsB;QAEtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE;YAC7C,GAAG,MAAM;YACT,KAAK,EAAE,kBAAkB;SAC1B,CAAC,CAAC;QACH,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACzD,OAAO,MAA0C,CAAC;IACpD,CAAC;CACF"}
@@ -16,8 +16,7 @@
16
16
  * See scripts/embed-contracts.yaml for the contract registry.
17
17
  */
18
18
  import type { ProductsApi } from '../api/products.js';
19
- import type { PaginatedResponse, RequestOptions } from '../client.js';
20
- import type { components } from '../types/generated/products.js';
19
+ import type { RequestOptions } from '../client.js';
21
20
  type RequireEmbed<P> = P extends {
22
21
  embed?: infer E;
23
22
  } ? Omit<P, 'embed'> & {
@@ -37,17 +36,17 @@ export declare class SafeProductsApi {
37
36
  * Wraps `deere.products.list`. Embed values: `documents`,
38
37
  * `showMergedProducts`.
39
38
  */
40
- listWithEmbed(organizationId: string, params: SafeListParams, options?: RequestOptions): Promise<PaginatedResponse<components['schemas']['VarietyCollection']>>;
39
+ listWithEmbed(organizationId: string, params: SafeListParams, options?: RequestOptions): ReturnType<ProductsApi['list']>;
41
40
  /**
42
41
  * List all varieties for an org (auto-paginated), with a required `embed`
43
42
  * parameter. Wraps `deere.products.listAll`.
44
43
  */
45
- listAllWithEmbed(organizationId: string, params: SafeListAllParams, options?: RequestOptions): Promise<components['schemas']['VarietyCollection'][]>;
44
+ listAllWithEmbed(organizationId: string, params: SafeListAllParams, options?: RequestOptions): ReturnType<ProductsApi['listAll']>;
46
45
  /**
47
46
  * Get a single variety by ERID, with a required `embed` parameter.
48
47
  * Wraps `deere.products.get`.
49
48
  */
50
- getWithEmbed(organizationId: string, erid: string, params: SafeGetParams, options?: RequestOptions): Promise<components['schemas']['Variety']>;
49
+ getWithEmbed(organizationId: string, erid: string, params: SafeGetParams, options?: RequestOptions): ReturnType<ProductsApi['get']>;
51
50
  }
52
51
  export {};
53
52
  //# sourceMappingURL=products.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/safe/products.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAEjE,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAChD,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;CAAE,GAC5C,KAAK,CAAC;AAEV,KAAK,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,KAAK,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAElD,KAAK,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,KAAK,iBAAiB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAExD,KAAK,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,KAAK,aAAa,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAEhD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,WAAW;IAE7C;;;;OAIG;IACG,aAAa,CACjB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAIzE;;;OAGG;IACG,gBAAgB,CACpB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC;IAIxD;;;OAGG;IACG,YAAY,CAChB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;CAG7C"}
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/safe/products.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAChD,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAA;CAAE,GAC5C,KAAK,CAAC;AAEV,KAAK,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,KAAK,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAElD,KAAK,gBAAgB,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,KAAK,iBAAiB,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAExD,KAAK,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,KAAK,aAAa,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAOhD,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,WAAW;IAE7C;;;;OAIG;IACG,aAAa,CACjB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAIlC;;;OAGG;IACG,gBAAgB,CACpB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAIrC;;;OAGG;IACG,YAAY,CAChB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;CAGlC"}
@@ -15,6 +15,11 @@
15
15
  *
16
16
  * See scripts/embed-contracts.yaml for the contract registry.
17
17
  */
18
+ // Return types derive from the raw ProductsApi methods via `ReturnType<...>`
19
+ // rather than hard-coded `components['schemas'][...]` annotations. The methods
20
+ // are pass-throughs, so the return type equals the raw method's by construction;
21
+ // this keeps the facade compiling when JD perturbs a products response upstream.
22
+ // Same rationale as SafeEquipmentApi.
18
23
  export class SafeProductsApi {
19
24
  raw;
20
25
  constructor(raw) {
@@ -1 +1 @@
1
- {"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/safe/products.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAmBH,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;IAAG,CAAC;IAEjD;;;;OAIG;IACH,KAAK,CAAC,aAAa,CACjB,cAAsB,EACtB,MAAsB,EACtB,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,cAAsB,EACtB,MAAyB,EACzB,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,cAAsB,EACtB,IAAY,EACZ,MAAqB,EACrB,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF"}
1
+ {"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/safe/products.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkBH,6EAA6E;AAC7E,+EAA+E;AAC/E,iFAAiF;AACjF,iFAAiF;AACjF,sCAAsC;AACtC,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;IAAG,CAAC;IAEjD;;;;OAIG;IACH,KAAK,CAAC,aAAa,CACjB,cAAsB,EACtB,MAAsB,EACtB,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,cAAsB,EACtB,MAAyB,EACzB,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,cAAsB,EACtB,IAAY,EACZ,MAAqB,EACrB,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -420,9 +420,7 @@ export interface components {
420
420
  * }
421
421
  * }
422
422
  */
423
- 'equipment-isg-type': {
424
- '@type': 'equipment-isg-type';
425
- } & (Omit<components['schemas']['resource'], '@type'> & {
423
+ 'equipment-isg-type': components['schemas']['resource'] & {
426
424
  /**
427
425
  * @description The name of the ISG equipment type.
428
426
  * @example Tractor
@@ -455,7 +453,7 @@ export interface components {
455
453
  * @example false
456
454
  */
457
455
  deprecated?: boolean;
458
- });
456
+ };
459
457
  /** @description Data structure for record metadata capturing information about the creation and last update of an entity. For more information on Record Metadata visit [this confluence page](https://confluence.deere.com/x/eSGLDg). NOTES * Some attributes are only visible if the API Client has the required license. * Attributes dealing with modification will be null if the entity has been created but not modified. (Some legacy data may have set the create and modify timestamp at time of creation.) */
460
458
  RecordMetadata: {
461
459
  /**
@@ -613,9 +611,7 @@ export interface components {
613
611
  * }
614
612
  * }
615
613
  */
616
- 'equipment-make': {
617
- '@type': 'equipment-make';
618
- } & (Omit<components['schemas']['resource'], '@type'> & {
614
+ 'equipment-make': components['schemas']['resource'] & {
619
615
  /**
620
616
  * @description The name of the equipment make.
621
617
  * @example JOHN DEERE
@@ -641,7 +637,7 @@ export interface components {
641
637
  * @example false
642
638
  */
643
639
  deprecated?: boolean;
644
- });
640
+ };
645
641
  /**
646
642
  * EquipmentType
647
643
  * @deprecated
@@ -667,9 +663,7 @@ export interface components {
667
663
  * }
668
664
  * }
669
665
  */
670
- 'equipment-type': {
671
- '@type': 'equipment-type';
672
- } & (Omit<components['schemas']['resource'], '@type'> & {
666
+ 'equipment-type': components['schemas']['resource'] & {
673
667
  /**
674
668
  * @description The name of the equipment type.
675
669
  * @example Two-wheel Drive Tractors - 140 Hp And Above
@@ -708,7 +702,7 @@ export interface components {
708
702
  * @example false
709
703
  */
710
704
  deprecated?: boolean;
711
- });
705
+ };
712
706
  /**
713
707
  * EquipmentType
714
708
  * @description Represents the type of equipment, including its name, unique identifier, category, certification status, market segment, icon, deprecation status, and metadata.
@@ -746,16 +740,14 @@ export interface components {
746
740
  secondaryColor?: string;
747
741
  };
748
742
  /** EquipmentIcon */
749
- 'equipment-icon': {
750
- '@type': 'equipment-icon';
751
- } & (Omit<components['schemas']['resource'], '@type'> & {
743
+ 'equipment-icon': components['schemas']['resource'] & {
752
744
  /**
753
745
  * @description The name of the equipment icon.
754
746
  * @example JOHN DEERE
755
747
  */
756
748
  name?: string;
757
749
  iconStyle?: components['schemas']['icon-style'];
758
- });
750
+ };
759
751
  /** EquipmentModel */
760
752
  'equipment-model-details': {
761
753
  /** @example 8360R */
@@ -856,9 +848,7 @@ export interface components {
856
848
  * }
857
849
  * }
858
850
  */
859
- 'equipment-model': {
860
- '@type': 'equipment-model';
861
- } & (Omit<components['schemas']['resource'], '@type'> & {
851
+ 'equipment-model': components['schemas']['resource'] & {
862
852
  /**
863
853
  * @description The name of the equipment model.
864
854
  * @example 8360R
@@ -888,7 +878,7 @@ export interface components {
888
878
  make?: components['schemas']['equipment-make'];
889
879
  type?: components['schemas']['equipment-type'];
890
880
  isgType?: components['schemas']['equipment-isg-type'];
891
- });
881
+ };
892
882
  /**
893
883
  * EquipmentModel
894
884
  * @description Represents the model of the equipment, including its name, unique identifier, category, certification status, make, type, ISG type, icon, deprecation status, and metadata.
@@ -930,9 +920,7 @@ export interface components {
930
920
  * "certified": false
931
921
  * }
932
922
  */
933
- 'equipment-model-no-embed': {
934
- '@type': 'equipment-model-no-embed';
935
- } & (Omit<components['schemas']['resource'], '@type'> & {
923
+ 'equipment-model-no-embed': components['schemas']['resource'] & {
936
924
  /**
937
925
  * @description The name of the equipment model.
938
926
  * @example 8360R
@@ -954,7 +942,7 @@ export interface components {
954
942
  * @example false
955
943
  */
956
944
  certified?: boolean;
957
- });
945
+ };
958
946
  /**
959
947
  * Identifier of Equipment
960
948
  * @description Identifier of the Equipment like DE-13, DE-17, ERID...
@@ -1046,9 +1034,7 @@ export interface components {
1046
1034
  * Offsets
1047
1035
  * @description Represents the offsets of a device, including its variable and defined type representation values.
1048
1036
  */
1049
- offsets: {
1050
- '@type': 'offsets';
1051
- } & (Omit<components['schemas']['resource-embed'], '@type'> & {
1037
+ offsets: components['schemas']['resource-embed'] & {
1052
1038
  /**
1053
1039
  * @description Offsets
1054
1040
  * @example Offsets
@@ -1057,7 +1043,7 @@ export interface components {
1057
1043
  '@type'?: 'Offsets';
1058
1044
  variableRepresentationValues?: components['schemas']['variableRepresentationValue'][];
1059
1045
  definedTypeRepresentationValues?: components['schemas']['definedTypeRepresentationValue'][];
1060
- });
1046
+ };
1061
1047
  /**
1062
1048
  * DeviceMake
1063
1049
  * @description Represents the make of a device, including its name and unique identifier (ERID).
@@ -1066,9 +1052,7 @@ export interface components {
1066
1052
  * "ERID": "db18bdc4-025a-11eb-97e4-0e8d658c7ba3"
1067
1053
  * }
1068
1054
  */
1069
- 'device-make': {
1070
- '@type': 'device-make';
1071
- } & (Omit<components['schemas']['resource-embed'], '@type'> & {
1055
+ 'device-make': components['schemas']['resource-embed'] & {
1072
1056
  /**
1073
1057
  * @description DeviceMake
1074
1058
  * @example DeviceMake
@@ -1085,7 +1069,7 @@ export interface components {
1085
1069
  * @example db18bdc4-025a-11eb-97e4-0e8d658c7ba3
1086
1070
  */
1087
1071
  ERID?: string;
1088
- });
1072
+ };
1089
1073
  /**
1090
1074
  * DeviceType
1091
1075
  * @description Represents the type of a device, including its name, common name, and unique identifier (ERID).
@@ -1095,9 +1079,7 @@ export interface components {
1095
1079
  * "ERID": "db18bdc4-025a-11eb-97e4-0e8d658c7ba3"
1096
1080
  * }
1097
1081
  */
1098
- 'device-type': {
1099
- '@type': 'device-type';
1100
- } & (Omit<components['schemas']['resource-embed'], '@type'> & {
1082
+ 'device-type': components['schemas']['resource-embed'] & {
1101
1083
  /**
1102
1084
  * @description DeviceType
1103
1085
  * @example DeviceType
@@ -1119,7 +1101,7 @@ export interface components {
1119
1101
  * @example db18bdc4-025a-11eb-97e4-0e8d658c7ba3
1120
1102
  */
1121
1103
  ERID?: string;
1122
- });
1104
+ };
1123
1105
  /**
1124
1106
  * DeviceModel
1125
1107
  * @description Represents the model of a device, including its name, unique identifier (ERID), make, and type.
@@ -1137,9 +1119,7 @@ export interface components {
1137
1119
  * }
1138
1120
  * }
1139
1121
  */
1140
- 'device-model': {
1141
- '@type': 'device-model';
1142
- } & (Omit<components['schemas']['resource-embed'], '@type'> & {
1122
+ 'device-model': components['schemas']['resource-embed'] & {
1143
1123
  /**
1144
1124
  * @description DeviceModel
1145
1125
  * @example DeviceModel
@@ -1158,7 +1138,7 @@ export interface components {
1158
1138
  ERID?: string;
1159
1139
  make?: components['schemas']['device-make'];
1160
1140
  type?: components['schemas']['device-type'];
1161
- });
1141
+ };
1162
1142
  /**
1163
1143
  * Version
1164
1144
  * @description Represents the version of a device or software, including its name.
@@ -1166,9 +1146,7 @@ export interface components {
1166
1146
  * "name": "3.16.1171"
1167
1147
  * }
1168
1148
  */
1169
- version: {
1170
- '@type': 'version';
1171
- } & (Omit<components['schemas']['resource-embed'], '@type'> & {
1149
+ version: components['schemas']['resource-embed'] & {
1172
1150
  /**
1173
1151
  * @description Version
1174
1152
  * @example Version
@@ -1180,25 +1158,21 @@ export interface components {
1180
1158
  * @example 3.16.1171
1181
1159
  */
1182
1160
  name?: string;
1183
- });
1161
+ };
1184
1162
  /** InabilityDetail */
1185
- 'inability-detail': {
1186
- '@type': 'inability-detail';
1187
- } & (Omit<components['schemas']['resource'], '@type'> & {
1163
+ 'inability-detail': components['schemas']['resource'] & {
1188
1164
  /** @example RC14.8.1 */
1189
1165
  code?: string;
1190
1166
  /** @example REGISTRATION */
1191
1167
  type?: string;
1192
1168
  /** @example SIM registration is required */
1193
1169
  description?: string;
1194
- });
1170
+ };
1195
1171
  /**
1196
1172
  * Capability
1197
1173
  * @description List of capabilities of the equipment.
1198
1174
  */
1199
- capability: {
1200
- '@type': 'capability';
1201
- } & (Omit<components['schemas']['resource-embed'], '@type'> & {
1175
+ capability: components['schemas']['resource-embed'] & {
1202
1176
  /**
1203
1177
  * @description Capability
1204
1178
  * @example Capability
@@ -1209,14 +1183,12 @@ export interface components {
1209
1183
  /** @enum {string} */
1210
1184
  type?: 'JDLINK_CONNECTIVITY' | 'RDA' | 'WDT' | 'WIFI_CONNECTIVITY' | 'CUSTOMER_SIM_CONNECTIVITY' | 'LEGACY_CONNECTIVITY' | 'PLANNED_WORK' | 'DATA_SYNC_SETUP' | 'CH_REMOTE_ADJUST' | 'BASE_STATION' | 'MY_MACHINE' | 'RDC' | 'REMOTE_START';
1211
1185
  inabilityDetails?: components['schemas']['inability-detail'][];
1212
- });
1186
+ };
1213
1187
  /**
1214
1188
  * Equipment
1215
1189
  * @description Represents the equipment, including its name, serial number, model year, make, type, ISG type, model, organization, telematics capability, and various other attributes.
1216
1190
  */
1217
- equipmentForList: {
1218
- '@type': 'equipmentForList';
1219
- } & (Omit<components['schemas']['resource'], '@type'> & {
1191
+ equipmentForList: components['schemas']['resource'] & {
1220
1192
  /**
1221
1193
  * @description Equipment | Machine | Implement
1222
1194
  * @example Equipment
@@ -1298,14 +1270,12 @@ export interface components {
1298
1270
  * @example true
1299
1271
  */
1300
1272
  isCsc?: boolean;
1301
- });
1273
+ };
1302
1274
  /**
1303
1275
  * Equipment
1304
1276
  * @description Represents the equipment, including its name, serial number, model year, make, type, ISG type, model, organization, telematics capability, and various other attributes.
1305
1277
  */
1306
- equipment: {
1307
- '@type': 'equipment';
1308
- } & (Omit<components['schemas']['resource'], '@type'> & {
1278
+ equipment: components['schemas']['resource'] & {
1309
1279
  /**
1310
1280
  * @description Equipment | Machine | Implement
1311
1281
  * @example Equipment
@@ -1390,7 +1360,7 @@ export interface components {
1390
1360
  * @example true
1391
1361
  */
1392
1362
  isCsc?: boolean;
1393
- });
1363
+ };
1394
1364
  /** Point */
1395
1365
  point: {
1396
1366
  /** Format: double */
@@ -1564,9 +1534,7 @@ export interface components {
1564
1534
  * "ERID": "fb537c94-14f1-11ef-871b-1287bcef1111"
1565
1535
  * }
1566
1536
  */
1567
- device: {
1568
- '@type': 'device';
1569
- } & (Omit<components['schemas']['resource-embed'], '@type'> & {
1537
+ device: components['schemas']['resource-embed'] & {
1570
1538
  /**
1571
1539
  * @description Device | Display | PositionReceiver | TelematicsGateway
1572
1540
  * @example Device
@@ -1628,11 +1596,9 @@ export interface components {
1628
1596
  * @example 2021-03-10T19:19:46.420Z
1629
1597
  */
1630
1598
  archivedTimestamp?: string;
1631
- });
1599
+ };
1632
1600
  /** Display */
1633
- display: {
1634
- '@type': 'display';
1635
- } & (Omit<components['schemas']['device'], '@type'> & {
1601
+ display: components['schemas']['device'] & {
1636
1602
  /**
1637
1603
  * @description Display
1638
1604
  * @example Display
@@ -1640,11 +1606,9 @@ export interface components {
1640
1606
  */
1641
1607
  '@type'?: 'Display';
1642
1608
  monitors?: components['schemas']['display-monitors'][];
1643
- });
1609
+ };
1644
1610
  /** Monitor */
1645
- 'display-monitors': {
1646
- '@type': 'display-monitors';
1647
- } & (Omit<components['schemas']['resource-embed'], '@type'> & {
1611
+ 'display-monitors': components['schemas']['resource-embed'] & {
1648
1612
  /**
1649
1613
  * @description Monitor
1650
1614
  * @example Monitor
@@ -1659,11 +1623,9 @@ export interface components {
1659
1623
  resolutionWidth?: number;
1660
1624
  /** @example 600 */
1661
1625
  resolutionHeight?: number;
1662
- });
1626
+ };
1663
1627
  /** PositionReceiver */
1664
- 'position-receiver': {
1665
- '@type': 'position-receiver';
1666
- } & (Omit<components['schemas']['device'], '@type'> & Record<string, never>);
1628
+ 'position-receiver': components['schemas']['device'] & Record<string, never>;
1667
1629
  /**
1668
1630
  * CommunicationModule
1669
1631
  * @description Represents a communication module, including its serial number, IMEI, IMSI, ICCID, MSISDN, EID, type, service provider, state, and country calling code.
@@ -1680,9 +1642,7 @@ export interface components {
1680
1642
  * "countryCallingCode": 1
1681
1643
  * }
1682
1644
  */
1683
- 'communication-module': {
1684
- '@type': 'communication-module';
1685
- } & (Omit<components['schemas']['resource-embed'], '@type'> & {
1645
+ 'communication-module': components['schemas']['resource-embed'] & {
1686
1646
  /**
1687
1647
  * @description CommunicationModule
1688
1648
  * @example CommunicationModule
@@ -1741,11 +1701,9 @@ export interface components {
1741
1701
  * @example 1
1742
1702
  */
1743
1703
  countryCallingCode?: string;
1744
- });
1704
+ };
1745
1705
  /** TelematicsGateway */
1746
- 'telematics-gateway': {
1747
- '@type': 'telematics-gateway';
1748
- } & (Omit<components['schemas']['device'], '@type'> & {
1706
+ 'telematics-gateway': components['schemas']['device'] & {
1749
1707
  /** @enum {string} */
1750
1708
  pairingStatus?: 'PAIRED' | 'PENDING_PAIRING';
1751
1709
  orderNumber?: string;
@@ -1753,19 +1711,15 @@ export interface components {
1753
1711
  genericConfigurationVersion?: components['schemas']['version'];
1754
1712
  messagesRestricted?: boolean;
1755
1713
  communicationModules?: components['schemas']['communication-module'][];
1756
- });
1714
+ };
1757
1715
  /** Implement */
1758
- implement: {
1759
- '@type': 'implement';
1760
- } & (Omit<components['schemas']['equipment'], '@type'> & {
1716
+ implement: components['schemas']['equipment'] & {
1761
1717
  machine?: components['schemas']['machine'];
1762
- });
1718
+ };
1763
1719
  /** Machine */
1764
- machine: {
1765
- '@type': 'machine';
1766
- } & (Omit<components['schemas']['equipment'], '@type'> & {
1720
+ machine: components['schemas']['equipment'] & {
1767
1721
  implements?: components['schemas']['implement'][];
1768
- });
1722
+ };
1769
1723
  /** PatchDTO */
1770
1724
  'equipment-patch': {
1771
1725
  /** @enum {string} */