@prdb/sdk 0.5.0 → 0.6.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.
package/README.md CHANGED
@@ -119,6 +119,78 @@ Kiota's own native response handler cannot serve this: it surfaces the raw
119
119
  comes back `undefined`. The option is the other half — the call returns its
120
120
  model as usual, and the status is on the option afterwards.
121
121
 
122
+ ## Reading the rate limit
123
+
124
+ Every metered response carries the rate limit it was counted against, so you can
125
+ pace off the answers you are already getting instead of spending a request on
126
+ `GET /rate-limit` to ask.
127
+
128
+ ```ts
129
+ import { RateLimitOption } from "@prdb/sdk";
130
+
131
+ const limits = new RateLimitOption();
132
+
133
+ const sites = await client.sites.get({ options: [limits] });
134
+
135
+ if (limits.hour && limits.hour.remaining < 50) {
136
+ // Slow down; limits.hour.resetInSeconds until a slot frees up.
137
+ }
138
+ ```
139
+
140
+ `hour` and `month` are each a `RateLimitWindow` with `limit`, `remaining` and
141
+ `resetInSeconds`, or `undefined`.
142
+
143
+ `resetInSeconds` is the wait until the oldest request leaves the sliding window
144
+ and frees **one** slot — not a timestamp, and not the time until the whole
145
+ window resets. It is the same quantity `resetsInSeconds` carries on
146
+ `GET /rate-limit`.
147
+
148
+ `undefined` is an answer rather than a gap. A response the API did not meter —
149
+ `401`, `403`, `503`, and `GET /rate-limit` itself — carries no headers at all,
150
+ and a `429` carries only the window that refused the request, so exactly one of
151
+ the two being set is normal. A rejected call records too, so the reading is
152
+ there for a caller that catches the error.
153
+
154
+ Kiota can also surface response headers itself, through
155
+ `HeadersInspectionOptions`, as raw multi-valued strings. This option is the
156
+ typed reading of the six that matter.
157
+
158
+ ## Conditional requests
159
+
160
+ `GET /sites` returns a weak `ETag` covering the matched rows and the paging,
161
+ sorting and search parameters. Send it back as `If-None-Match` and the endpoint
162
+ answers **304 Not Modified** with no body while nothing has changed — the whole
163
+ site list fits in one request at `pageSize: 1000`, so this is worth doing.
164
+
165
+ ```ts
166
+ import { HeadersInspectionOptions } from "@microsoft/kiota-http-fetchlibrary";
167
+ import { ResponseStatusOption } from "@prdb/sdk";
168
+
169
+ // First call: read the validator off the response.
170
+ const inspect = new HeadersInspectionOptions({ inspectResponseHeaders: true });
171
+ await client.sites.get({ options: [inspect] });
172
+ const [etag] = inspect.getResponseHeaders().get("etag") ?? [];
173
+
174
+ // Later: ask only for what changed.
175
+ const status = new ResponseStatusOption();
176
+ const sites = await client.sites.get({
177
+ headers: { "If-None-Match": etag },
178
+ options: [status],
179
+ });
180
+
181
+ if (status.statusCode === 304) {
182
+ // Nothing changed; keep the copy you already have.
183
+ }
184
+ ```
185
+
186
+ A `304` returns `undefined` from the typed call rather than rejecting.
187
+ `undefined` alone does not distinguish "not modified" from "no rows", so pass a
188
+ `ResponseStatusOption` when you need to tell them apart.
189
+
190
+ One wrinkle from the API side: the shared read-only cache does not vary by
191
+ `If-None-Match`, so a request that hits it is answered `200` with a body even
192
+ when your validator still matches. That is expected rather than an error.
193
+
122
194
  Use one instance per call. It is written when the response arrives, so sharing
123
195
  one across concurrent calls means whichever finishes last wins.
124
196
 
package/dist/index.d.ts CHANGED
@@ -79,6 +79,63 @@ export declare class ResponseStatusOption implements RequestOption {
79
79
  statusCode?: number;
80
80
  getKey(): string;
81
81
  }
