qca-sdk 0.1.0-dev.4 → 0.2.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 +81 -13
- package/dist/core/api-promise.d.ts +8 -4
- package/dist/core/api-promise.d.ts.map +1 -1
- package/dist/core/api-promise.js +3 -1
- package/dist/core/api-promise.js.map +1 -1
- package/dist/core/client.d.ts +6 -1
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +68 -16
- package/dist/core/client.js.map +1 -1
- package/dist/core/credentials.d.ts.map +1 -1
- package/dist/core/credentials.js +1 -1
- package/dist/core/credentials.js.map +1 -1
- package/dist/core/detect-platform.d.ts +2 -0
- package/dist/core/detect-platform.d.ts.map +1 -0
- package/dist/core/detect-platform.js +46 -0
- package/dist/core/detect-platform.js.map +1 -0
- package/dist/core/error.d.ts +18 -16
- package/dist/core/error.d.ts.map +1 -1
- package/dist/core/error.js +23 -10
- package/dist/core/error.js.map +1 -1
- package/dist/core/pagination.d.ts +1 -1
- package/dist/core/pagination.d.ts.map +1 -1
- package/dist/core/pagination.js +5 -2
- package/dist/core/pagination.js.map +1 -1
- package/dist/core/resumable-session-event-stream.d.ts +34 -0
- package/dist/core/resumable-session-event-stream.d.ts.map +1 -0
- package/dist/core/resumable-session-event-stream.js +199 -0
- package/dist/core/resumable-session-event-stream.js.map +1 -0
- package/dist/core/streaming.d.ts +3 -0
- package/dist/core/streaming.d.ts.map +1 -1
- package/dist/core/streaming.js +16 -12
- package/dist/core/streaming.js.map +1 -1
- package/dist/esm/core/api-promise.d.ts +8 -4
- package/dist/esm/core/api-promise.d.ts.map +1 -1
- package/dist/esm/core/api-promise.js +3 -1
- package/dist/esm/core/api-promise.js.map +1 -1
- package/dist/esm/core/client.d.ts +6 -1
- package/dist/esm/core/client.d.ts.map +1 -1
- package/dist/esm/core/client.js +68 -16
- package/dist/esm/core/client.js.map +1 -1
- package/dist/esm/core/credentials.d.ts.map +1 -1
- package/dist/esm/core/credentials.js +1 -1
- package/dist/esm/core/credentials.js.map +1 -1
- package/dist/esm/core/detect-platform.d.ts +2 -0
- package/dist/esm/core/detect-platform.d.ts.map +1 -0
- package/dist/esm/core/detect-platform.js +43 -0
- package/dist/esm/core/detect-platform.js.map +1 -0
- package/dist/esm/core/error.d.ts +18 -16
- package/dist/esm/core/error.d.ts.map +1 -1
- package/dist/esm/core/error.js +23 -10
- package/dist/esm/core/error.js.map +1 -1
- package/dist/esm/core/pagination.d.ts +1 -1
- package/dist/esm/core/pagination.d.ts.map +1 -1
- package/dist/esm/core/pagination.js +5 -2
- package/dist/esm/core/pagination.js.map +1 -1
- package/dist/esm/core/resumable-session-event-stream.d.ts +34 -0
- package/dist/esm/core/resumable-session-event-stream.d.ts.map +1 -0
- package/dist/esm/core/resumable-session-event-stream.js +191 -0
- package/dist/esm/core/resumable-session-event-stream.js.map +1 -0
- package/dist/esm/core/streaming.d.ts +3 -0
- package/dist/esm/core/streaming.d.ts.map +1 -1
- package/dist/esm/core/streaming.js +16 -12
- package/dist/esm/core/streaming.js.map +1 -1
- package/dist/esm/forward/index.d.ts +1 -0
- package/dist/esm/forward/index.d.ts.map +1 -1
- package/dist/esm/forward/index.js +1 -0
- package/dist/esm/forward/index.js.map +1 -1
- package/dist/esm/forward/schedule.js +1 -1
- package/dist/esm/forward/schedule.js.map +1 -1
- package/dist/esm/forward/session-event.d.ts +3 -0
- package/dist/esm/forward/session-event.d.ts.map +1 -1
- package/dist/esm/forward/session-event.js +6 -0
- package/dist/esm/forward/session-event.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/managed/index.d.ts +1 -0
- package/dist/esm/managed/index.d.ts.map +1 -1
- package/dist/esm/managed/index.js +1 -0
- package/dist/esm/managed/index.js.map +1 -1
- package/dist/esm/managed/resources/session-event.d.ts +3 -0
- package/dist/esm/managed/resources/session-event.d.ts.map +1 -1
- package/dist/esm/managed/resources/session-event.js +8 -1
- package/dist/esm/managed/resources/session-event.js.map +1 -1
- package/dist/esm/managed/types.d.ts +4 -0
- package/dist/esm/managed/types.d.ts.map +1 -1
- package/dist/esm/version.d.ts +2 -0
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +7 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/forward/index.d.ts +1 -0
- package/dist/forward/index.d.ts.map +1 -1
- package/dist/forward/index.js +3 -1
- package/dist/forward/index.js.map +1 -1
- package/dist/forward/schedule.js +1 -1
- package/dist/forward/schedule.js.map +1 -1
- package/dist/forward/session-event.d.ts +3 -0
- package/dist/forward/session-event.d.ts.map +1 -1
- package/dist/forward/session-event.js +6 -0
- package/dist/forward/session-event.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/managed/index.d.ts +1 -0
- package/dist/managed/index.d.ts.map +1 -1
- package/dist/managed/index.js +3 -1
- package/dist/managed/index.js.map +1 -1
- package/dist/managed/resources/session-event.d.ts +3 -0
- package/dist/managed/resources/session-event.d.ts.map +1 -1
- package/dist/managed/resources/session-event.js +8 -1
- package/dist/managed/resources/session-event.js.map +1 -1
- package/dist/managed/types.d.ts +4 -0
- package/dist/managed/types.d.ts.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +10 -0
- package/dist/version.js.map +1 -0
- package/package.json +7 -2
package/README.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Qoder Cloud Agents TypeScript SDK
|
|
2
2
|
|
|
3
|
+
[Changelog](CHANGELOG.md) · [Releases](https://github.com/QoderAI/qoder-cloud-agents-sdk-ts/releases)
|
|
4
|
+
|
|
3
5
|
[](https://npmjs.org/package/qca-sdk)
|
|
4
6
|
|
|
5
7
|
> [!IMPORTANT]
|
|
6
|
-
> This SDK is in preview.
|
|
8
|
+
> This SDK is in preview. It is pre-1.0, so the API surface may still change between releases.
|
|
7
9
|
|
|
8
10
|
TypeScript and JavaScript library for the Qoder Cloud Agents API. It provides typed access to the Forward and Managed APIs, ships CommonJS, ES modules and strict TypeScript types, and has no third-party runtime dependencies.
|
|
9
11
|
|
|
@@ -23,7 +25,7 @@ The library exposes two clients, one per API. Both are constructed the same way
|
|
|
23
25
|
import { ForwardClient } from 'qca-sdk';
|
|
24
26
|
|
|
25
27
|
const client = new ForwardClient({
|
|
26
|
-
|
|
28
|
+
pat: process.env.QODER_PAT, // this is the default and can be omitted
|
|
27
29
|
});
|
|
28
30
|
|
|
29
31
|
const session = await client.sessions.create({
|
|
@@ -75,7 +77,7 @@ import ForwardClient from 'qca-sdk/forward';
|
|
|
75
77
|
|
|
76
78
|
### Configuration
|
|
77
79
|
|
|
78
|
-
`
|
|
80
|
+
`pat` accepts a string or a function returning a string or a promise, which is re-resolved before every request attempt — useful for short-lived tokens. A `Credential` object can be supplied instead; `PATCredential.fromEnv()` reads `QODER_PAT`.
|
|
79
81
|
|
|
80
82
|
The base URL comes from `QODER_FORWARD_BASE_URL` for Forward and `QODER_BASE_URL` for Managed, defaulting to `https://api.qoder.com/api/v1/forward` and `https://api.qoder.com/api/v1/cloud`. Explicit constructor options always win.
|
|
81
83
|
|
|
@@ -121,7 +123,7 @@ for await (const event of stream) {
|
|
|
121
123
|
|
|
122
124
|
The stream can be ended early with `stream.controller.abort()` or `await stream.close()`. Ping frames are skipped, delta frames that share an ID are preserved, unknown event types are passed through, and an error event throws an `APIError`.
|
|
123
125
|
|
|
124
|
-
`stream.lastEventID` holds the ID of the most recent event. Pass it back as `last_event_id` to resume where you stopped
|
|
126
|
+
`stream.lastEventID` holds the ID of the most recent event. Pass it back as `last_event_id` to resume a one-shot stream where you stopped:
|
|
125
127
|
|
|
126
128
|
```ts
|
|
127
129
|
const resumed = await client.sessions.events.streamEvents(session.id, {
|
|
@@ -129,6 +131,21 @@ const resumed = await client.sessions.events.streamEvents(session.id, {
|
|
|
129
131
|
});
|
|
130
132
|
```
|
|
131
133
|
|
|
134
|
+
For automatic reconnection, use the handwritten upper-layer resumable stream. It preserves the stream parameters and request options on every connection, checkpoints each fully decoded frame, and sends the latest cursor as `Last-Event-ID` after transport failures, timeouts, or unexpected EOF. Reconnects use abortable jittered exponential backoff. The retry status policy matches ordinary QCA requests: 408, 429, and 5xx are retryable, while 409 is not.
|
|
135
|
+
|
|
136
|
+
```ts
|
|
137
|
+
const stream = client.sessions.events.resumableStream(session.id, {
|
|
138
|
+
last_event_id: previousEventID,
|
|
139
|
+
'event_deltas[]': ['agent.message'], // Managed uses event_deltas
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
for await (const event of stream) {
|
|
143
|
+
console.log(event.type, stream.lastEventID);
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
The resumable stream does not query event history, clear an invalid cursor, or deduplicate IDs: delta frames may legitimately share an event ID. It stops after `[DONE]`, `session.status_terminated`, or `session.deleted`. Stop it early with `stream.controller.abort()`, an `AbortSignal` in `RequestOptions`, or `await stream.close()`.
|
|
148
|
+
|
|
132
149
|
## File uploads
|
|
133
150
|
|
|
134
151
|
File parameters accept a `File`, a `Blob`, a byte array, a `Response`, a `ReadableStream` or an async iterable — including a Node file stream. `toFile` wraps any of those with an explicit filename.
|
|
@@ -167,18 +184,20 @@ const bytes = new Uint8Array(await download.arrayBuffer());
|
|
|
167
184
|
|
|
168
185
|
## Handling errors
|
|
169
186
|
|
|
170
|
-
|
|
187
|
+
`APIError` covers HTTP failures, connection failures, exhausted timeouts, and caller cancellation. HTTP errors carry `status`, `headers`, `code`, `type`, `request_id`, the parsed error payload, and the underlying `request` and `response`.
|
|
171
188
|
|
|
172
189
|
```ts
|
|
173
|
-
import { APIError, NotFoundError } from 'qca-sdk';
|
|
190
|
+
import { APIError, APIUserAbortError, NotFoundError } from 'qca-sdk';
|
|
174
191
|
|
|
175
192
|
try {
|
|
176
193
|
await client.sessions.retrieve('sess_missing');
|
|
177
194
|
} catch (error) {
|
|
178
|
-
if (error instanceof
|
|
195
|
+
if (error instanceof APIUserAbortError) {
|
|
196
|
+
console.log('Request cancelled');
|
|
197
|
+
} else if (error instanceof NotFoundError) {
|
|
179
198
|
console.log(error.status, error.code, error.request_id);
|
|
180
199
|
} else if (error instanceof APIError) {
|
|
181
|
-
console.log(error.status, error.message);
|
|
200
|
+
console.log(error.status ?? 'No HTTP response', error.message, error.headers?.get('x-request-id'));
|
|
182
201
|
} else {
|
|
183
202
|
throw error;
|
|
184
203
|
}
|
|
@@ -196,11 +215,20 @@ try {
|
|
|
196
215
|
| 429 | `RateLimitError` |
|
|
197
216
|
| >=500 | `InternalServerError` |
|
|
198
217
|
|
|
199
|
-
Connection failures throw `APIConnectionError`, an exhausted timeout throws `APIConnectionTimeoutError
|
|
218
|
+
Connection failures throw `APIConnectionError`, an exhausted timeout throws `APIConnectionTimeoutError` (a subclass of `APIConnectionError`), and aborting through your own signal throws `APIUserAbortError`. All three inherit from `APIError`, matching Anthropic's TypeScript SDK. They have no HTTP response: `status`, `headers`, `error`, and `response` are `undefined`, and `request_id`/`requestID` are `null`. Guard these fields when handling a general `APIError`; HTTP-specific subclasses such as `NotFoundError` retain typed status codes and `Headers`.
|
|
219
|
+
|
|
220
|
+
Error constructors continue to accept `(message, { cause })`. Client-side configuration errors such as an unsupported `baseURL` scheme or a negative `maxRetries` remain `QoderError` instances outside `APIError`. `QoderError` is the SDK error base class.
|
|
200
221
|
|
|
201
222
|
### Request IDs
|
|
202
223
|
|
|
203
|
-
|
|
224
|
+
Ordinary JSON object responses expose `_request_id` directly, matching Anthropic's TypeScript SDK. Its value comes from `x-request-id`, falling back to `request-id`, and is `null` when neither header is present. The property is non-enumerable, so `JSON.stringify()`, `Object.keys()`, and object spread omit it. Include this ID when reporting a problem.
|
|
225
|
+
|
|
226
|
+
```ts
|
|
227
|
+
const result = await client.sessions.retrieve(session.id);
|
|
228
|
+
console.log(result._request_id);
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Errors expose `request_id`. Use `withResponse()` to get the request ID alongside the data and raw response, including for pagination, SSE, and downloads. Array elements, nested objects, and individual stream events do not receive request metadata.
|
|
204
232
|
|
|
205
233
|
```ts
|
|
206
234
|
const { data, request_id } = await client.sessions.retrieve(session.id).withResponse();
|
|
@@ -208,7 +236,9 @@ const { data, request_id } = await client.sessions.retrieve(session.id).withResp
|
|
|
208
236
|
|
|
209
237
|
## Retries
|
|
210
238
|
|
|
211
|
-
Connection errors, timeouts, 408, 429 and 5xx responses are retried twice by default with exponential backoff and jitter. Only replayable requests are eligible: `GET` and `HEAD`, plus any request sent with an idempotency key. Writes without an idempotency key are retried on 429 only, 409 is never retried, and a request whose body is a `ReadableStream` is never replayed because the body cannot be re-read.
|
|
239
|
+
Connection errors, timeouts, 408, 429 and 5xx responses are retried twice by default with exponential backoff and jitter. Only replayable requests are eligible: `GET` and `HEAD`, plus any request sent with an idempotency key. Writes without an idempotency key are retried on 429 only, 409 is never retried, and a request whose body is a `ReadableStream` is never replayed because the body cannot be re-read. Within these safety rules, `x-should-retry` controls whether to retry, and `retry-after-ms` or `retry-after` controls the delay.
|
|
240
|
+
|
|
241
|
+
Server-requested delays must be positive and no greater than `2 ** 31 - 1` milliseconds (the single-timer limit). Zero, negative, invalid, and over-limit values fall back to exponential backoff. `retry-after-ms` takes precedence; if it is missing, unparseable, or zero, the SDK checks `retry-after`, which accepts seconds or an HTTP date. These rules match Anthropic's TypeScript SDK.
|
|
212
242
|
|
|
213
243
|
```ts
|
|
214
244
|
const client = new ForwardClient({ maxRetries: 0 }); // disable retries
|
|
@@ -217,6 +247,17 @@ await client.sessions.create(params, { maxRetries: 5, idempotencyKey: 'my-key' }
|
|
|
217
247
|
|
|
218
248
|
Each attempt re-resolves the credential and sends an `X-Qoder-Retry-Count` header.
|
|
219
249
|
|
|
250
|
+
## Reusing client configuration
|
|
251
|
+
|
|
252
|
+
`withOptions()` creates a new client of the same type and retains options you do not override, including authentication, custom `fetch`, middleware, and the resolved base URL. The original client keeps its configuration.
|
|
253
|
+
|
|
254
|
+
```ts
|
|
255
|
+
const slowClient = client.withOptions({ timeout: 60_000, maxRetries: 1 });
|
|
256
|
+
await slowClient.sessions.list({});
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Supplied `defaultHeaders`, `defaultQuery`, and `middleware` replace their entire corresponding option rather than merging with it, matching Anthropic. Per-request options still override the derived client's defaults. Authentication follows the constructor's precedence: to switch from an inherited credential provider to a PAT, pass `{ credential: undefined, pat: 'new-token' }`.
|
|
260
|
+
|
|
220
261
|
## Timeouts
|
|
221
262
|
|
|
222
263
|
Requests time out after 10 minutes by default and are then retried according to the rules above. Configure the client default or override per request:
|
|
@@ -226,12 +267,33 @@ const client = new ForwardClient({ timeout: 20 * 1000 });
|
|
|
226
267
|
await client.sessions.list({}, { timeout: 5 * 1000 });
|
|
227
268
|
```
|
|
228
269
|
|
|
229
|
-
|
|
270
|
+
The timeout applies to each underlying `fetch` call, matching Anthropic's TypeScript SDK. Its timer starts immediately before `fetch` and is cleared when a response arrives, before the body is read. Credential resolution and middleware are outside this timer; each `next()` call that reaches `fetch` starts a new timer. SSE streams and downloads can therefore continue beyond the configured timeout after response headers arrive.
|
|
271
|
+
|
|
272
|
+
Pass `signal` to cancel the whole operation, including middleware, retries, and response-body reads. Use `AbortSignal.timeout(...)` when you also need a total deadline for an SSE subscription or download:
|
|
230
273
|
|
|
231
274
|
```ts
|
|
232
275
|
await client.sessions.list({}, { signal: AbortSignal.timeout(5_000) });
|
|
233
276
|
```
|
|
234
277
|
|
|
278
|
+
## Client fingerprint
|
|
279
|
+
|
|
280
|
+
Every API request identifies the client so the service can tell which SDK versions are in use before changing a response shape:
|
|
281
|
+
|
|
282
|
+
| Header | Value |
|
|
283
|
+
| --- | --- |
|
|
284
|
+
| `User-Agent` | `qca-js/<version>` |
|
|
285
|
+
| `X-Qoder-Lang` | `js` |
|
|
286
|
+
| `X-Qoder-Package-Version` | the published package version, also exported as `VERSION` |
|
|
287
|
+
| `X-Qoder-OS` / `X-Qoder-Arch` | normalized platform, e.g. `MacOS` / `arm64` |
|
|
288
|
+
| `X-Qoder-Runtime` / `X-Qoder-Runtime-Version` | `node` and its version |
|
|
289
|
+
| `X-Qoder-Retry-Count` / `X-Qoder-Timeout` | attempt number, and the request deadline in seconds |
|
|
290
|
+
|
|
291
|
+
The signed-URL leg of a file download carries none of these, so nothing is disclosed to object storage. Any of them can be replaced:
|
|
292
|
+
|
|
293
|
+
```ts
|
|
294
|
+
const client = new ForwardClient({ defaultHeaders: { 'User-Agent': 'my-app/2.1' } });
|
|
295
|
+
```
|
|
296
|
+
|
|
235
297
|
## Auto-pagination
|
|
236
298
|
|
|
237
299
|
List methods return an async-iterable page. Iterating the result fetches subsequent pages as needed, carrying your filter parameters forward.
|
|
@@ -250,7 +312,7 @@ console.log(page.data.length);
|
|
|
250
312
|
|
|
251
313
|
if (page.hasNextPage()) {
|
|
252
314
|
const next = await page.getNextPage();
|
|
253
|
-
console.log(next
|
|
315
|
+
console.log(next.data);
|
|
254
316
|
}
|
|
255
317
|
|
|
256
318
|
for await (const p of page.iterPages()) {
|
|
@@ -258,6 +320,8 @@ for await (const p of page.iterPages()) {
|
|
|
258
320
|
}
|
|
259
321
|
```
|
|
260
322
|
|
|
323
|
+
Call `hasNextPage()` before manually calling `getNextPage()`. Matching Anthropic's TypeScript SDK, `getNextPage()` returns a page or throws `QoderError` when no next page exists; it no longer returns `null`. Migrate loops that use a `null` next page as their stopping condition to `hasNextPage()` or async iteration. Both `for await` and `iterPages()` stop normally at the last page.
|
|
324
|
+
|
|
261
325
|
Cursor style follows the operation: ID cursors use `after_id` and `before_id`, opaque cursors use `next_page` fed back as `page`. Auto-pagination stops with an error if a cursor fails to advance, rather than looping forever.
|
|
262
326
|
|
|
263
327
|
## Advanced usage
|
|
@@ -306,6 +370,10 @@ Neither hook is applied to file downloads, which deliberately bypass the client
|
|
|
306
370
|
|
|
307
371
|
Node.js 20.12 or later. The SDK relies only on the platform's `fetch`, `Request`, `Response`, `Headers`, `AbortController`, `Blob` and `File` — any runtime providing those, and a `fetch` you can inject if not, should work. Deno, Bun, Cloudflare Workers and Vercel Edge are not part of the test matrix.
|
|
308
372
|
|
|
373
|
+
## Documentation
|
|
374
|
+
|
|
375
|
+
The API reference under `docs/api/` is generated from the source. Regenerate it with `make docs` (or `npm run docs`). To verify the committed reference is up to date and the README snippets still compile, run `make docs-check` (or `npm run docs:check`); CI runs the same gate on every pull request.
|
|
376
|
+
|
|
309
377
|
## License
|
|
310
378
|
|
|
311
379
|
Released under the [MIT License](LICENSE).
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import type { Page } from './pagination.js';
|
|
2
|
+
export type WithRequestID<T> = T extends Array<any> | Response | Page<any> ? T : T extends Record<string, any> ? T & {
|
|
3
|
+
_request_id?: string | null;
|
|
4
|
+
} : T;
|
|
1
5
|
/** Response helpers follow anthropic-sdk-typescript's lazy parsing contract. */
|
|
2
|
-
export declare class APIPromise<T> extends Promise<T
|
|
6
|
+
export declare class APIPromise<T> extends Promise<WithRequestID<T>> {
|
|
3
7
|
private readonly responsePromise;
|
|
4
8
|
private readonly parseResponse;
|
|
5
9
|
private parsed?;
|
|
@@ -12,8 +16,8 @@ export declare class APIPromise<T> extends Promise<T> {
|
|
|
12
16
|
request_id: string | null;
|
|
13
17
|
}>;
|
|
14
18
|
private parse;
|
|
15
|
-
then<TResult1 = T
|
|
16
|
-
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<T | TResult>;
|
|
17
|
-
finally(onfinally?: (() => void) | null): Promise<T
|
|
19
|
+
then<TResult1 = WithRequestID<T>, TResult2 = never>(onfulfilled?: ((value: WithRequestID<T>) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null): Promise<TResult1 | TResult2>;
|
|
20
|
+
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null): Promise<WithRequestID<T> | TResult>;
|
|
21
|
+
finally(onfinally?: (() => void) | null): Promise<WithRequestID<T>>;
|
|
18
22
|
}
|
|
19
23
|
//# sourceMappingURL=api-promise.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-promise.d.ts","sourceRoot":"","sources":["../../src/core/api-promise.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"api-promise.d.ts","sourceRoot":"","sources":["../../src/core/api-promise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GACnE,CAAC,CAAC;AAEN,gFAAgF;AAChF,qBAAa,UAAU,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAIxD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJhC,OAAO,CAAC,MAAM,CAAC,CAA4B;gBAGxB,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,EAClC,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAO5E,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAoB;IACrE,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC;IAEzB,YAAY,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAKzF,OAAO,CAAC,KAAK;IAIJ,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,KAAK,EACzD,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,EACpF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GACtE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEtB,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAIlI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;CAC7E"}
|
package/dist/core/api-promise.js
CHANGED
|
@@ -19,7 +19,9 @@ class APIPromise extends Promise {
|
|
|
19
19
|
const [data, response] = await Promise.all([this.parse(), this.asResponse()]);
|
|
20
20
|
return { data, response, request_id: response.headers.get('x-request-id') ?? response.headers.get('request-id') };
|
|
21
21
|
}
|
|
22
|
-
parse() {
|
|
22
|
+
parse() {
|
|
23
|
+
return this.parsed ??= this.responsePromise.then(this.parseResponse);
|
|
24
|
+
}
|
|
23
25
|
then(onfulfilled, onrejected) { return this.parse().then(onfulfilled, onrejected); }
|
|
24
26
|
catch(onrejected) {
|
|
25
27
|
return this.parse().catch(onrejected);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-promise.js","sourceRoot":"","sources":["../../src/core/api-promise.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"api-promise.js","sourceRoot":"","sources":["../../src/core/api-promise.ts"],"names":[],"mappings":";;;AAOA,gFAAgF;AAChF,MAAa,UAAc,SAAQ,OAAyB;IAIvC;IACA;IAJX,MAAM,CAA6B;IAE3C,YACmB,eAAkC,EAClC,aAAyD;QAE1E,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAA6B,CAAC,CAAC,CAAC;QAH1C,oBAAe,GAAf,eAAe,CAAmB;QAClC,kBAAa,GAAb,aAAa,CAA4C;QAG1E,qEAAqE;QACrE,KAAK,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAyB,OAAO,OAAO,CAAC,CAAC,CAAC;IACrE,UAAU,KAAwB,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAEhE,KAAK,CAAC,YAAY;QAChB,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IACpH,CAAC;IAEO,KAAK;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAA8B,CAAC;IACpG,CAAC;IAEQ,IAAI,CACX,WAAoF,EACpF,UAAuE,IACvC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAE7E,KAAK,CAAkB,UAAqE;QACnG,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAEQ,OAAO,CAAC,SAA+B,IAA+B,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CACzH;AAlCD,gCAkCC"}
|
package/dist/core/client.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { PagePromise, type PaginationMode } from './pagination.js';
|
|
|
4
4
|
export type HeadersLike = HeadersInit | Record<string, string | null | undefined>;
|
|
5
5
|
export type Middleware = (request: Request, next: (request: Request) => Promise<Response>) => Promise<Response>;
|
|
6
6
|
export interface ClientOptions {
|
|
7
|
-
|
|
7
|
+
pat?: string | (() => string | Promise<string>);
|
|
8
8
|
credential?: Credential;
|
|
9
9
|
baseURL?: string;
|
|
10
10
|
fetch?: typeof globalThis.fetch;
|
|
@@ -35,12 +35,17 @@ export declare class APIClient {
|
|
|
35
35
|
readonly baseURL: string;
|
|
36
36
|
readonly maxRetries: number;
|
|
37
37
|
readonly timeout: number;
|
|
38
|
+
readonly defaultHeaders: HeadersLike | undefined;
|
|
38
39
|
protected readonly options: ClientOptions;
|
|
39
40
|
private readonly fetchImpl;
|
|
40
41
|
private readonly controllers;
|
|
41
42
|
constructor(options?: ClientOptions, mode?: 'forward' | 'managed');
|
|
43
|
+
/** Create a client of the same type, replacing supplied options and retaining the rest. */
|
|
44
|
+
withOptions(options: Partial<ClientOptions>): this;
|
|
42
45
|
private validateOptions;
|
|
46
|
+
protected validateHeaders(headers: Headers): void;
|
|
43
47
|
request<T>(options: APIRequestOptions): APIPromise<T>;
|
|
48
|
+
private parseJSONResponse;
|
|
44
49
|
getAPIList<T>(path: string, query?: object, options?: RequestOptions, pagination?: PaginationMode): PagePromise<T>;
|
|
45
50
|
/** Resolve the API grant, then send a separate request without API credentials or headers. */
|
|
46
51
|
downloadFile(path: string, options?: RequestOptions): APIPromise<Response>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,UAAU,EAAW,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAQ,WAAW,EAAqB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
|
package/dist/core/client.js
CHANGED
|
@@ -8,6 +8,8 @@ const credentials_js_1 = require("./credentials.js");
|
|
|
8
8
|
const error_js_1 = require("./error.js");
|
|
9
9
|
const pagination_js_1 = require("./pagination.js");
|
|
10
10
|
const streaming_js_1 = require("./streaming.js");
|
|
11
|
+
const version_js_1 = require("../version.js");
|
|
12
|
+
const detect_platform_js_1 = require("./detect-platform.js");
|
|
11
13
|
function mergeHeaders(...sources) {
|
|
12
14
|
const headers = new Headers();
|
|
13
15
|
for (const source of sources) {
|
|
@@ -78,12 +80,14 @@ class APIClient {
|
|
|
78
80
|
baseURL;
|
|
79
81
|
maxRetries;
|
|
80
82
|
timeout;
|
|
83
|
+
defaultHeaders;
|
|
81
84
|
options;
|
|
82
85
|
fetchImpl;
|
|
83
86
|
controllers = new WeakMap();
|
|
84
87
|
constructor(options = {}, mode = 'managed') {
|
|
85
88
|
this.mode = mode;
|
|
86
89
|
this.options = { ...options };
|
|
90
|
+
this.defaultHeaders = options.defaultHeaders;
|
|
87
91
|
this.baseURL = (options.baseURL ?? (0, credentials_js_1.readEnv)(mode === 'forward' ? 'QODER_FORWARD_BASE_URL' : 'QODER_BASE_URL')
|
|
88
92
|
?? `https://api.qoder.com/api/v1/${mode === 'forward' ? 'forward' : 'cloud'}`).replace(/\/+$/, '');
|
|
89
93
|
const url = new URL(this.baseURL);
|
|
@@ -96,12 +100,30 @@ class APIClient {
|
|
|
96
100
|
if (!this.fetchImpl)
|
|
97
101
|
throw new error_js_1.QoderError('A fetch implementation is required');
|
|
98
102
|
}
|
|
103
|
+
/** Create a client of the same type, replacing supplied options and retaining the rest. */
|
|
104
|
+
withOptions(options) {
|
|
105
|
+
const Client = this.constructor;
|
|
106
|
+
return new Client({
|
|
107
|
+
...this.options,
|
|
108
|
+
baseURL: this.baseURL,
|
|
109
|
+
maxRetries: this.maxRetries,
|
|
110
|
+
timeout: this.timeout,
|
|
111
|
+
fetch: this.fetchImpl,
|
|
112
|
+
...options,
|
|
113
|
+
}, this.mode);
|
|
114
|
+
}
|
|
99
115
|
validateOptions(retries, timeout) {
|
|
100
116
|
if (!Number.isInteger(retries) || retries < 0)
|
|
101
117
|
throw new error_js_1.QoderError('maxRetries must be a non-negative integer');
|
|
102
118
|
if (!Number.isFinite(timeout) || timeout < 0)
|
|
103
119
|
throw new error_js_1.QoderError('timeout must be a non-negative number');
|
|
104
120
|
}
|
|
121
|
+
validateHeaders(headers) {
|
|
122
|
+
if (headers.get('authorization')) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
throw new Error('Could not resolve authentication method. Expected one of pat or credential to be set, or the QODER_PAT environment variable to be configured.');
|
|
126
|
+
}
|
|
105
127
|
request(options) {
|
|
106
128
|
return new api_promise_js_1.APIPromise(this.execute(options), async (response) => {
|
|
107
129
|
if (options.responseType === 'response' || options.responseType === 'binary')
|
|
@@ -112,12 +134,22 @@ class APIClient {
|
|
|
112
134
|
await response.body?.cancel();
|
|
113
135
|
return undefined;
|
|
114
136
|
}
|
|
115
|
-
return
|
|
137
|
+
return this.parseJSONResponse(response);
|
|
116
138
|
});
|
|
117
139
|
}
|
|
140
|
+
async parseJSONResponse(response) {
|
|
141
|
+
const data = await response.json();
|
|
142
|
+
if (data !== null && typeof data === 'object' && !Array.isArray(data)) {
|
|
143
|
+
Object.defineProperty(data, '_request_id', {
|
|
144
|
+
value: response.headers.get('x-request-id') ?? response.headers.get('request-id'),
|
|
145
|
+
enumerable: false,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
return data;
|
|
149
|
+
}
|
|
118
150
|
getAPIList(path, query = {}, options = {}, pagination = this.mode === 'forward' ? 'cursor' : 'page') {
|
|
119
151
|
const merged = { ...this.options.defaultQuery, ...query, ...options.query };
|
|
120
|
-
return new pagination_js_1.PagePromise(this.execute({ ...options, method: 'GET', path, query: merged }), async (response) => new pagination_js_1.Page(this, response, await
|
|
152
|
+
return new pagination_js_1.PagePromise(this.execute({ ...options, method: 'GET', path, query: merged }), async (response) => new pagination_js_1.Page(this, response, await this.parseJSONResponse(response), path, merged, { ...options, query: undefined }, pagination));
|
|
121
153
|
}
|
|
122
154
|
/** Resolve the API grant, then send a separate request without API credentials or headers. */
|
|
123
155
|
downloadFile(path, options = {}) {
|
|
@@ -145,18 +177,23 @@ class APIClient {
|
|
|
145
177
|
return response.status === 429 || response.status === 408 || response.status >= 500;
|
|
146
178
|
}
|
|
147
179
|
retryDelay(response, attempt) {
|
|
180
|
+
let delay;
|
|
148
181
|
if (response) {
|
|
149
182
|
const ms = response.headers.get('retry-after-ms');
|
|
150
|
-
if (ms
|
|
151
|
-
|
|
183
|
+
if (ms) {
|
|
184
|
+
const parsed = parseFloat(ms);
|
|
185
|
+
if (!Number.isNaN(parsed))
|
|
186
|
+
delay = parsed;
|
|
187
|
+
}
|
|
152
188
|
const after = response.headers.get('retry-after');
|
|
153
|
-
if (after) {
|
|
154
|
-
const seconds =
|
|
155
|
-
|
|
156
|
-
if (Number.isFinite(delay) && delay >= 0)
|
|
157
|
-
return delay;
|
|
189
|
+
if (after && !delay) {
|
|
190
|
+
const seconds = parseFloat(after);
|
|
191
|
+
delay = Number.isNaN(seconds) ? Date.parse(after) - Date.now() : seconds * 1000;
|
|
158
192
|
}
|
|
159
193
|
}
|
|
194
|
+
// Values above the timer limit become a 1 ms delay in Node.js.
|
|
195
|
+
if (delay !== undefined && delay > 0 && delay <= 2 ** 31 - 1)
|
|
196
|
+
return delay;
|
|
160
197
|
return Math.min(500 * 2 ** attempt, 8000) * (1 - Math.random() * 0.25);
|
|
161
198
|
}
|
|
162
199
|
async execute(options, storage = false) {
|
|
@@ -174,7 +211,12 @@ class APIClient {
|
|
|
174
211
|
}
|
|
175
212
|
const method = options.method.toUpperCase();
|
|
176
213
|
const value = await withSignal(Promise.resolve(options.body), callerSignal, () => false);
|
|
177
|
-
const headers = storage ? new Headers() : mergeHeaders({
|
|
214
|
+
const headers = storage ? new Headers() : mergeHeaders({
|
|
215
|
+
Accept: options.responseType === 'stream' ? 'text/event-stream' : 'application/json',
|
|
216
|
+
'User-Agent': `qca-js/${version_js_1.VERSION}`,
|
|
217
|
+
...(0, detect_platform_js_1.platformHeaders)(),
|
|
218
|
+
...(timeout ? { 'X-Qoder-Timeout': String(Math.trunc(timeout / 1000)) } : {}),
|
|
219
|
+
}, this.options.defaultHeaders, options.headers);
|
|
178
220
|
if (options.idempotencyKey !== undefined)
|
|
179
221
|
headers.set('Idempotency-Key', options.idempotencyKey);
|
|
180
222
|
let body;
|
|
@@ -200,8 +242,7 @@ class APIClient {
|
|
|
200
242
|
onAbort();
|
|
201
243
|
else
|
|
202
244
|
callerSignal.addEventListener('abort', onAbort, { once: true });
|
|
203
|
-
const
|
|
204
|
-
const cleanup = () => { clearTimeout(timer); callerSignal.removeEventListener('abort', onAbort); };
|
|
245
|
+
const cleanup = () => callerSignal.removeEventListener('abort', onAbort);
|
|
205
246
|
const signal = controller.signal;
|
|
206
247
|
let handedOff = false;
|
|
207
248
|
let retryDelay;
|
|
@@ -213,11 +254,12 @@ class APIClient {
|
|
|
213
254
|
attemptHeaders.set('X-Qoder-Retry-Count', String(attempt));
|
|
214
255
|
if (!attemptHeaders.has('authorization')) {
|
|
215
256
|
const credential = this.options.credential;
|
|
216
|
-
const configured = this.options.
|
|
217
|
-
const token = await withSignal(Promise.resolve(credential ? credential.getToken() : typeof configured === 'function' ? configured() : configured ?? (0, credentials_js_1.readEnv)('
|
|
257
|
+
const configured = this.options.pat;
|
|
258
|
+
const token = await withSignal(Promise.resolve(credential ? credential.getToken() : typeof configured === 'function' ? configured() : configured ?? (0, credentials_js_1.readEnv)('QODER_PAT')), signal, () => timedOut);
|
|
218
259
|
if (token)
|
|
219
260
|
attemptHeaders.set('Authorization', `Bearer ${token}`);
|
|
220
261
|
}
|
|
262
|
+
this.validateHeaders(attemptHeaders);
|
|
221
263
|
}
|
|
222
264
|
let response;
|
|
223
265
|
try {
|
|
@@ -225,13 +267,23 @@ class APIClient {
|
|
|
225
267
|
if (body instanceof ReadableStream)
|
|
226
268
|
init.duplex = 'half';
|
|
227
269
|
const middleware = storage ? [] : this.options.middleware ?? [];
|
|
270
|
+
// Each underlying fetch has its own deadline; middleware and body reads are outside it.
|
|
271
|
+
const timedFetch = async (input, fetchInit) => {
|
|
272
|
+
const timer = timeout ? setTimeout(() => { timedOut = true; controller.abort(); }, timeout) : undefined;
|
|
273
|
+
try {
|
|
274
|
+
return await withSignal(this.fetchImpl.call(undefined, input, fetchInit), signal, () => timedOut);
|
|
275
|
+
}
|
|
276
|
+
finally {
|
|
277
|
+
clearTimeout(timer);
|
|
278
|
+
}
|
|
279
|
+
};
|
|
228
280
|
let fetchPromise;
|
|
229
281
|
if (middleware.length) {
|
|
230
|
-
const next = middleware.reduceRight((next, handler) => request => handler(request, next), request =>
|
|
282
|
+
const next = middleware.reduceRight((next, handler) => request => handler(request, next), request => timedFetch(request));
|
|
231
283
|
fetchPromise = next(new Request(url, init));
|
|
232
284
|
}
|
|
233
285
|
else
|
|
234
|
-
fetchPromise =
|
|
286
|
+
fetchPromise = timedFetch(url.toString(), init);
|
|
235
287
|
response = await withSignal(fetchPromise, signal, () => timedOut);
|
|
236
288
|
if (!(response instanceof Response))
|
|
237
289
|
throw new Error('fetch returned no Response');
|
package/dist/core/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/core/credentials.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD;AAED,qBAAa,aAAc,YAAW,UAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAI1C,MAAM,CAAC,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/core/credentials.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,QAAQ,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAExD;AAED,qBAAa,aAAc,YAAW,UAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAI1C,MAAM,CAAC,OAAO,CAAC,IAAI,SAAc,GAAG,aAAa;IAIjD,QAAQ,IAAI,MAAM;CACnB"}
|
package/dist/core/credentials.js
CHANGED
|
@@ -12,7 +12,7 @@ class PATCredential {
|
|
|
12
12
|
if (!token)
|
|
13
13
|
throw new Error('PAT must not be empty');
|
|
14
14
|
}
|
|
15
|
-
static fromEnv(name = '
|
|
15
|
+
static fromEnv(name = 'QODER_PAT') {
|
|
16
16
|
return new PATCredential(readEnv(name) ?? '');
|
|
17
17
|
}
|
|
18
18
|
getToken() { return this.token; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/core/credentials.ts"],"names":[],"mappings":";;;AAIA,0BAEC;AAFD,SAAgB,OAAO,CAAC,IAAY;IAClC,OAAQ,UAAoF,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACpH,CAAC;AAED,MAAa,aAAa;IACK;IAA7B,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QACxC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/core/credentials.ts"],"names":[],"mappings":";;;AAIA,0BAEC;AAFD,SAAgB,OAAO,CAAC,IAAY;IAClC,OAAQ,UAAoF,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACpH,CAAC;AAED,MAAa,aAAa;IACK;IAA7B,YAA6B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QACxC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,WAAW;QAC/B,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,QAAQ,KAAa,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;CAC1C;AAVD,sCAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detect-platform.d.ts","sourceRoot":"","sources":["../../src/core/detect-platform.ts"],"names":[],"mappings":"AAiCA,wBAAgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxD"}
|