deere-sdk 1.0.9 → 2.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 (143) hide show
  1. package/CHANGELOG.md +148 -0
  2. package/README.md +68 -0
  3. package/dist/api/aemp.d.ts +4 -0
  4. package/dist/api/aemp.d.ts.map +1 -1
  5. package/dist/api/aemp.js +5 -1
  6. package/dist/api/aemp.js.map +1 -1
  7. package/dist/api/assets.d.ts +4 -0
  8. package/dist/api/assets.d.ts.map +1 -1
  9. package/dist/api/assets.js +13 -9
  10. package/dist/api/assets.js.map +1 -1
  11. package/dist/api/boundaries.d.ts +4 -0
  12. package/dist/api/boundaries.d.ts.map +1 -1
  13. package/dist/api/boundaries.js +12 -8
  14. package/dist/api/boundaries.js.map +1 -1
  15. package/dist/api/clients.d.ts +4 -0
  16. package/dist/api/clients.d.ts.map +1 -1
  17. package/dist/api/clients.js +12 -8
  18. package/dist/api/clients.js.map +1 -1
  19. package/dist/api/connection-management.d.ts +4 -0
  20. package/dist/api/connection-management.d.ts.map +1 -1
  21. package/dist/api/connection-management.js +8 -4
  22. package/dist/api/connection-management.js.map +1 -1
  23. package/dist/api/crop-types.d.ts +4 -0
  24. package/dist/api/crop-types.d.ts.map +1 -1
  25. package/dist/api/crop-types.js +9 -5
  26. package/dist/api/crop-types.js.map +1 -1
  27. package/dist/api/equipment-measurement.d.ts +4 -0
  28. package/dist/api/equipment-measurement.d.ts.map +1 -1
  29. package/dist/api/equipment-measurement.js +5 -1
  30. package/dist/api/equipment-measurement.js.map +1 -1
  31. package/dist/api/equipment.d.ts +4 -0
  32. package/dist/api/equipment.d.ts.map +1 -1
  33. package/dist/api/equipment.js +20 -16
  34. package/dist/api/equipment.js.map +1 -1
  35. package/dist/api/farms.d.ts +4 -0
  36. package/dist/api/farms.d.ts.map +1 -1
  37. package/dist/api/farms.js +12 -8
  38. package/dist/api/farms.js.map +1 -1
  39. package/dist/api/field-operations-api.d.ts +4 -0
  40. package/dist/api/field-operations-api.d.ts.map +1 -1
  41. package/dist/api/field-operations-api.js +8 -4
  42. package/dist/api/field-operations-api.js.map +1 -1
  43. package/dist/api/fields.d.ts +4 -0
  44. package/dist/api/fields.d.ts.map +1 -1
  45. package/dist/api/fields.js +12 -8
  46. package/dist/api/fields.js.map +1 -1
  47. package/dist/api/files.d.ts +4 -0
  48. package/dist/api/files.d.ts.map +1 -1
  49. package/dist/api/files.js +10 -6
  50. package/dist/api/files.js.map +1 -1
  51. package/dist/api/flags.d.ts +4 -0
  52. package/dist/api/flags.d.ts.map +1 -1
  53. package/dist/api/flags.js +11 -7
  54. package/dist/api/flags.js.map +1 -1
  55. package/dist/api/guidance-lines.d.ts +4 -0
  56. package/dist/api/guidance-lines.d.ts.map +1 -1
  57. package/dist/api/guidance-lines.js +9 -5
  58. package/dist/api/guidance-lines.js.map +1 -1
  59. package/dist/api/harvest-id.d.ts +4 -0
  60. package/dist/api/harvest-id.d.ts.map +1 -1
  61. package/dist/api/harvest-id.js +7 -3
  62. package/dist/api/harvest-id.js.map +1 -1
  63. package/dist/api/machine-alerts.d.ts +4 -0
  64. package/dist/api/machine-alerts.d.ts.map +1 -1
  65. package/dist/api/machine-alerts.js +6 -2
  66. package/dist/api/machine-alerts.js.map +1 -1
  67. package/dist/api/machine-device-state-reports.d.ts +4 -0
  68. package/dist/api/machine-device-state-reports.d.ts.map +1 -1
  69. package/dist/api/machine-device-state-reports.js +5 -1
  70. package/dist/api/machine-device-state-reports.js.map +1 -1
  71. package/dist/api/machine-engine-hours.d.ts +4 -0
  72. package/dist/api/machine-engine-hours.d.ts.map +1 -1
  73. package/dist/api/machine-engine-hours.js +6 -2
  74. package/dist/api/machine-engine-hours.js.map +1 -1
  75. package/dist/api/machine-hours-of-operation.d.ts +4 -0
  76. package/dist/api/machine-hours-of-operation.d.ts.map +1 -1
  77. package/dist/api/machine-hours-of-operation.js +6 -2
  78. package/dist/api/machine-hours-of-operation.js.map +1 -1
  79. package/dist/api/machine-locations.d.ts +4 -0
  80. package/dist/api/machine-locations.d.ts.map +1 -1
  81. package/dist/api/machine-locations.js +5 -1
  82. package/dist/api/machine-locations.js.map +1 -1
  83. package/dist/api/map-layers.d.ts +4 -0
  84. package/dist/api/map-layers.d.ts.map +1 -1
  85. package/dist/api/map-layers.js +9 -5
  86. package/dist/api/map-layers.js.map +1 -1
  87. package/dist/api/notifications.d.ts +4 -0
  88. package/dist/api/notifications.d.ts.map +1 -1
  89. package/dist/api/notifications.js +9 -5
  90. package/dist/api/notifications.js.map +1 -1
  91. package/dist/api/operators.d.ts +4 -0
  92. package/dist/api/operators.d.ts.map +1 -1
  93. package/dist/api/operators.js +11 -7
  94. package/dist/api/operators.js.map +1 -1
  95. package/dist/api/organizations.d.ts +4 -0
  96. package/dist/api/organizations.d.ts.map +1 -1
  97. package/dist/api/organizations.js +9 -5
  98. package/dist/api/organizations.js.map +1 -1
  99. package/dist/api/partnerships.d.ts +4 -0
  100. package/dist/api/partnerships.d.ts.map +1 -1
  101. package/dist/api/partnerships.js +11 -7
  102. package/dist/api/partnerships.js.map +1 -1
  103. package/dist/api/products.d.ts +4 -0
  104. package/dist/api/products.d.ts.map +1 -1
  105. package/dist/api/products.js +14 -10
  106. package/dist/api/products.js.map +1 -1
  107. package/dist/api/users.d.ts +4 -0
  108. package/dist/api/users.d.ts.map +1 -1
  109. package/dist/api/users.js +5 -1
  110. package/dist/api/users.js.map +1 -1
  111. package/dist/api/webhook.d.ts +4 -0
  112. package/dist/api/webhook.d.ts.map +1 -1
  113. package/dist/api/webhook.js +9 -5
  114. package/dist/api/webhook.js.map +1 -1
  115. package/dist/api-servers.generated.d.ts +72 -0
  116. package/dist/api-servers.generated.d.ts.map +1 -0
  117. package/dist/api-servers.generated.js +344 -0
  118. package/dist/api-servers.generated.js.map +1 -0
  119. package/dist/client.d.ts +122 -36
  120. package/dist/client.d.ts.map +1 -1
  121. package/dist/client.js +302 -71
  122. package/dist/client.js.map +1 -1
  123. package/dist/environment-resolver.d.ts +40 -0
  124. package/dist/environment-resolver.d.ts.map +1 -0
  125. package/dist/environment-resolver.js +79 -0
  126. package/dist/environment-resolver.js.map +1 -0
  127. package/dist/errors.d.ts +36 -0
  128. package/dist/errors.d.ts.map +1 -0
  129. package/dist/errors.js +54 -0
  130. package/dist/errors.js.map +1 -0
  131. package/dist/hateoas-map.d.ts +25 -0
  132. package/dist/hateoas-map.d.ts.map +1 -0
  133. package/dist/hateoas-map.js +176 -0
  134. package/dist/hateoas-map.js.map +1 -0
  135. package/dist/index.d.ts +1 -1
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +1 -1
  138. package/dist/index.js.map +1 -1
  139. package/package.json +4 -3
  140. package/dist/api/field-operations.d.ts +0 -83
  141. package/dist/api/field-operations.d.ts.map +0 -1
  142. package/dist/api/field-operations.js +0 -134
  143. package/dist/api/field-operations.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Error hierarchy for deere-sdk.
