deere-sdk 1.0.8 → 1.0.10

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.0.10] - 2026-03-26
9
+
10
+ ### Added
11
+ - **HATEOAS mode** — `hateoas: true` enables HAL link traversal for John Deere production certification
12
+ - Generated route map with 41 path-to-parent+rel entries from OpenAPI specs
13
+ - `HateoasError` class thrown on resolution failure (strict mode)
14
+ - `hateoasDebug` option for logging link resolution details
15
+ - `clearLinkCache()` and `warmLinkCache()` methods on `DeereClient`
16
+
17
+ ## [1.0.9] - 2026-03-25
18
+
19
+ ### Changed
20
+ - Synced with latest John Deere API specifications
21
+
8
22
  ## [1.0.8] - 2026-03-25
9
23
 
10
24
  ### Changed
package/README.md CHANGED
@@ -472,6 +472,74 @@ for await (const items of client.paginate('/large/collection')) {
472
472
 
473
473
  ---
474
474
 
475
+ ## HATEOAS Mode
476
+
477
+ John Deere requires applications to demonstrate [HATEOAS](https://en.wikipedia.org/wiki/HATEOAS) compliance before granting production API access. When enabled, the SDK automatically follows HAL links from parent resources instead of constructing URLs directly — producing the exact traffic pattern John Deere's certification requires.
478
+
479
+ ```typescript
480
+ const deere = new Deere({
481
+ accessToken: 'your-token',
482
+ environment: 'sandbox',
483
+ hateoas: true, // Enable HATEOAS link traversal
484
+ hateoasDebug: true, // Optional: log resolution details
485
+ });
486
+
487
+ // Same API — HATEOAS resolution is transparent
488
+ const orgs = await deere.organizations.listAll();
489
+ const fields = await deere.fields.listAll(orgs[0].id);
490
+ ```
491
+
492
+ When `hateoas: true`, the SDK fetches parent resources and follows their HAL links before accessing child resources. For example, `deere.fields.list('org-123')` first fetches `/organizations/org-123`, finds the `fields` link in its response, and uses that discovered URL. Link responses are cached per-session, so subsequent calls incur no extra latency.
493
+
494
+ ### Certification Walkthrough
495
+
496
+ ```typescript
497
+ import {Deere} from 'deere-sdk';
498
+
499
+ // 1. Create client with HATEOAS enabled
500
+ const deere = new Deere({
501
+ accessToken: 'your-oauth-token',
502
+ environment: 'sandbox',
503
+ hateoas: true,
504
+ hateoasDebug: true, // See link resolution in console
505
+ });
506
+
507
+ // 2. Warm the cache (optional — reduces cold-start latency)
508
+ await deere.client.warmLinkCache(['/organizations']);
509
+
510
+ // 3. Use the SDK normally — HATEOAS happens transparently
511
+ const orgs = await deere.organizations.listAll();
512
+ const org = await deere.organizations.get(orgs[0].id);
513
+ const fields = await deere.fields.listAll(org.id);
514
+ const boundaries = await deere.boundaries.listBoundaries(org.id, fields[0].id);
515
+
516
+ // Console output (with hateoasDebug: true):
517
+ // [HATEOAS] /organizations/org-123/fields → parent: /organizations/org-123, rel: fields → https://...
518
+ // [HATEOAS] /organizations/org-123/fields/f-456/boundaries → parent: /organizations/org-123/fields/f-456, rel: boundaries → https://...
519
+
520
+ // 4. After certification, disable HATEOAS for production speed
521
+ // hateoas: false (or omit — it's the default)
522
+ ```
523
+
524
+ ### Strict Mode
525
+
526
+ HATEOAS mode is strict: if link resolution fails (parent returns no matching link, parent fetch errors), a `HateoasError` is thrown immediately. This ensures certification compliance issues surface during development, not at John Deere's certification gate.
527
+
528
+ ```typescript
529
+ import {HateoasError} from 'deere-sdk';
530
+
531
+ try {
532
+ await deere.fields.listAll('org-123');
533
+ } catch (error) {
534
+ if (error instanceof HateoasError) {
535
+ console.log(`Link resolution failed: ${error.message}`);
536
+ console.log(`Path: ${error.path}`);
537
+ }
538
+ }
539
+ ```
540
+
541
+ ---
542
+
475
543
  ## Error Handling
476
544
 
477
545
  ### Automatic Retries
package/dist/client.d.ts CHANGED
@@ -20,6 +20,15 @@ export interface DeereClientConfig {
20
20
  timeout?: number;
21
21
  /** Maximum number of retry attempts for failed requests. Defaults to 3. Set to 0 to disable retries. */
22
22
  maxRetries?: number;
23
+ /**
24
+ * Enable HATEOAS link traversal. When true, the client fetches parent resources
25
+ * and follows HAL links instead of constructing URLs directly.
26
+ * Required for John Deere production API certification.
27
+ * @default false
28
+ */
29
+ hateoas?: boolean;
30
+ /** Log HATEOAS resolution details to console for debugging. @default false */
31
+ hateoasDebug?: boolean;
23
32
  }
24
33
  export interface RetryConfig {
25
34
  /** Maximum number of retry attempts */
@@ -60,6 +69,11 @@ export declare class RateLimitError extends DeereError {
60
69
  export declare class AuthError extends DeereError {
61
70
  constructor(message: string, status: number, statusText: string, body?: unknown);
62
71
  }
72
+ export declare class HateoasError extends Error {
73
+ readonly path: string;
74
+ readonly cause?: Error | undefined;
75
+ constructor(message: string, path: string, cause?: Error | undefined);
76
+ }
63
77
  /**
64
78
  * John Deere API Client
65
79
  *
@@ -87,6 +101,9 @@ export declare class DeereClient {
87
101
  private readonly defaultHeaders;
88
102
  private readonly timeout;
89
103
  private readonly retryConfig;
104
+ private readonly hateoas;
105
+ private readonly hateoasDebug;
106
+ private readonly linkCache;
90
107
  constructor(config: DeereClientConfig);
91
108
  /**
92
109
  * Make a GET request to the John Deere API
@@ -122,6 +139,27 @@ export declare class DeereClient {
122
139
  getAll<T>(path: string, options?: RequestOptions): Promise<T[]>;
123
140
  private request;
124
141
  private requestUrl;
142
+ /**
143
+ * Clear the HATEOAS link cache. Useful for long-lived clients or testing.
144
+ */
145
+ clearLinkCache(): void;
146
+ /**
147
+ * Pre-fetch parent resources to warm the HATEOAS link cache.
148
+ * Reduces latency for subsequent HATEOAS-resolved requests.
149
+ * @param paths - Parent resource paths to pre-fetch (defaults to common roots)
150
+ */
151
+ warmLinkCache(paths?: string[]): Promise<void>;
152
+ /**
153
+ * Match a concrete path against the HATEOAS route map.
154
+ * Returns the concrete parent path and rel name, or null if no match.
155
+ */
156
+ private matchHateoasPattern;
157
+ /**
158
+ * Resolve a path via HATEOAS link traversal.
159
+ * Fetches the parent resource, finds the matching link rel, and returns the discovered URL.
160
+ * Throws HateoasError if resolution fails (strict mode).
161
+ */
162
+ private resolveHateoasUrl;
125
163
  /**
126
164
  * Check if an error/status code is retryable
127
165
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wGAAwG;IACxG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,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;AAuCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAEjC,MAAM,EAAE,iBAAiB;IAmBrC;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1E;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI3F;;OAEG;IACG,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI1F;;OAEG;IACG,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7E;;OAEG;IACG,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5F;;OAEG;IACG,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAOxF;;OAEG;IACI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC;IAyB9F;;OAEG;IACG,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;YAQvD,OAAO;YAiBP,UAAU;IA8GxB;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;;;OAIG;IACG,aAAa,CAAC,KAAK,GAAE,MAAM,EAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAkC3B;;;;OAIG;YACW,iBAAiB;IAsD/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,cAAc;IAMtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,KAAK;YAIC,WAAW;IA4BzB,OAAO,CAAC,mBAAmB;CAkB5B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAEnE"}
package/dist/client.js CHANGED
@@ -30,6 +30,16 @@ export class AuthError extends DeereError {
30
30
  this.name = 'AuthError';
31
31
  }
32
32
  }
33
+ export class HateoasError extends Error {
34
+ path;
35
+ cause;
36
+ constructor(message, path, cause) {
37
+ super(message);
38
+ this.path = path;
39
+ this.cause = cause;
40
+ this.name = 'HateoasError';
41
+ }
42
+ }
33
43
  const ENVIRONMENT_URLS = {
34
44
  production: 'https://api.deere.com/platform',
35
45
  sandbox: 'https://sandboxapi.deere.com/platform',
@@ -40,6 +50,25 @@ const ENVIRONMENT_URLS = {
40
50
  const DEERE_ACCEPT_HEADER = 'application/vnd.deere.axiom.v3+json';
41
51
  /** HTTP status codes that are safe to retry */
42
52
  const RETRYABLE_STATUS_CODES = new Set([429, 500, 502, 503, 504]);
53
+ import { HATEOAS_MAP } from './hateoas-map.js';
54
+ class LinkCache {
55
+ cache = new Map();
56
+ set(parentPath, links) {
57
+ this.cache.set(parentPath, links);
58
+ }
59
+ findRel(parentPath, rel) {
60
+ const links = this.cache.get(parentPath);
61
+ if (!links)
62
+ return undefined;
63
+ return links.find((l) => l.rel === rel)?.uri;
64
+ }
65
+ has(parentPath) {
66
+ return this.cache.has(parentPath);
67
+ }
68
+ clear() {
69
+ this.cache.clear();
70
+ }
71
+ }
43
72
  /**
44
73
  * John Deere API Client
45
74
  *
@@ -67,11 +96,16 @@ export class DeereClient {
67
96
  defaultHeaders;
68
97
  timeout;
69
98
  retryConfig;
99
+ hateoas;
100
+ hateoasDebug;
101
+ linkCache = new LinkCache();
70
102
  constructor(config) {
71
103
  this.accessToken = config.accessToken;
72
104
  this.baseUrl = config.baseUrl ?? ENVIRONMENT_URLS[config.environment ?? 'sandbox'];
73
105
  this.fetchFn = config.fetch ?? fetch;
74
106
  this.timeout = config.timeout ?? 30000;
107
+ this.hateoas = config.hateoas ?? false;
108
+ this.hateoasDebug = config.hateoasDebug ?? false;
75
109
  this.defaultHeaders = {
76
110
  Accept: DEERE_ACCEPT_HEADER,
77
111
  'Content-Type': DEERE_ACCEPT_HEADER,
@@ -126,7 +160,9 @@ export class DeereClient {
126
160
  * Paginate through all results following nextPage links
127
161
  */
128
162
  async *paginate(path, options) {
129
- let url = `${this.baseUrl}${path}`;
163
+ let url = this.hateoas
164
+ ? await this.resolveHateoasUrl(path)
165
+ : `${this.baseUrl}${path}`;
130
166
  while (url) {
131
167
  const response = await this.requestUrl('GET', url, undefined, options);
132
168
  if (response.values && response.values.length > 0) {
@@ -148,7 +184,16 @@ export class DeereClient {
148
184
  return items;
149
185
  }
150
186
  async request(method, path, body, options) {
151
- const url = path.startsWith('http') ? path : `${this.baseUrl}${path}`;
187
+ let url;
188
+ if (path.startsWith('http')) {
189
+ url = path;
190
+ }
191
+ else if (this.hateoas) {
192
+ url = await this.resolveHateoasUrl(path);
193
+ }
194
+ else {
195
+ url = `${this.baseUrl}${path}`;
196
+ }
152
197
  return this.requestUrl(method, url, body, options);
153
198
  }
154
199
  async requestUrl(method, url, body, options) {
@@ -236,6 +281,101 @@ export class DeereClient {
236
281
  // Should not reach here, but just in case
237
282
  throw lastError ?? new DeereError('Request failed after retries', 0, 'RetryExhausted');
238
283
  }
284
+ /**
285
+ * Clear the HATEOAS link cache. Useful for long-lived clients or testing.
286
+ */
287
+ clearLinkCache() {
288
+ this.linkCache.clear();
289
+ }
290
+ /**
291
+ * Pre-fetch parent resources to warm the HATEOAS link cache.
292
+ * Reduces latency for subsequent HATEOAS-resolved requests.
293
+ * @param paths - Parent resource paths to pre-fetch (defaults to common roots)
294
+ */
295
+ async warmLinkCache(paths = ['/organizations']) {
296
+ for (const path of paths) {
297
+ try {
298
+ const url = `${this.baseUrl}${path}`;
299
+ const response = await this.requestUrl('GET', url);
300
+ if (response?.links) {
301
+ this.linkCache.set(path, response.links);
302
+ }
303
+ }
304
+ catch {
305
+ // Best-effort — skip paths that fail
306
+ }
307
+ }
308
+ }
309
+ /**
310
+ * Match a concrete path against the HATEOAS route map.
311
+ * Returns the concrete parent path and rel name, or null if no match.
312
+ */
313
+ matchHateoasPattern(concretePath) {
314
+ const concreteSegments = concretePath.split('/').filter(Boolean);
315
+ for (const [pattern, route] of Object.entries(HATEOAS_MAP)) {
316
+ const patternSegments = pattern.split('/').filter(Boolean);
317
+ if (concreteSegments.length !== patternSegments.length)
318
+ continue;
319
+ let matches = true;
320
+ for (let i = 0; i < patternSegments.length; i++) {
321
+ if (patternSegments[i].startsWith('{'))
322
+ continue; // wildcard
323
+ if (patternSegments[i] !== concreteSegments[i]) {
324
+ matches = false;
325
+ break;
326
+ }
327
+ }
328
+ if (matches) {
329
+ // Build the concrete parent path by substituting actual values
330
+ const parentSegments = route.parentPath.split('/').filter(Boolean);
331
+ const concreteParentParts = parentSegments.map((seg, i) => seg.startsWith('{') ? concreteSegments[i] : seg);
332
+ const concreteParentPath = `/${concreteParentParts.join('/')}`;
333
+ return { concreteParentPath, rel: route.rel };
334
+ }
335
+ }
336
+ return null;
337
+ }
338
+ /**
339
+ * Resolve a path via HATEOAS link traversal.
340
+ * Fetches the parent resource, finds the matching link rel, and returns the discovered URL.
341
+ * Throws HateoasError if resolution fails (strict mode).
342
+ */
343
+ async resolveHateoasUrl(path) {
344
+ // Strip query params for matching, reattach after
345
+ const [basePath, queryString] = path.split('?', 2);
346
+ const match = this.matchHateoasPattern(basePath);
347
+ if (!match) {
348
+ // No map entry — path is a root collection or item, use direct URL
349
+ return `${this.baseUrl}${path}`;
350
+ }
351
+ const { concreteParentPath, rel } = match;
352
+ // Check cache
353
+ let discoveredUrl = this.linkCache.findRel(concreteParentPath, rel);
354
+ if (!discoveredUrl) {
355
+ // Cache miss — fetch parent resource
356
+ try {
357
+ const parentUrl = `${this.baseUrl}${concreteParentPath}`;
358
+ const parentResponse = await this.requestUrl('GET', parentUrl);
359
+ if (parentResponse?.links) {
360
+ this.linkCache.set(concreteParentPath, parentResponse.links);
361
+ discoveredUrl = this.linkCache.findRel(concreteParentPath, rel);
362
+ }
363
+ }
364
+ catch (error) {
365
+ throw new HateoasError(`HATEOAS resolution failed: could not fetch parent resource "${concreteParentPath}"`, path, error instanceof Error ? error : undefined);
366
+ }
367
+ }
368
+ if (!discoveredUrl) {
369
+ const cachedLinks = this.linkCache.has(concreteParentPath);
370
+ throw new HateoasError(`HATEOAS resolution failed: parent "${concreteParentPath}" has no link with rel "${rel}"${cachedLinks ? '' : ' (parent returned no links)'}`, path);
371
+ }
372
+ // Reattach query params
373
+ const resolvedUrl = queryString ? `${discoveredUrl}?${queryString}` : discoveredUrl;
374
+ if (this.hateoasDebug) {
375
+ console.log(`[HATEOAS] ${path} → parent: ${concreteParentPath}, rel: ${rel} → ${resolvedUrl}`);
376
+ }
377
+ return resolvedUrl;
378
+ }
239
379
  /**
240
380
  * Check if an error/status code is retryable
241
381
  */
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
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 interface HateoasRoute {
10
+ /** Path pattern of the parent resource (with parameter placeholders) */
11
+ parentPath: string;
12
+ /** HAL link relation name to follow from the parent response */
13
+ rel: string;
14
+ }
15
+ export declare const HATEOAS_MAP: Record<string, HateoasRoute>;
16
+ //# 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,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"}
@@ -0,0 +1,129 @@
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': { parentPath: '/assets/{assetId}', rel: 'locations' },
11
+ '/equipmentMakes/{equipmentMakeId}/equipmentISGTypes': {
12
+ parentPath: '/equipmentMakes/{equipmentMakeId}',
13
+ rel: 'equipmentISGTypes',
14
+ },
15
+ '/equipmentMakes/{equipmentMakeId}/equipmentISGTypes/{equipmentISGTypeId}/equipmentModels': {
16
+ parentPath: '/equipmentMakes/{equipmentMakeId}/equipmentISGTypes/{equipmentISGTypeId}',
17
+ rel: 'equipmentModels',
18
+ },
19
+ '/equipmentMakes/{equipmentMakeId}/equipmentTypes': {
20
+ parentPath: '/equipmentMakes/{equipmentMakeId}',
21
+ rel: 'equipmentTypes',
22
+ },
23
+ '/fieldOperations/{operationId}/boundary': {
24
+ parentPath: '/fieldOperations/{operationId}',
25
+ 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',
43
+ },
44
+ '/organizations/{organizationId}/cropTypes': {
45
+ parentPath: '/organizations/{organizationId}',
46
+ rel: 'cropTypes',
47
+ },
48
+ '/organizations/{organizationId}/equipment': {
49
+ parentPath: '/organizations/{organizationId}',
50
+ rel: 'equipment',
51
+ },
52
+ '/organizations/{organizationId}/equipment/{principalId}/measurements': {
53
+ parentPath: '/organizations/{organizationId}/equipment/{principalId}',
54
+ rel: 'measurements',
55
+ },
56
+ '/organizations/{organizationId}/varieties': {
57
+ parentPath: '/organizations/{organizationId}',
58
+ rel: 'varieties',
59
+ },
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
+ '/organizations/{orgId}/clients/{id}/farms': {
64
+ parentPath: '/organizations/{orgId}/clients/{id}',
65
+ rel: 'farms',
66
+ },
67
+ '/organizations/{orgID}/clients/{id}/fields': {
68
+ parentPath: '/organizations/{orgID}/clients/{id}',
69
+ rel: 'fields',
70
+ },
71
+ '/organizations/{orgId}/connections': {
72
+ parentPath: '/organizations/{orgId}',
73
+ rel: 'connections',
74
+ },
75
+ '/organizations/{orgId}/farms': { parentPath: '/organizations/{orgId}', rel: 'farms' },
76
+ '/organizations/{orgId}/farms/{farmId}/clients': {
77
+ parentPath: '/organizations/{orgId}/farms/{farmId}',
78
+ rel: 'clients',
79
+ },
80
+ '/organizations/{orgID}/farms/{id}/fields': {
81
+ parentPath: '/organizations/{orgID}/farms/{id}',
82
+ rel: 'fields',
83
+ },
84
+ '/organizations/{orgId}/fields': { parentPath: '/organizations/{orgId}', rel: 'fields' },
85
+ '/organizations/{orgId}/fields/{fieldId}/boundaries': {
86
+ parentPath: '/organizations/{orgId}/fields/{fieldId}',
87
+ rel: 'boundaries',
88
+ },
89
+ '/organizations/{orgId}/fields/{fieldId}/farms': {
90
+ parentPath: '/organizations/{orgId}/fields/{fieldId}',
91
+ rel: 'farms',
92
+ },
93
+ '/organizations/{orgId}/fields/{fieldId}/fieldOperations': {
94
+ parentPath: '/organizations/{orgId}/fields/{fieldId}',
95
+ rel: 'fieldOperations',
96
+ },
97
+ '/organizations/{orgId}/fields/{fieldId}/flags': {
98
+ parentPath: '/organizations/{orgId}/fields/{fieldId}',
99
+ rel: 'flags',
100
+ },
101
+ '/organizations/{orgId}/fields/{fieldId}/guidanceLines': {
102
+ parentPath: '/organizations/{orgId}/fields/{fieldId}',
103
+ rel: 'guidanceLines',
104
+ },
105
+ '/organizations/{orgID}/fields/{id}/clients': {
106
+ parentPath: '/organizations/{orgID}/fields/{id}',
107
+ rel: 'clients',
108
+ },
109
+ '/organizations/{orgId}/fields/{id}/mapLayerSummaries': {
110
+ parentPath: '/organizations/{orgId}/fields/{id}',
111
+ rel: 'mapLayerSummaries',
112
+ },
113
+ '/organizations/{orgId}/files': { parentPath: '/organizations/{orgId}', rel: 'files' },
114
+ '/organizations/{orgId}/flags': { parentPath: '/organizations/{orgId}', rel: 'flags' },
115
+ '/organizations/{orgId}/harvestIdentificationModules': {
116
+ parentPath: '/organizations/{orgId}',
117
+ rel: 'harvestIdentificationModules',
118
+ },
119
+ '/organizations/{orgId}/notifications/events': {
120
+ parentPath: '/organizations/{orgId}/notifications',
121
+ rel: 'events',
122
+ },
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
+ };
129
+ //# 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"}
@@ -2,7 +2,7 @@
2
2
  * John Deere API TypeScript Types
3
3
  * Auto-generated from OpenAPI specifications
4
4
  *
5
- * @generated 2026-03-25T06:29:27.192Z
5
+ * @generated 2026-03-25T14:41:31.926Z
6
6
  */
7
7
  export type { components as AempComponents, paths as AempPaths } from './aemp.js';
8
8
  export * as Aemp from './aemp.js';
@@ -2,7 +2,7 @@
2
2
  * John Deere API TypeScript Types
3
3
  * Auto-generated from OpenAPI specifications
4
4
  *
5
- * @generated 2026-03-25T06:29:27.192Z
5
+ * @generated 2026-03-25T14:41:31.926Z
6
6
  */
7
7
  export * as Aemp from './aemp.js';
8
8
  export * as Assets from './assets.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deere-sdk",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
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,