@hideyukimori/nene2-client 0.1.3 → 1.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 (41) hide show
  1. package/README.md +1 -1
  2. package/dist/client/errors.d.ts +5 -0
  3. package/dist/client/errors.d.ts.map +1 -1
  4. package/dist/client/errors.js +3 -0
  5. package/dist/client/errors.js.map +1 -1
  6. package/dist/client/index.d.ts +2 -1
  7. package/dist/client/index.d.ts.map +1 -1
  8. package/dist/client/index.js +1 -0
  9. package/dist/client/index.js.map +1 -1
  10. package/dist/client/rate-limit.d.ts +10 -0
  11. package/dist/client/rate-limit.d.ts.map +1 -0
  12. package/dist/client/rate-limit.js +27 -0
  13. package/dist/client/rate-limit.js.map +1 -0
  14. package/dist/client/request.d.ts.map +1 -1
  15. package/dist/client/request.js +12 -13
  16. package/dist/client/request.js.map +1 -1
  17. package/dist/generated/guards.d.ts +50 -0
  18. package/dist/generated/guards.d.ts.map +1 -0
  19. package/dist/generated/guards.js +810 -0
  20. package/dist/generated/guards.js.map +1 -0
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/types/examples/notes.d.ts +0 -3
  26. package/dist/types/examples/notes.d.ts.map +1 -1
  27. package/dist/types/examples/notes.js +7 -24
  28. package/dist/types/examples/notes.js.map +1 -1
  29. package/dist/types/examples/protected.d.ts +0 -3
  30. package/dist/types/examples/protected.d.ts.map +1 -1
  31. package/dist/types/examples/protected.js +5 -8
  32. package/dist/types/examples/protected.js.map +1 -1
  33. package/dist/types/examples/tags.d.ts +0 -3
  34. package/dist/types/examples/tags.d.ts.map +1 -1
  35. package/dist/types/examples/tags.js +7 -21
  36. package/dist/types/examples/tags.js.map +1 -1
  37. package/dist/types/system.d.ts +0 -3
  38. package/dist/types/system.d.ts.map +1 -1
  39. package/dist/types/system.js +8 -38
  40. package/dist/types/system.js.map +1 -1
  41. package/package.json +10 -3
package/README.md CHANGED
@@ -30,7 +30,7 @@ See [docs/scope.md](docs/scope.md) for the full in-scope / out-of-scope matrix.
30
30
  ## Install (npm)
31
31
 
32
32
  ```bash
33
- npm install @hideyukimori/nene2-client@0.1.2
33
+ npm install @hideyukimori/nene2-client@1.0.0
34
34
  ```
35
35
 
36
36
  Requires **Node 22+** (native `fetch`) or a browser with `fetch`. TypeScript consumers get `.d.ts` from the package.
@@ -1,4 +1,6 @@
1
1
  import type { ProblemDetailsDocument } from '../problem/types.js';
2
+ import type { RateLimitInfo } from './rate-limit.js';
3
+ export type { RateLimitInfo } from './rate-limit.js';
2
4
  /**
3
5
  * Error thrown when the NENE2 API returns a non-success HTTP status or an unexpected body.
4
6
  */
@@ -6,10 +8,13 @@ export declare class Nene2ClientError extends Error {
6
8
  readonly status: number;
7
9
  readonly problem: ProblemDetailsDocument | undefined;
8
10
  readonly url: string;
11
+ /** Present when the response included Retry-After or X-RateLimit-* headers. */
12
+ readonly rateLimit: RateLimitInfo | undefined;
9
13
  constructor(message: string, options: {
10
14
  status: number;
11
15
  url: string;
12
16
  problem?: ProblemDetailsDocument | undefined;
17
+ rateLimit?: RateLimitInfo | undefined;
13
18
  });
14
19
  }
15
20
  /** Type guard for {@link Nene2ClientError}. */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAGnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAA;KAAE;CAQzF;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS,CAAC;gBAG5C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;QAC7C,SAAS,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;KACvC;CASJ;AAED,+CAA+C;AAC/C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E"}
@@ -5,12 +5,15 @@ export class Nene2ClientError extends Error {
5
5
  status;
6
6
  problem;
7
7
  url;
8
+ /** Present when the response included Retry-After or X-RateLimit-* headers. */
9
+ rateLimit;
8
10
  constructor(message, options) {
9
11
  super(message);
10
12
  this.name = 'Nene2ClientError';
11
13
  this.status = options.status;
12
14
  this.url = options.url;
13
15
  this.problem = options.problem;
16
+ this.rateLimit = options.rateLimit;
14
17
  }
15
18
  }