3
+ *
4
+ * Lives in a separate file from client.ts to avoid a circular import with
5
+ * environment-resolver.ts (which needs DeereError to build its own
6
+ * NoServerConfigError and UnsupportedEnvironmentError).
7
+ *
8
+ * client.ts re-exports everything here for backward compatibility with any
9
+ * consumer that imports these classes from 'deere-sdk' main entry.
10
+ */
11
+ export declare class DeereError extends Error {
12
+ readonly status: number;
13
+ readonly statusText: string;
14
+ readonly body?: unknown | undefined;
15
+ constructor(message: string, status: number, statusText: string, body?: unknown | undefined);
16
+ }
17
+ export declare class RateLimitError extends DeereError {
18
+ readonly retryAfter?: number | undefined;
19
+ constructor(message: string, status: number, statusText: string, retryAfter?: number | undefined, body?: unknown);
20
+ }
21
+ export declare class AuthError extends DeereError {
22
+ constructor(message: string, status: number, statusText: string, body?: unknown);
23
+ }
24
+ export declare class HateoasError extends Error {
25
+ readonly path: string;
26
+ readonly cause?: Error | undefined;
27
+ constructor(message: string, path: string, cause?: Error | undefined);
28
+ }
29
+ /**
30
+ * Sentinel status for client-side errors that were never sent over HTTP.
31
+ * Distinct from HTTP 0 (which requestUrl uses for timeouts), so the retry
32
+ * logic in requestUrl that checks `error.status === 0 && error.statusText ===
33
+ * 'Timeout'` never fires for config/resolver errors.
34
+ */
35
+ export declare const CLIENT_ERROR_STATUS = -1;
36
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,qBAAa,UAAW,SAAQ,KAAK;aAGjB,MAAM,EAAE,MAAM;aACd,UAAU,EAAE,MAAM;aAClB,IAAI,CAAC,EAAE,OAAO;gBAH9B,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,OAAO,YAAA;CAKjC;AAED,qBAAa,cAAe,SAAQ,UAAU;aAK1B,UAAU,CAAC,EAAE,MAAM;gBAHnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EACF,UAAU,CAAC,EAAE,MAAM,YAAA,EACnC,IAAI,CAAC,EAAE,OAAO;CAKjB;AAED,qBAAa,SAAU,SAAQ,UAAU;gBAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAIhF;AAED,qBAAa,YAAa,SAAQ,KAAK;aAGnB,IAAI,EAAE,MAAM;aACZ,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
package/dist/errors.js ADDED
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Error hierarchy for deere-sdk.
3
+ *
4
+ * Lives in a separate file from client.ts to avoid a circular import with
5
+ * environment-resolver.ts (which needs DeereError to build its own
6
+ * NoServerConfigError and UnsupportedEnvironmentError).
7
+ *
8
+ * client.ts re-exports everything here for backward compatibility with any
9
+ * consumer that imports these classes from 'deere-sdk' main entry.
10
+ */
11
+ export class DeereError extends Error {
12
+ status;
13
+ statusText;
14
+ body;
15
+ constructor(message, status, statusText, body) {
16
+ super(message);
17
+ this.status = status;
18
+ this.statusText = statusText;
19
+ this.body = body;
20
+ this.name = 'DeereError';
21
+ }
22
+ }
23
+ export class RateLimitError extends DeereError {
24
+ retryAfter;
25
+ constructor(message, status, statusText, retryAfter, body) {
26
+ super(message, status, statusText, body);
27
+ this.retryAfter = retryAfter;
28
+ this.name = 'RateLimitError';
29
+ }
30
+ }
31
+ export class AuthError extends DeereError {
32
+ constructor(message, status, statusText, body) {
33
+ super(message, status, statusText, body);
34
+ this.name = 'AuthError';
35
+ }
36
+ }
37
+ export class HateoasError extends Error {
38
+ path;
39
+ cause;
40
+ constructor(message, path, cause) {
41
+ super(message);
42
+ this.path = path;
43
+ this.cause = cause;
44
+ this.name = 'HateoasError';
45
+ }
46
+ }
47
+ /**
48
+ * Sentinel status for client-side errors that were never sent over HTTP.
49
+ * Distinct from HTTP 0 (which requestUrl uses for timeouts), so the retry
50
+ * logic in requestUrl that checks `error.status === 0 && error.statusText ===
51
+ * 'Timeout'` never fires for config/resolver errors.
52
+ */
53
+ export const CLIENT_ERROR_STATUS = -1;
54
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGjB;IACA;IACA;IAJlB,YACE,OAAe,EACC,MAAc,EACd,UAAkB,EAClB,IAAc;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAU;QAG9B,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,UAAU;IAK1B;IAJlB,YACE,OAAe,EACf,MAAc,EACd,UAAkB,EACF,UAAmB,EACnC,IAAc;QAEd,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAHzB,eAAU,GAAV,UAAU,CAAS;QAInC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC,YAAY,OAAe,EAAE,MAAc,EAAE,UAAkB,EAAE,IAAc;QAC7E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGnB;IACA;IAHlB,YACE,OAAe,EACC,IAAY,EACZ,KAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAQ;QAG7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * HATEOAS Route Map
3
+ *
4
+ * Maps API path patterns to their parent resource and link relation name.
5
+ * Used by DeereClient to resolve URLs via HAL link traversal when hateoas mode is enabled.
6
+ *
7
+ * @generated by generate-sdk.ts — do not edit manually
8
+ */
9
+ import type { SpecName } from './api-servers.generated.js';
10
+ export interface HateoasRoute {
11
+ /** Path pattern of the parent resource (with parameter placeholders) */
12
+ parentPath: string;
13
+ /** HAL link relation name to follow from the parent response */
14
+ rel: string;
15
+ /**
16
+ * Which OpenAPI spec declares the parent resource. Required for cross-spec
17
+ * HATEOAS: if a child lives in equipment.yaml but its parent
18
+ * /organizations/{orgId} is declared in organizations.yaml, the client
19
+ * must fetch the parent via organizations.yaml's host (platform) not
20
+ * equipment.yaml's host (equipmentapi.deere.com/isg).
21
+ */
22
+ parentSpec: SpecName;
23
+ }
24
+ export declare const HATEOAS_MAP: Record<string, HateoasRoute>;
25
+ //# sourceMappingURL=hateoas-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hateoas-map.d.ts","sourceRoot":"","sources":["../src/hateoas-map.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;;OAMG;IACH,UAAU,EAAE,QAAQ,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAsKpD,CAAC"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * HATEOAS Route Map
3
+ *
4
+ * Maps API path patterns to their parent resource and link relation name.
5
+ * Used by DeereClient to resolve URLs via HAL link traversal when hateoas mode is enabled.
6
+ *
7
+ * @generated by generate-sdk.ts — do not edit manually
8
+ */
9
+ export const HATEOAS_MAP = {
10
+ '/assets/{assetId}/locations': {
11
+ parentPath: '/assets/{assetId}',
12
+ rel: 'locations',
13
+ parentSpec: 'assets',
14
+ },
15
+ '/equipmentMakes/{equipmentMakeId}/equipmentISGTypes': {
16
+ parentPath: '/equipmentMakes/{equipmentMakeId}',
17
+ rel: 'equipmentISGTypes',
18
+ parentSpec: 'equipment',
19
+ },
20
+ '/equipmentMakes/{equipmentMakeId}/equipmentISGTypes/{equipmentISGTypeId}/equipmentModels': {
21
+ parentPath: '/equipmentMakes/{equipmentMakeId}/equipmentISGTypes/{equipmentISGTypeId}',
22
+ rel: 'equipmentModels',
23
+ parentSpec: 'equipment',
24
+ },
25
+ '/equipmentMakes/{equipmentMakeId}/equipmentTypes': {
26
+ parentPath: '/equipmentMakes/{equipmentMakeId}',
27
+ rel: 'equipmentTypes',
28
+ parentSpec: 'equipment',
29
+ },
30
+ '/fieldOperations/{operationId}/boundary': {
31
+ parentPath: '/fieldOperations/{operationId}',
32
+ rel: 'boundary',
33
+ parentSpec: 'field-operations-api',
34
+ },
35
+ '/organizations/{organizationId}/cropTypes': {
36
+ parentPath: '/organizations/{organizationId}',
37
+ rel: 'cropTypes',
38
+ parentSpec: 'organizations',
39
+ },
40
+ '/organizations/{organizationId}/equipment': {
41
+ parentPath: '/organizations/{organizationId}',
42
+ rel: 'equipment',
43
+ parentSpec: 'organizations',
44
+ },
45
+ '/organizations/{organizationId}/varieties': {
46
+ parentPath: '/organizations/{organizationId}',
47
+ rel: 'varieties',
48
+ parentSpec: 'organizations',
49
+ },
50
+ '/organizations/{orgId}/assets': {
51
+ parentPath: '/organizations/{orgId}',
52
+ rel: 'assets',
53
+ parentSpec: 'organizations',
54
+ },
55
+ '/organizations/{orgId}/boundaries': {
56
+ parentPath: '/organizations/{orgId}',
57
+ rel: 'boundaries',
58
+ parentSpec: 'organizations',
59
+ },
60
+ '/organizations/{orgId}/clients': {
61
+ parentPath: '/organizations/{orgId}',
62
+ rel: 'clients',
63
+ parentSpec: 'organizations',
64
+ },
65
+ '/organizations/{orgId}/clients/{id}/farms': {
66
+ parentPath: '/organizations/{orgId}/clients/{id}',
67
+ rel: 'farms',
68
+ parentSpec: 'clients',
69
+ },
70
+ '/organizations/{orgID}/clients/{id}/fields': {
71
+ parentPath: '/organizations/{orgID}/clients/{id}',
72
+ rel: 'fields',
73
+ parentSpec: 'clients',
74
+ },
75
+ '/organizations/{orgId}/connections': {
76
+ parentPath: '/organizations/{orgId}',
77
+ rel: 'connections',
78
+ parentSpec: 'organizations',
79
+ },
80
+ '/organizations/{orgId}/farms': {
81
+ parentPath: '/organizations/{orgId}',
82
+ rel: 'farms',
83
+ parentSpec: 'organizations',
84
+ },
85
+ '/organizations/{orgId}/farms/{farmId}/clients': {
86
+ parentPath: '/organizations/{orgId}/farms/{farmId}',
87
+ rel: 'clients',
88
+ parentSpec: 'farms',
89
+ },
90
+ '/organizations/{orgID}/farms/{id}/fields': {
91
+ parentPath: '/organizations/{orgID}/farms/{id}',
92
+ rel: 'fields',
93
+ parentSpec: 'farms',
94
+ },
95
+ '/organizations/{orgId}/fields': {
96
+ parentPath: '/organizations/{orgId}',
97
+ rel: 'fields',
98
+ parentSpec: 'organizations',
99
+ },
100
+ '/organizations/{orgId}/fields/{fieldId}/boundaries': {
101
+ parentPath: '/organizations/{orgId}/fields/{fieldId}',
102
+ rel: 'boundaries',
103
+ parentSpec: 'fields',
104
+ },
105
+ '/organizations/{orgId}/fields/{fieldId}/farms': {
106
+ parentPath: '/organizations/{orgId}/fields/{fieldId}',
107
+ rel: 'farms',
108
+ parentSpec: 'fields',
109
+ },
110
+ '/organizations/{orgId}/fields/{fieldId}/fieldOperations': {
111
+ parentPath: '/organizations/{orgId}/fields/{fieldId}',
112
+ rel: 'fieldOperations',
113
+ parentSpec: 'fields',
114
+ },
115
+ '/organizations/{orgId}/fields/{fieldId}/flags': {
116
+ parentPath: '/organizations/{orgId}/fields/{fieldId}',
117
+ rel: 'flags',
118
+ parentSpec: 'fields',
119
+ },
120
+ '/organizations/{orgId}/fields/{fieldId}/guidanceLines': {
121
+ parentPath: '/organizations/{orgId}/fields/{fieldId}',
122
+ rel: 'guidanceLines',
123
+ parentSpec: 'fields',
124
+ },
125
+ '/organizations/{orgID}/fields/{id}/clients': {
126
+ parentPath: '/organizations/{orgID}/fields/{id}',
127
+ rel: 'clients',
128
+ parentSpec: 'fields',
129
+ },
130
+ '/organizations/{orgId}/fields/{id}/mapLayerSummaries': {
131
+ parentPath: '/organizations/{orgId}/fields/{id}',
132
+ rel: 'mapLayerSummaries',
133
+ parentSpec: 'fields',
134
+ },
135
+ '/organizations/{orgId}/files': {
136
+ parentPath: '/organizations/{orgId}',
137
+ rel: 'files',
138
+ parentSpec: 'organizations',
139
+ },
140
+ '/organizations/{orgId}/flags': {
141
+ parentPath: '/organizations/{orgId}',
142
+ rel: 'flags',
143
+ parentSpec: 'organizations',
144
+ },
145
+ '/organizations/{orgId}/harvestIdentificationModules': {
146
+ parentPath: '/organizations/{orgId}',
147
+ rel: 'harvestIdentificationModules',
148
+ parentSpec: 'organizations',
149
+ },
150
+ '/organizations/{orgId}/operators': {
151
+ parentPath: '/organizations/{orgId}',
152
+ rel: 'operators',
153
+ parentSpec: 'organizations',
154
+ },
155
+ '/organizations/{orgId}/users': {
156
+ parentPath: '/organizations/{orgId}',
157
+ rel: 'users',
158
+ parentSpec: 'organizations',
159
+ },
160
+ '/partnerships/{token}/permissions': {
161
+ parentPath: '/partnerships/{token}',
162
+ rel: 'permissions',
163
+ parentSpec: 'partnerships',
164
+ },
165
+ '/users/{userName}/organizations': {
166
+ parentPath: '/users/{userName}',
167
+ rel: 'organizations',
168
+ parentSpec: 'users',
169
+ },
170
+ '/varieties/{erid}/documents': {
171
+ parentPath: '/varieties/{erid}',
172
+ rel: 'documents',
173
+ parentSpec: 'products',
174
+ },
175
+ };
176
+ //# sourceMappingURL=hateoas-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hateoas-map.js","sourceRoot":"","sources":["../src/hateoas-map.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -30,7 +30,7 @@
30
30
  */