82
+ /** Key the {@link RateLimitOption} travels under. */
83
+ export declare const RATE_LIMIT_OPTION_KEY = "prdb.rateLimit";
84
+ /** One rate-limiting window, as the API reported it on a response. */
85
+ export interface RateLimitWindow {
86
+ /** How many requests the window allows in total. */
87
+ readonly limit: number;
88
+ /** How many of them are left. */
89
+ readonly remaining: number;
90
+ /**
91
+ * Seconds until the oldest request leaves the sliding window and frees one
92
+ * slot — not a timestamp, and not the time until the whole window resets.
93
+ * The same quantity `resetsInSeconds` carries on `GET /rate-limit`.
94
+ */
95
+ readonly resetInSeconds: number;
96
+ }
97
+ /**
98
+ * Per-request option reporting the rate-limit state the API sent back.
99
+ *
100
+ * Every metered response carries its rate-limit headers, so a client can pace
101
+ * itself off the answers it is already getting instead of spending a request on
102
+ * `GET /rate-limit` to ask.
103
+ *
104
+ * Kiota can surface response headers through its own headers-inspection option,
105
+ * but as raw multi-valued strings that a caller has to find, pick apart and
106
+ * parse. This option is the typed form:
107
+ *
108
+ * ```ts
109
+ * const limits = new RateLimitOption();
110
+ *
111
+ * const sites = await client.sites.get({ options: [limits] });
112
+ *
113
+ * if (limits.hour && limits.hour.remaining < 50) {
114
+ * // Slow down; limits.hour.resetInSeconds until a slot frees up.
115
+ * }
116
+ * ```
117
+ *
118
+ * Use one instance per call: it is written when the response arrives, so
119
+ * sharing one across concurrent calls means whichever finishes last wins.
120
+ */
121
+ export declare class RateLimitOption implements RequestOption {
122
+ /**
123
+ * The hourly window, or `undefined` if the response carried no hourly
124
+ * headers.
125
+ */
126
+ hour?: RateLimitWindow;
127
+ /**
128
+ * The monthly window, or `undefined` if the response carried no monthly
129
+ * headers.
130
+ *
131
+ * Both are `undefined` for a response the API did not meter — `401`, `403`,
132
+ * `503` and `GET /rate-limit` itself — and for a call that never reached a
133
+ * response. A `429` carries only the window that refused it, so exactly one
134
+ * of the two being set is normal rather than a partial reading.
135
+ */
136
+ month?: RateLimitWindow;
137
+ getKey(): string;
138
+ }
82
139
  /**
83
140
  * How the SDK retries a request the API refused with 429, 503 or 504.
84
141
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAIN,KAAK,aAAa,EAClB,MAAM,+BAA+B,CAAC;AAavC,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE9E,yCAAyC;AACzC,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAEvD,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG,CACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,KACb,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACtC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAO/C;AAED,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IACzD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,IAAI,MAAM;CAGhB;AAsCD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,8EAA8E;AAC9E,eAAO,MAAM,cAAc,EAAE,YAAgC,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC7B,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAiB/D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,GAAE,sBAA2B,GAClC,UAAU,CAUZ;AAuKD,YAAY,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAIN,KAAK,aAAa,EAClB,MAAM,+BAA+B,CAAC;AAavC,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE9E,yCAAyC;AACzC,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAEvD,yEAAyE;AACzE,MAAM,MAAM,SAAS,GAAG,CACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,KACb,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACtC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAO/C;AAED,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,oBAAqB,YAAW,aAAa;IACzD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,IAAI,MAAM;CAGhB;AAED,qDAAqD;AACrD,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAEtD,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC/B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,eAAgB,YAAW,aAAa;IACpD;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC;IAExB,MAAM,IAAI,MAAM;CAGhB;AA4ED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,8EAA8E;AAC9E,eAAO,MAAM,cAAc,EAAE,YAAgC,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC7B,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,UAAU,CAiB/D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,GAAE,sBAA2B,GAClC,UAAU,CAUZ;AAuKD,YAAY,EAAE,UAAU,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -85,15 +85,85 @@ export class ResponseStatusOption {
85
85
  return RESPONSE_STATUS_OPTION_KEY;
86
86
  }
87
87
  }
88
+ /** Key the {@link RateLimitOption} travels under. */
89
+ export const RATE_LIMIT_OPTION_KEY = "prdb.rateLimit";
88
90
  /**
89
- * Records the response status into the {@link ResponseStatusOption} a request
90
- * carries.
91
+ * Per-request option reporting the rate-limit state the API sent back.
92
+ *
93
+ * Every metered response carries its rate-limit headers, so a client can pace
94
+ * itself off the answers it is already getting instead of spending a request on
95
+ * `GET /rate-limit` to ask.
96
+ *
97
+ * Kiota can surface response headers through its own headers-inspection option,
98
+ * but as raw multi-valued strings that a caller has to find, pick apart and
99
+ * parse. This option is the typed form:
100
+ *
101
+ * ```ts
102
+ * const limits = new RateLimitOption();
103
+ *
104
+ * const sites = await client.sites.get({ options: [limits] });
105
+ *
106
+ * if (limits.hour && limits.hour.remaining < 50) {
107
+ * // Slow down; limits.hour.resetInSeconds until a slot frees up.
108
+ * }
109
+ * ```
110
+ *
111
+ * Use one instance per call: it is written when the response arrives, so
112
+ * sharing one across concurrent calls means whichever finishes last wins.
113
+ */
114
+ export class RateLimitOption {
115
+ /**
116
+ * The hourly window, or `undefined` if the response carried no hourly
117
+ * headers.
118
+ */
119
+ hour;
120
+ /**
121
+ * The monthly window, or `undefined` if the response carried no monthly
122
+ * headers.
123
+ *
124
+ * Both are `undefined` for a response the API did not meter — `401`, `403`,
125
+ * `503` and `GET /rate-limit` itself — and for a call that never reached a
126
+ * response. A `429` carries only the window that refused it, so exactly one
127
+ * of the two being set is normal rather than a partial reading.
128
+ */
129
+ month;
130
+ getKey() {
131
+ return RATE_LIMIT_OPTION_KEY;
132
+ }
133
+ }
134
+ /**
135
+ * Read one window's three headers, or `undefined` if they are not all there.
136
+ *
137
+ * Deliberately lenient: rate-limit headers are metadata about a call that has
138
+ * already succeeded, so a missing or malformed one reports "no reading" rather
139
+ * than failing the call the caller actually made.
140
+ */
141
+ function readRateLimitWindow(headers, window) {
142
+ const values = [];
143
+ for (const name of ["Limit", "Remaining", "Reset"]) {
144
+ const raw = headers.get(`X-RateLimit-${name}-${window}`);
145
+ if (raw === null) {
146
+ return undefined;
147
+ }
148
+ // Number() rather than parseInt(): parseInt("12abc") is 12, which would
149
+ // turn a malformed header into a plausible-looking reading.
150
+ const value = Number(raw.trim());
151
+ if (!Number.isInteger(value)) {
152
+ return undefined;
153
+ }
154
+ values.push(value);
155
+ }
156
+ const [limit, remaining, resetInSeconds] = values;
157
+ return { limit, remaining, resetInSeconds };
158
+ }
159
+ /**
160
+ * Records response metadata into the options a request carries.
91
161
  *
92
162
  * Sits at the outer end of the SDK's pipeline, above the retry and redirect
93
163
  * handlers, so what it records is the response the caller's result is built
94
164
  * from rather than an attempt on the way there.
95
165
  */
