deere-sdk 1.0.10 → 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 (138) hide show
  1. package/CHANGELOG.md +139 -0
  2. package/dist/api/aemp.d.ts +4 -0
  3. package/dist/api/aemp.d.ts.map +1 -1
  4. package/dist/api/aemp.js +5 -1
  5. package/dist/api/aemp.js.map +1 -1
  6. package/dist/api/assets.d.ts +4 -0
  7. package/dist/api/assets.d.ts.map +1 -1
  8. package/dist/api/assets.js +13 -9
  9. package/dist/api/assets.js.map +1 -1
  10. package/dist/api/boundaries.d.ts +4 -0
  11. package/dist/api/boundaries.d.ts.map +1 -1
  12. package/dist/api/boundaries.js +12 -8
  13. package/dist/api/boundaries.js.map +1 -1
  14. package/dist/api/clients.d.ts +4 -0
  15. package/dist/api/clients.d.ts.map +1 -1
  16. package/dist/api/clients.js +12 -8
  17. package/dist/api/clients.js.map +1 -1
  18. package/dist/api/connection-management.d.ts +4 -0
  19. package/dist/api/connection-management.d.ts.map +1 -1
  20. package/dist/api/connection-management.js +8 -4
  21. package/dist/api/connection-management.js.map +1 -1
  22. package/dist/api/crop-types.d.ts +4 -0
  23. package/dist/api/crop-types.d.ts.map +1 -1
  24. package/dist/api/crop-types.js +9 -5
  25. package/dist/api/crop-types.js.map +1 -1
  26. package/dist/api/equipment-measurement.d.ts +4 -0
  27. package/dist/api/equipment-measurement.d.ts.map +1 -1
  28. package/dist/api/equipment-measurement.js +5 -1
  29. package/dist/api/equipment-measurement.js.map +1 -1
  30. package/dist/api/equipment.d.ts +4 -0
  31. package/dist/api/equipment.d.ts.map +1 -1
  32. package/dist/api/equipment.js +20 -16
  33. package/dist/api/equipment.js.map +1 -1
  34. package/dist/api/farms.d.ts +4 -0
  35. package/dist/api/farms.d.ts.map +1 -1
  36. package/dist/api/farms.js +12 -8
  37. package/dist/api/farms.js.map +1 -1
  38. package/dist/api/field-operations-api.d.ts +4 -0
  39. package/dist/api/field-operations-api.d.ts.map +1 -1
  40. package/dist/api/field-operations-api.js +8 -4
  41. package/dist/api/field-operations-api.js.map +1 -1
  42. package/dist/api/fields.d.ts +4 -0
  43. package/dist/api/fields.d.ts.map +1 -1
  44. package/dist/api/fields.js +12 -8
  45. package/dist/api/fields.js.map +1 -1
  46. package/dist/api/files.d.ts +4 -0
  47. package/dist/api/files.d.ts.map +1 -1
  48. package/dist/api/files.js +10 -6
  49. package/dist/api/files.js.map +1 -1
  50. package/dist/api/flags.d.ts +4 -0
  51. package/dist/api/flags.d.ts.map +1 -1
  52. package/dist/api/flags.js +11 -7
  53. package/dist/api/flags.js.map +1 -1
  54. package/dist/api/guidance-lines.d.ts +4 -0
  55. package/dist/api/guidance-lines.d.ts.map +1 -1
  56. package/dist/api/guidance-lines.js +9 -5
  57. package/dist/api/guidance-lines.js.map +1 -1
  58. package/dist/api/harvest-id.d.ts +4 -0
  59. package/dist/api/harvest-id.d.ts.map +1 -1
  60. package/dist/api/harvest-id.js +7 -3
  61. package/dist/api/harvest-id.js.map +1 -1
  62. package/dist/api/machine-alerts.d.ts +4 -0
  63. package/dist/api/machine-alerts.d.ts.map +1 -1
  64. package/dist/api/machine-alerts.js +6 -2
  65. package/dist/api/machine-alerts.js.map +1 -1
  66. package/dist/api/machine-device-state-reports.d.ts +4 -0
  67. package/dist/api/machine-device-state-reports.d.ts.map +1 -1
  68. package/dist/api/machine-device-state-reports.js +5 -1
  69. package/dist/api/machine-device-state-reports.js.map +1 -1
  70. package/dist/api/machine-engine-hours.d.ts +4 -0
  71. package/dist/api/machine-engine-hours.d.ts.map +1 -1
  72. package/dist/api/machine-engine-hours.js +6 -2
  73. package/dist/api/machine-engine-hours.js.map +1 -1
  74. package/dist/api/machine-hours-of-operation.d.ts +4 -0
  75. package/dist/api/machine-hours-of-operation.d.ts.map +1 -1
  76. package/dist/api/machine-hours-of-operation.js +6 -2
  77. package/dist/api/machine-hours-of-operation.js.map +1 -1
  78. package/dist/api/machine-locations.d.ts +4 -0
  79. package/dist/api/machine-locations.d.ts.map +1 -1
  80. package/dist/api/machine-locations.js +5 -1
  81. package/dist/api/machine-locations.js.map +1 -1
  82. package/dist/api/map-layers.d.ts +4 -0
  83. package/dist/api/map-layers.d.ts.map +1 -1
  84. package/dist/api/map-layers.js +9 -5
  85. package/dist/api/map-layers.js.map +1 -1
  86. package/dist/api/notifications.d.ts +4 -0
  87. package/dist/api/notifications.d.ts.map +1 -1
  88. package/dist/api/notifications.js +9 -5
  89. package/dist/api/notifications.js.map +1 -1
  90. package/dist/api/operators.d.ts +4 -0
  91. package/dist/api/operators.d.ts.map +1 -1
  92. package/dist/api/operators.js +11 -7
  93. package/dist/api/operators.js.map +1 -1
  94. package/dist/api/organizations.d.ts +4 -0
  95. package/dist/api/organizations.d.ts.map +1 -1
  96. package/dist/api/organizations.js +9 -5
  97. package/dist/api/organizations.js.map +1 -1
  98. package/dist/api/partnerships.d.ts +4 -0
  99. package/dist/api/partnerships.d.ts.map +1 -1
  100. package/dist/api/partnerships.js +11 -7
  101. package/dist/api/partnerships.js.map +1 -1
  102. package/dist/api/products.d.ts +4 -0
  103. package/dist/api/products.d.ts.map +1 -1
  104. package/dist/api/products.js +14 -10
  105. package/dist/api/products.js.map +1 -1
  106. package/dist/api/users.d.ts +4 -0
  107. package/dist/api/users.d.ts.map +1 -1
  108. package/dist/api/users.js +5 -1
  109. package/dist/api/users.js.map +1 -1
  110. package/dist/api/webhook.d.ts +4 -0
  111. package/dist/api/webhook.d.ts.map +1 -1
  112. package/dist/api/webhook.js +9 -5
  113. package/dist/api/webhook.js.map +1 -1
  114. package/dist/api-servers.generated.d.ts +72 -0
  115. package/dist/api-servers.generated.d.ts.map +1 -0
  116. package/dist/api-servers.generated.js +344 -0
  117. package/dist/api-servers.generated.js.map +1 -0
  118. package/dist/client.d.ts +95 -47
  119. package/dist/client.d.ts.map +1 -1
  120. package/dist/client.js +196 -105
  121. package/dist/client.js.map +1 -1
  122. package/dist/environment-resolver.d.ts +40 -0
  123. package/dist/environment-resolver.d.ts.map +1 -0
  124. package/dist/environment-resolver.js +79 -0
  125. package/dist/environment-resolver.js.map +1 -0
  126. package/dist/errors.d.ts +36 -0
  127. package/dist/errors.d.ts.map +1 -0
  128. package/dist/errors.js +54 -0
  129. package/dist/errors.js.map +1 -0
  130. package/dist/hateoas-map.d.ts +9 -0
  131. package/dist/hateoas-map.d.ts.map +1 -1
  132. package/dist/hateoas-map.js +84 -37
  133. package/dist/hateoas-map.js.map +1 -1
  134. package/package.json +3 -2
  135. package/dist/api/field-operations.d.ts +0 -83
  136. package/dist/api/field-operations.d.ts.map +0 -1
  137. package/dist/api/field-operations.js +0 -134
  138. 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"}