31
31
  export * from './api/index.js';
32
32
  export type { DeereClientConfig, Environment, Link, PaginatedResponse, RequestOptions, } from './client.js';
33
- export { AuthError, createClient, DeereClient, DeereError, RateLimitError, } from './client.js';
33
+ export { AuthError, createClient, DeereClient, DeereError, HateoasError, RateLimitError, } from './client.js';
34
34
  export { createDeere, Deere } from './deere.js';
35
35
  export * as Types from './types/index.js';
36
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,IAAI,EACJ,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,IAAI,EACJ,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -31,7 +31,7 @@
31
31
  // API modules
32
32
  export * from './api/index.js';
33
33
  // Low-level client
34
- export { AuthError, createClient, DeereClient, DeereError, RateLimitError, } from './client.js';
34
+ export { AuthError, createClient, DeereClient, DeereError, HateoasError, RateLimitError, } from './client.js';
35
35
  // Main SDK class
36
36
  export { createDeere, Deere } from './deere.js';
37
37
  // OpenAPI Types (for advanced usage)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,cAAc;AACd,cAAc,gBAAgB,CAAC;AAQ/B,mBAAmB;AACnB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEhD,qCAAqC;AACrC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,cAAc;AACd,cAAc,gBAAgB,CAAC;AAQ/B,mBAAmB;AACnB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,EACZ,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,iBAAiB;AACjB,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEhD,qCAAqC;AACrC,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deere-sdk",