96
- class ResponseStatusHandler {
166
+ class ResponseMetadataHandler {
97
167
  next;
98
168
  async execute(url, requestInit, requestOptions) {
99
169
  if (!this.next) {
@@ -103,9 +173,14 @@ class ResponseStatusHandler {
103
173
  // Matched by key rather than `instanceof`: the key is ours alone, and two
104
174
  // copies of this package in one dependency tree would still agree on it
105
175
  // where a class identity check would not.
106
- const option = requestOptions?.[RESPONSE_STATUS_OPTION_KEY];
107
- if (option) {
108
- option.statusCode = response.status;
176
+ const status = requestOptions?.[RESPONSE_STATUS_OPTION_KEY];
177
+ if (status) {
178
+ status.statusCode = response.status;
179
+ }
180
+ const limits = requestOptions?.[RATE_LIMIT_OPTION_KEY];
181
+ if (limits) {
182
+ limits.hour = readRateLimitWindow(response.headers, "Hour");
183
+ limits.month = readRateLimitWindow(response.headers, "Month");
109
184
  }
110
185
  return response;
111
186
  }
@@ -173,7 +248,7 @@ function buildHttpClient(customFetch, retry) {
173
248
  // First in the list is outermost, which puts it above the retry and redirect
174
249
  // handlers: the status it records is the one the caller's result was built
175
250
  // from, not that of an attempt on the way there.
176
- middlewares = [new ResponseStatusHandler(), ...middlewares];
251
+ middlewares = [new ResponseMetadataHandler(), ...middlewares];
177
252
  return KiotaClientFactory.create(customFetch, middlewares);
178
253
  }
179
254
  /**
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prdb/sdk",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "TypeScript SDK for the prdb Public API",
5
5
  "license": "MIT",
6
6
  "repository": {