@@ -6,11 +6,20 @@
6
6
  *
7
7
  * @generated by generate-sdk.ts — do not edit manually
8
8
  */
9
+ import type { SpecName } from './api-servers.generated.js';
9
10
  export interface HateoasRoute {
10
11
  /** Path pattern of the parent resource (with parameter placeholders) */
11
12
  parentPath: string;
12
13
  /** HAL link relation name to follow from the parent response */
13
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;
14
23
  }
15
24
  export declare const HATEOAS_MAP: Record<string, HateoasRoute>;
16
25
  //# sourceMappingURL=hateoas-map.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hateoas-map.d.ts","sourceRoot":"","sources":["../src/hateoas-map.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,YAAY;IAC3B,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAuHpD,CAAC"}
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"}
@@ -7,123 +7,170 @@
7
7
  * @generated by generate-sdk.ts — do not edit manually
8
8
  */
9
9
  export const HATEOAS_MAP = {
10
- '/assets/{assetId}/locations': { parentPath: '/assets/{assetId}', rel: 'locations' },
10
+ '/assets/{assetId}/locations': {
11
+ parentPath: '/assets/{assetId}',
12
+ rel: 'locations',
13
+ parentSpec: 'assets',
14
+ },
11
15
  '/equipmentMakes/{equipmentMakeId}/equipmentISGTypes': {
12
16
  parentPath: '/equipmentMakes/{equipmentMakeId}',
13
17
  rel: 'equipmentISGTypes',
18
+ parentSpec: 'equipment',
14
19
  },
15
20
  '/equipmentMakes/{equipmentMakeId}/equipmentISGTypes/{equipmentISGTypeId}/equipmentModels': {
16
21
  parentPath: '/equipmentMakes/{equipmentMakeId}/equipmentISGTypes/{equipmentISGTypeId}',
17
22
  rel: 'equipmentModels',
23
+ parentSpec: 'equipment',
18
24
  },
19
25
  '/equipmentMakes/{equipmentMakeId}/equipmentTypes': {
20
26
  parentPath: '/equipmentMakes/{equipmentMakeId}',
21
27
  rel: 'equipmentTypes',
28
+ parentSpec: 'equipment',
22
29
  },
23
30
  '/fieldOperations/{operationId}/boundary': {
24
31
  parentPath: '/fieldOperations/{operationId}',
25
32
  rel: 'boundary',
26
- },
27
- '/machines/{principalId}/alerts': { parentPath: '/machines/{principalId}', rel: 'alerts' },
28
- '/machines/{principalId}/deviceStateReports': {
29
- parentPath: '/machines/{principalId}',
30
- rel: 'deviceStateReports',
31
- },
32
- '/machines/{principalId}/engineHours': {
33
- parentPath: '/machines/{principalId}',
34
- rel: 'engineHours',
35
- },
36
- '/machines/{principalId}/hoursOfOperation': {
37
- parentPath: '/machines/{principalId}',
38
- rel: 'hoursOfOperation',
39
- },
40
- '/machines/{principalId}/locationHistory': {
41
- parentPath: '/machines/{principalId}',
42
- rel: 'locationHistory',
33
+ parentSpec: 'field-operations-api',
43
34
  },
44
35
  '/organizations/{organizationId}/cropTypes': {
45
36
  parentPath: '/organizations/{organizationId}',
46
37
  rel: 'cropTypes',
38
+ parentSpec: 'organizations',
47
39
  },
48
40
  '/organizations/{organizationId}/equipment': {
49
41
  parentPath: '/organizations/{organizationId}',
50
42
  rel: 'equipment',
51
- },
52
- '/organizations/{organizationId}/equipment/{principalId}/measurements': {
53
- parentPath: '/organizations/{organizationId}/equipment/{principalId}',
54
- rel: 'measurements',
43
+ parentSpec: 'organizations',
55
44
  },
56
45
  '/organizations/{organizationId}/varieties': {
57
46
  parentPath: '/organizations/{organizationId}',
58
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',
59
64
  },
60
- '/organizations/{orgId}/assets': { parentPath: '/organizations/{orgId}', rel: 'assets' },
61
- '/organizations/{orgId}/boundaries': { parentPath: '/organizations/{orgId}', rel: 'boundaries' },
62
- '/organizations/{orgId}/clients': { parentPath: '/organizations/{orgId}', rel: 'clients' },
63
65
  '/organizations/{orgId}/clients/{id}/farms': {
64
66
  parentPath: '/organizations/{orgId}/clients/{id}',
65
67
  rel: 'farms',
68
+ parentSpec: 'clients',
66
69
  },
67
70
  '/organizations/{orgID}/clients/{id}/fields': {
68
71
  parentPath: '/organizations/{orgID}/clients/{id}',
69
72
  rel: 'fields',
73
+ parentSpec: 'clients',
70
74
  },
71
75
  '/organizations/{orgId}/connections': {
72
76
  parentPath: '/organizations/{orgId}',
73
77
  rel: 'connections',
78
+ parentSpec: 'organizations',
79
+ },
80
+ '/organizations/{orgId}/farms': {
81
+ parentPath: '/organizations/{orgId}',
82
+ rel: 'farms',
83
+ parentSpec: 'organizations',
74
84
  },
75
- '/organizations/{orgId}/farms': { parentPath: '/organizations/{orgId}', rel: 'farms' },
76
85
  '/organizations/{orgId}/farms/{farmId}/clients': {
77
86
  parentPath: '/organizations/{orgId}/farms/{farmId}',
78
87
  rel: 'clients',
88
+ parentSpec: 'farms',
79
89
  },
80
90
  '/organizations/{orgID}/farms/{id}/fields': {
81
91
  parentPath: '/organizations/{orgID}/farms/{id}',
82
92
  rel: 'fields',
93
+ parentSpec: 'farms',
94
+ },
95
+ '/organizations/{orgId}/fields': {
96
+ parentPath: '/organizations/{orgId}',
97
+ rel: 'fields',
98
+ parentSpec: 'organizations',
83
99
  },
84
- '/organizations/{orgId}/fields': { parentPath: '/organizations/{orgId}', rel: 'fields' },
85
100
  '/organizations/{orgId}/fields/{fieldId}/boundaries': {
86
101
  parentPath: '/organizations/{orgId}/fields/{fieldId}',
87
102
  rel: 'boundaries',
103
+ parentSpec: 'fields',
88
104
  },
89
105
  '/organizations/{orgId}/fields/{fieldId}/farms': {
90
106
  parentPath: '/organizations/{orgId}/fields/{fieldId}',
91
107
  rel: 'farms',
108
+ parentSpec: 'fields',
92
109
  },
93
110
  '/organizations/{orgId}/fields/{fieldId}/fieldOperations': {
94
111
  parentPath: '/organizations/{orgId}/fields/{fieldId}',
95
112
  rel: 'fieldOperations',
113
+ parentSpec: 'fields',
96
114
  },
97
115
  '/organizations/{orgId}/fields/{fieldId}/flags': {
98
116
  parentPath: '/organizations/{orgId}/fields/{fieldId}',
99
117
  rel: 'flags',
118
+ parentSpec: 'fields',
100
119
  },
101
120
  '/organizations/{orgId}/fields/{fieldId}/guidanceLines': {
102
121
  parentPath: '/organizations/{orgId}/fields/{fieldId}',
103
122
  rel: 'guidanceLines',
123
+ parentSpec: 'fields',
104
124
  },
105
125
  '/organizations/{orgID}/fields/{id}/clients': {
106
126
  parentPath: '/organizations/{orgID}/fields/{id}',
107
127
  rel: 'clients',
128
+ parentSpec: 'fields',
108
129
  },
109
130
  '/organizations/{orgId}/fields/{id}/mapLayerSummaries': {
110
131
  parentPath: '/organizations/{orgId}/fields/{id}',
111
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',
112
144
  },
113
- '/organizations/{orgId}/files': { parentPath: '/organizations/{orgId}', rel: 'files' },
114
- '/organizations/{orgId}/flags': { parentPath: '/organizations/{orgId}', rel: 'flags' },
115
145
  '/organizations/{orgId}/harvestIdentificationModules': {
116
146
  parentPath: '/organizations/{orgId}',
117
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',
118
169
  },
119
- '/organizations/{orgId}/notifications/events': {
120
- parentPath: '/organizations/{orgId}/notifications',
121
- rel: 'events',
170
+ '/varieties/{erid}/documents': {
171
+ parentPath: '/varieties/{erid}',
172
+ rel: 'documents',
173
+ parentSpec: 'products',
122
174
  },
123
- '/organizations/{orgId}/operators': { parentPath: '/organizations/{orgId}', rel: 'operators' },
124
- '/organizations/{orgId}/users': { parentPath: '/organizations/{orgId}', rel: 'users' },
125
- '/partnerships/{token}/permissions': { parentPath: '/partnerships/{token}', rel: 'permissions' },
126
- '/users/{userName}/organizations': { parentPath: '/users/{userName}', rel: 'organizations' },
127
- '/varieties/{erid}/documents': { parentPath: '/varieties/{erid}', rel: 'documents' },
128
175
  };
129
176
  //# sourceMappingURL=hateoas-map.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hateoas-map.js","sourceRoot":"","sources":["../src/hateoas-map.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,MAAM,CAAC,MAAM,WAAW,GAAiC;IACvD,6BAA6B,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,EAAE,WAAW,EAAE;IACpF,qDAAqD,EAAE;QACrD,UAAU,EAAE,mCAAmC;QAC/C,GAAG,EAAE,mBAAmB;KACzB;IACD,0FAA0F,EAAE;QAC1F,UAAU,EAAE,0EAA0E;QACtF,GAAG,EAAE,iBAAiB;KACvB;IACD,kDAAkD,EAAE;QAClD,UAAU,EAAE,mCAAmC;QAC/C,GAAG,EAAE,gBAAgB;KACtB;IACD,yCAAyC,EAAE;QACzC,UAAU,EAAE,gCAAgC;QAC5C,GAAG,EAAE,UAAU;KAChB;IACD,gCAAgC,EAAE,EAAE,UAAU,EAAE,yBAAyB,EAAE,GAAG,EAAE,QAAQ,EAAE;IAC1F,4CAA4C,EAAE;QAC5C,UAAU,EAAE,yBAAyB;QACrC,GAAG,EAAE,oBAAoB;KAC1B;IACD,qCAAqC,EAAE;QACrC,UAAU,EAAE,yBAAyB;QACrC,GAAG,EAAE,aAAa;KACnB;IACD,0CAA0C,EAAE;QAC1C,UAAU,EAAE,yBAAyB;QACrC,GAAG,EAAE,kBAAkB;KACxB;IACD,yCAAyC,EAAE;QACzC,UAAU,EAAE,yBAAyB;QACrC,GAAG,EAAE,iBAAiB;KACvB;IACD,2CAA2C,EAAE;QAC3C,UAAU,EAAE,iCAAiC;QAC7C,GAAG,EAAE,WAAW;KACjB;IACD,2CAA2C,EAAE;QAC3C,UAAU,EAAE,iCAAiC;QAC7C,GAAG,EAAE,WAAW;KACjB;IACD,sEAAsE,EAAE;QACtE,UAAU,EAAE,yDAAyD;QACrE,GAAG,EAAE,cAAc;KACpB;IACD,2CAA2C,EAAE;QAC3C,UAAU,EAAE,iCAAiC;QAC7C,GAAG,EAAE,WAAW;KACjB;IACD,+BAA+B,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,EAAE,QAAQ,EAAE;IACxF,mCAAmC,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,EAAE,YAAY,EAAE;IAChG,gCAAgC,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,EAAE,SAAS,EAAE;IAC1F,2CAA2C,EAAE;QAC3C,UAAU,EAAE,qCAAqC;QACjD,GAAG,EAAE,OAAO;KACb;IACD,4CAA4C,EAAE;QAC5C,UAAU,EAAE,qCAAqC;QACjD,GAAG,EAAE,QAAQ;KACd;IACD,oCAAoC,EAAE;QACpC,UAAU,EAAE,wBAAwB;QACpC,GAAG,EAAE,aAAa;KACnB;IACD,8BAA8B,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,EAAE,OAAO,EAAE;IACtF,+CAA+C,EAAE;QAC/C,UAAU,EAAE,uCAAuC;QACnD,GAAG,EAAE,SAAS;KACf;IACD,0CAA0C,EAAE;QAC1C,UAAU,EAAE,mCAAmC;QAC/C,GAAG,EAAE,QAAQ;KACd;IACD,+BAA+B,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,EAAE,QAAQ,EAAE;IACxF,oDAAoD,EAAE;QACpD,UAAU,EAAE,yCAAyC;QACrD,GAAG,EAAE,YAAY;KAClB;IACD,+CAA+C,EAAE;QAC/C,UAAU,EAAE,yCAAyC;QACrD,GAAG,EAAE,OAAO;KACb;IACD,yDAAyD,EAAE;QACzD,UAAU,EAAE,yCAAyC;QACrD,GAAG,EAAE,iBAAiB;KACvB;IACD,+CAA+C,EAAE;QAC/C,UAAU,EAAE,yCAAyC;QACrD,GAAG,EAAE,OAAO;KACb;IACD,uDAAuD,EAAE;QACvD,UAAU,EAAE,yCAAyC;QACrD,GAAG,EAAE,eAAe;KACrB;IACD,4CAA4C,EAAE;QAC5C,UAAU,EAAE,oCAAoC;QAChD,GAAG,EAAE,SAAS;KACf;IACD,sDAAsD,EAAE;QACtD,UAAU,EAAE,oCAAoC;QAChD,GAAG,EAAE,mBAAmB;KACzB;IACD,8BAA8B,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,EAAE,OAAO,EAAE;IACtF,8BAA8B,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,EAAE,OAAO,EAAE;IACtF,qDAAqD,EAAE;QACrD,UAAU,EAAE,wBAAwB;QACpC,GAAG,EAAE,8BAA8B;KACpC;IACD,6CAA6C,EAAE;QAC7C,UAAU,EAAE,sCAAsC;QAClD,GAAG,EAAE,QAAQ;KACd;IACD,kCAAkC,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,EAAE,WAAW,EAAE;IAC9F,8BAA8B,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,GAAG,EAAE,OAAO,EAAE;IACtF,mCAAmC,EAAE,EAAE,UAAU,EAAE,uBAAuB,EAAE,GAAG,EAAE,aAAa,EAAE;IAChG,iCAAiC,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,EAAE,eAAe,EAAE;IAC5F,6BAA6B,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,EAAE,WAAW,EAAE;CACrF,CAAC"}
1
+ {"version":3,"file":"hateoas-map.js","sourceRoot":"","sources":["../src/hateoas-map.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deere-sdk",
3
- "version": "1.0.10",
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",
@@ -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":"AAAA;;;;;GAKG;AA2CH,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,KAAa,EACb,MAAkC,EAClC,OAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,MAAM,EAAE,aAAa;YAAE,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,MAAM,EAAE,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW;YACtB,CAAC,CAAC,kBAAkB,KAAK,oBAAoB,WAAW,EAAE;YAC1D,CAAC,CAAC,kBAAkB,KAAK,kBAAkB,CAAC;QAE9C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAoC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,KAAa,EACb,OAAe,EACf,MAAkC,EAClC,OAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,MAAM,EAAE,aAAa;YAAE,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,MAAM,EAAE,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW;YACtB,CAAC,CAAC,kBAAkB,KAAK,WAAW,OAAO,oBAAoB,WAAW,EAAE;YAC5E,CAAC,CAAC,kBAAkB,KAAK,WAAW,OAAO,kBAAkB,CAAC;QAEhE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAoC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,KAAa,EACb,MAAkC,EAClC,OAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,MAAM,EAAE,aAAa;YAAE,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,MAAM,EAAE,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,WAAW;YACtB,CAAC,CAAC,kBAAkB,KAAK,oBAAoB,WAAW,EAAE;YAC1D,CAAC,CAAC,kBAAkB,KAAK,kBAAkB,CAAC;QAE9C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAiB,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,WAAmB,EAAE,OAAwB;QACpE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CACpB,kBAAkB,KAAK,oBAAoB,WAAW,EAAE,EACxD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,iDAAiD;IAEjD;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,KAAa,EACb,OAAgB,EAChB,MAAyD,EACzD,OAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC,kBAAkB,KAAK,WAAW,OAAO,kBAAkB;YAC7D,CAAC,CAAC,kBAAkB,KAAK,kBAAkB,CAAC;QAC9C,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC;QAE1C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAiB,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,OAAgB,EAChB,MAAyD,EACzD,OAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QACrC,IAAI,MAAM,EAAE,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC,kBAAkB,KAAK,WAAW,OAAO,kBAAkB;YAC7D,CAAC,CAAC,kBAAkB,KAAK,kBAAkB,CAAC;QAC9C,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC;QAE1C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAiB,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,KAAa,EACb,OAAgB,EAChB,MAAyD,EACzD,OAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC,kBAAkB,KAAK,WAAW,OAAO,kBAAkB;YAC7D,CAAC,CAAC,kBAAkB,KAAK,kBAAkB,CAAC;QAC9C,MAAM,IAAI,GAAG,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC;QAE1C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAiB,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACF"}