16
19
  /** Type guard for {@link Nene2ClientError}. */
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,MAAM,CAAS;IACf,OAAO,CAAqC;IAC5C,GAAG,CAAS;IAErB,YACE,OAAe,EACf,OAAsF;QAEtF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IACjC,CAAC;CACF;AAED,+CAA+C;AAC/C,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,YAAY,gBAAgB,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,MAAM,CAAS;IACf,OAAO,CAAqC;IAC5C,GAAG,CAAS;IACrB,+EAA+E;IACtE,SAAS,CAA4B;IAE9C,YACE,OAAe,EACf,OAKC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;CACF;AAED,+CAA+C;AAC/C,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,YAAY,gBAAgB,CAAC;AAC3C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export { createNene2Client, type Nene2Client, type HealthOptions } from './create-nene2-client.js';
2
- export { isNene2ClientError, Nene2ClientError } from './errors.js';
2
+ export { isNene2ClientError, Nene2ClientError, type RateLimitInfo } from './errors.js';
3
+ export { parseRateLimitHeaders } from './rate-limit.js';
3
4
  export type { Nene2ClientConfig } from './config.js';
4
5
  export { validationErrorsByField, validationErrorsFromClientError } from './validation-errors.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { createNene2Client } from './create-nene2-client.js';
2
2
  export { isNene2ClientError, Nene2ClientError } from './errors.js';
3
+ export { parseRateLimitHeaders } from './rate-limit.js';
3
4
  export { validationErrorsByField, validationErrorsFromClientError } from './validation-errors.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwC,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwC,MAAM,0BAA0B,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /** Rate-limit metadata from HTTP response headers (OpenAPI TooManyRequests). */
2
+ export type RateLimitInfo = {
3
+ readonly retryAfterSeconds?: number;
4
+ readonly limit?: number;
5
+ readonly remaining?: number;
6
+ readonly reset?: number;
7
+ };
8
+ /** Parse Retry-After and X-RateLimit-* from a response. Returns undefined when absent. */
9
+ export declare function parseRateLimitHeaders(headers: Headers): RateLimitInfo | undefined;
10
+ //# sourceMappingURL=rate-limit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../src/client/rate-limit.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAUF,0FAA0F;AAC1F,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAqBjF"}
@@ -0,0 +1,27 @@
1
+ function parseHeaderInt(value) {
2
+ if (value === null || value.trim() === '') {
3
+ return undefined;
4
+ }
5
+ const parsed = Number(value);
6
+ return Number.isFinite(parsed) ? parsed : undefined;
7
+ }
8
+ /** Parse Retry-After and X-RateLimit-* from a response. Returns undefined when absent. */
9
+ export function parseRateLimitHeaders(headers) {
10
+ const retryAfterSeconds = parseHeaderInt(headers.get('Retry-After'));
11
+ const limit = parseHeaderInt(headers.get('X-RateLimit-Limit'));
12
+ const remaining = parseHeaderInt(headers.get('X-RateLimit-Remaining'));
13
+ const reset = parseHeaderInt(headers.get('X-RateLimit-Reset'));
14
+ if (retryAfterSeconds === undefined &&
15
+ limit === undefined &&
16
+ remaining === undefined &&
17
+ reset === undefined) {
18
+ return undefined;
19
+ }
20
+ return {
21
+ ...(retryAfterSeconds !== undefined ? { retryAfterSeconds } : {}),
22
+ ...(limit !== undefined ? { limit } : {}),
23
+ ...(remaining !== undefined ? { remaining } : {}),
24
+ ...(reset !== undefined ? { reset } : {}),
25
+ };
26
+ }
27
+ //# sourceMappingURL=rate-limit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../src/client/rate-limit.ts"],"names":[],"mappings":"AAQA,SAAS,cAAc,CAAC,KAAoB;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE/D,IACE,iBAAiB,KAAK,SAAS;QAC/B,KAAK,KAAK,SAAS;QACnB,SAAS,KAAK,SAAS;QACvB,KAAK,KAAK,SAAS,EACnB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/client/request.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAW/C,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAY5E;AAcD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAS3E;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,CAAC;AAwDF;;GAEG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,EACvC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CASZ;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,EACvC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,EACvC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAQf"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/client/request.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA0B/C,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAY5E;AAcD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAS3E;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,CAAC;AA8CF;;GAEG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,EACvC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CASZ;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,EACvC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,EACvC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -1,6 +1,15 @@
1
1
  import { parseProblemDetailsResponse } from '../problem/guards.js';
2
2
  import { Nene2ClientError } from './errors.js';
3
+ import { parseRateLimitHeaders } from './rate-limit.js';
3
4
  import { mergeRequestSignal } from './signal.js';