3
- "version": "1.0.9",
3
+ "version": "2.0.0",
4
4
  "description": "Unofficial TypeScript SDK for John Deere Operations Center API",
5
5
  "author": "ProductOfAmerica",
6
6
  "license": "MIT",
@@ -54,7 +54,7 @@
54
54
  "openapi-typescript": "^7.0.0",
55
55
  "rimraf": "^5.0.0",
56
56
  "tsx": "^4.7.0",
57
- "typescript": "^5.3.0",
57
+ "typescript": "^6.0.2",
58
58
  "yaml": "^2.3.0"
59
59
  },
60
60
  "sideEffects": false,
@@ -63,9 +63,10 @@
63
63
  "clean": "rimraf dist",
64
64
  "fetch-specs": "tsx scripts/fetch-specs.ts",
65
65
  "fix-specs": "tsx scripts/fix-specs.ts",
66
+ "generate-api-servers": "tsx scripts/generate-api-servers.ts",
66
67
  "generate-types": "tsx scripts/generate-types.ts",
67
68
  "generate-sdk": "tsx scripts/generate-sdk.ts",
68
- "generate": "pnpm fetch-specs && pnpm fix-specs && pnpm generate-types && pnpm generate-sdk",
69
+ "generate": "pnpm fetch-specs && pnpm fix-specs && pnpm generate-api-servers && pnpm generate-types && pnpm generate-sdk",
69
70
  "typecheck": "tsc --noEmit",