5
+ function errorFromResponse(message, response, url, problem) {
6
+ return new Nene2ClientError(message, {
7
+ status: response.status,
8
+ url,
9
+ problem,
10
+ rateLimit: parseRateLimitHeaders(response.headers),
11
+ });
12
+ }
4
13
  function withSignal(config, init) {
5
14
  const signal = mergeRequestSignal(config.signal, config.timeoutMs);
6
15
  if (signal === undefined) {
@@ -55,16 +64,10 @@ async function parseJsonBody(response, url, isValid) {
55
64
  const hint = contentType.includes('text/html') || contentType.includes('text/plain')
56
65
  ? ' — response looks like HTML/text; check baseUrl points at NENE2 JSON API'
57
66
  : '';
58
- throw new Nene2ClientError(`NENE2 response is not valid JSON${hint}`, {
59
- status: response.status,
60
- url,
61
- });
67
+ throw errorFromResponse(`NENE2 response is not valid JSON${hint}`, response, url);
62
68
  }
63
69
  if (!isValid(body)) {
64
- throw new Nene2ClientError('NENE2 response body does not match expected shape', {
65
- status: response.status,
66
- url,
67
- });
70
+ throw errorFromResponse('NENE2 response body does not match expected shape', response, url);
68
71
  }
69
72
  return body;
70
73
  }
@@ -74,11 +77,7 @@ async function throwOnErrorResponse(response, url, options) {
74
77
  }
75
78
  const problem = await parseProblemDetailsResponse(response);
76
79
  const detail = problem?.detail ?? problem?.title ?? response.statusText;
77
- throw new Nene2ClientError(`NENE2 request failed: ${detail}`, {
78
- status: response.status,
79
- url,
80
- problem,
81
- });
80
+ throw errorFromResponse(`NENE2 request failed: ${detail}`, response, url, problem);
82
81
  }
83
82
  /**
84
83
  * GET JSON and validate the body with a type guard. Throws {@link Nene2ClientError} on failure.
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/client/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/client/request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @generated from contracts/openapi.yaml — do not edit.
3
+ * Regenerate: npm run codegen:guards
4
+ * @see docs/adr/0007-openapi-guard-codegen-ajv-standalone.md
5
+ */
6
+ export declare function validateHealthResponse(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
7
+ instancePath?: string | undefined;
8
+ rootData?: any;
9
+ }): boolean;
10
+ export declare function validateExamplePingResponse(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
11
+ instancePath?: string | undefined;
12
+ rootData?: any;
13
+ }): boolean;
14
+ export declare function validateFrameworkSmokeResponse(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
15
+ instancePath?: string | undefined;
16
+ rootData?: any;
17
+ }): boolean;
18
+ export declare function validateMachineHealthResponse(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
19
+ instancePath?: string | undefined;
20
+ rootData?: any;
21
+ }): boolean;
22
+ export declare function validateExampleNoteResponse(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
23
+ instancePath?: string | undefined;
24
+ rootData?: any;
25
+ }): boolean;
26
+ export declare function validateExampleNoteListResponse(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
27
+ instancePath?: string | undefined;
28
+ rootData?: any;
29
+ }): boolean;
30
+ export declare function validateCreateNoteRequest(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
31
+ instancePath?: string | undefined;
32
+ rootData?: any;
33
+ }): boolean;
34
+ export declare function validateExampleTagResponse(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
35
+ instancePath?: string | undefined;
36
+ rootData?: any;
37
+ }): boolean;
38
+ export declare function validateExampleTagListResponse(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
39
+ instancePath?: string | undefined;
40
+ rootData?: any;
41
+ }): boolean;
42
+ export declare function validateCreateTagRequest(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
43
+ instancePath?: string | undefined;
44
+ rootData?: any;
45
+ }): boolean;
46
+ export declare function validateProtectedResponse(data: any, { instancePath, parentData, parentDataProperty, rootData }?: {
47
+ instancePath?: string | undefined;
48
+ rootData?: any;
49
+ }): boolean;
50
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/generated/guards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,wBAAgB,sBAAsB,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAmF/G;AAID,wBAAgB,2BAA2B,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAsDpH;AAID,wBAAgB,8BAA8B,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WA8DvH;AAID,wBAAgB,6BAA6B,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAmEtH;AAID,wBAAgB,2BAA2B,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WA0DpH;AAID,wBAAgB,+BAA+B,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WA+HxH;AAKD,wBAAgB,yBAAyB,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAwElH;AAID,wBAAgB,0BAA0B,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WA6CnH;AAID,wBAAgB,8BAA8B,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAkHvH;AAKD,wBAAgB,wBAAwB,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WA8CjH;AAID,wBAAgB,yBAAyB,CAAC,IAAI,KAAA,EAAE,EAAC,YAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAa,EAAC;;;CAAG,WAiDlH"}