70
71
  "lint": "biome check .",
71
72
  "lint:fix": "biome check --write .",
@@ -1,83 +0,0 @@
1
- /**
2
- * Field Operations API
3
- *
4
- * Typed wrapper for John Deere Field Operations endpoints.
5
- * Includes harvest, planting, and application data.
6
- */
7
- import type { DeereClient, Link, PaginatedResponse, RequestOptions } from '../client.js';
8
- export type FieldOperationType = 'seeded' | 'harvested' | 'applied' | 'tillage' | 'unknown';
9
- export interface FieldOperation {
10
- '@type'?: string;
11
- id: string;
12
- operationType: FieldOperationType;
13
- startDate: string;
14
- endDate?: string;
15
- area?: {
16
- value: number;
17
- unit: string;
18
- };
19
- products?: OperationProduct[];
20
- machine?: OperationMachine;
21
- links?: Link[];
22
- }
23
- export interface OperationProduct {
24
- '@type'?: string;
25
- name?: string;
26
- rate?: {
27
- value: number;
28
- unit: string;
29
- };
30
- totalApplied?: {
31
- value: number;
32
- unit: string;
33
- };
34
- }
35
- export interface OperationMachine {
36
- '@type'?: string;
37
- name?: string;
38
- id?: string;
39
- machineType?: string;
40
- }
41
- export interface FieldOperationsListParams {
42
- /** Filter by operation type: seeded, harvested, applied, tillage */
43
- operationType?: FieldOperationType;
44
- /** Start date filter (ISO 8601) */
45
- startDate?: string;
46
- /** End date filter (ISO 8601) */
47
- endDate?: string;
48
- /** Embed additional resources */
49
- embed?: string;
50
- }
51
- export declare class FieldOperationsApi {
52
- private readonly client;
53
- constructor(client: DeereClient);
54
- /**
55
- * List field operations for an organization
56
- */
57
- list(orgId: string, params?: FieldOperationsListParams, options?: RequestOptions): Promise<PaginatedResponse<FieldOperation>>;
58
- /**
59
- * List field operations for a specific field
60
- */
61
- listForField(orgId: string, fieldId: string, params?: FieldOperationsListParams, options?: RequestOptions): Promise<PaginatedResponse<FieldOperation>>;
62
- /**
63
- * Get all field operations for an organization (follows pagination)
64
- */
65
- listAll(orgId: string, params?: FieldOperationsListParams, options?: RequestOptions): Promise<FieldOperation[]>;
66
- /**
67
- * Get a specific field operation
68
- */
69
- get(orgId: string, operationId: string, options?: RequestOptions): Promise<FieldOperation>;
70
- /**
71
- * Get harvest data for a field
72
- */
73
- getHarvestData(orgId: string, fieldId?: string, params?: Omit<FieldOperationsListParams, 'operationType'>, options?: RequestOptions): Promise<FieldOperation[]>;
74
- /**
75
- * Get planting data for a field
76
- */
77
- getPlantingData(orgId: string, fieldId?: string, params?: Omit<FieldOperationsListParams, 'operationType'>, options?: RequestOptions): Promise<FieldOperation[]>;
78
- /**
79
- * Get application data for a field (fertilizer, herbicide, etc.)
80
- */
81
- getApplicationData(orgId: string, fieldId?: string, params?: Omit<FieldOperationsListParams, 'operationType'>, options?: RequestOptions): Promise<FieldOperation[]>;
82
- }
83
- //# sourceMappingURL=field-operations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-operations.d.ts","sourceRoot":"","sources":["../../src/api/field-operations.ts"],"names":[],"mappings":"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"}
@@ -1,134 +0,0 @@
1
- /**
2
- * Field Operations API
3
- *
4
- * Typed wrapper for John Deere Field Operations endpoints.
5
- * Includes harvest, planting, and application data.
6
- */
7
- export class FieldOperationsApi {
8
- client;
9
- constructor(client) {
10
- this.client = client;
11
- }
12
- /**
13
- * List field operations for an organization
14
- */
15
- async list(orgId, params, options) {
16
- const query = new URLSearchParams();
17
- if (params?.operationType)
18
- query.set('operationType', params.operationType);
19
- if (params?.startDate)
20
- query.set('startDate', params.startDate);
21
- if (params?.endDate)
22
- query.set('endDate', params.endDate);
23
- if (params?.embed)
24
- query.set('embed', params.embed);
25
- const queryString = query.toString();
26
- const path = queryString
27
- ? `/organizations/${orgId}/fieldOperations?${queryString}`
28
- : `/organizations/${orgId}/fieldOperations`;
29
- return this.client.get(path, options);
30
- }
31
- /**
32
- * List field operations for a specific field
33
- */
34
- async listForField(orgId, fieldId, params, options) {
35
- const query = new URLSearchParams();
36
- if (params?.operationType)
37
- query.set('operationType', params.operationType);
38
- if (params?.startDate)
39
- query.set('startDate', params.startDate);
40
- if (params?.endDate)
41
- query.set('endDate', params.endDate);
42
- if (params?.embed)
43
- query.set('embed', params.embed);
44
- const queryString = query.toString();
45
- const path = queryString
46
- ? `/organizations/${orgId}/fields/${fieldId}/fieldOperations?${queryString}`
47
- : `/organizations/${orgId}/fields/${fieldId}/fieldOperations`;
48
- return this.client.get(path, options);
49
- }
50
- /**
51
- * Get all field operations for an organization (follows pagination)
52
- */
53
- async listAll(orgId, params, options) {
54
- const query = new URLSearchParams();
55
- if (params?.operationType)
56
- query.set('operationType', params.operationType);
57
- if (params?.startDate)
58
- query.set('startDate', params.startDate);
59
- if (params?.endDate)
60
- query.set('endDate', params.endDate);
61
- if (params?.embed)
62
- query.set('embed', params.embed);
63
- const queryString = query.toString();
64
- const path = queryString
65
- ? `/organizations/${orgId}/fieldOperations?${queryString}`
66
- : `/organizations/${orgId}/fieldOperations`;
67
- return this.client.getAll(path, options);
68
- }
69
- /**
70
- * Get a specific field operation
71
- */
72
- async get(orgId, operationId, options) {
73
- return this.client.get(`/organizations/${orgId}/fieldOperations/${operationId}`, options);
74
- }
75
- // Convenience methods for common operation types
76
- /**
77
- * Get harvest data for a field
78
- */
79
- async getHarvestData(orgId, fieldId, params, options) {
80
- const query = new URLSearchParams();
81
- query.set('operationType', 'harvested');
82
- if (params?.startDate)
83
- query.set('startDate', params.startDate);
84
- if (params?.endDate)
85
- query.set('endDate', params.endDate);
86
- if (params?.embed)
87
- query.set('embed', params.embed);
88
- const queryString = query.toString();
89
- const basePath = fieldId
90
- ? `/organizations/${orgId}/fields/${fieldId}/fieldOperations`
91
- : `/organizations/${orgId}/fieldOperations`;
92
- const path = `${basePath}?${queryString}`;
93
- return this.client.getAll(path, options);
94
- }
95
- /**
96
- * Get planting data for a field
97
- */
98
- async getPlantingData(orgId, fieldId, params, options) {
99
- const query = new URLSearchParams();
100
- query.set('operationType', 'seeded');
101
- if (params?.startDate)
102
- query.set('startDate', params.startDate);
103
- if (params?.endDate)
104
- query.set('endDate', params.endDate);
105
- if (params?.embed)
106
- query.set('embed', params.embed);
107
- const queryString = query.toString();
108
- const basePath = fieldId
109
- ? `/organizations/${orgId}/fields/${fieldId}/fieldOperations`
110
- : `/organizations/${orgId}/fieldOperations`;
111
- const path = `${basePath}?${queryString}`;
112
- return this.client.getAll(path, options);
113
- }
114
- /**
115
- * Get application data for a field (fertilizer, herbicide, etc.)
116
- */
117
- async getApplicationData(orgId, fieldId, params, options) {
118
- const query = new URLSearchParams();
119
- query.set('operationType', 'applied');
120
- if (params?.startDate)
121
- query.set('startDate', params.startDate);
122
- if (params?.endDate)
123
- query.set('endDate', params.endDate);
124
- if (params?.embed)
125
- query.set('embed', params.embed);
126
- const queryString = query.toString();
127
- const basePath = fieldId
128
- ? `/organizations/${orgId}/fields/${fieldId}/fieldOperations`
129
- : `/organizations/${orgId}/fieldOperations`;
130
- const path = `${basePath}?${queryString}`;
131
- return this.client.getAll(path, options);
132
- }
133
- }
134
- //# sourceMappingURL=field-operations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-operations.js","sourceRoot":"","sources":["../../src/api/field-operations.ts"],"names":[],"mappings":"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"}