@miosa/sdk 3.4.0 → 3.4.1
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/dist/index.d.ts +8 -0
- package/dist/index.js +36 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -9644,6 +9644,12 @@ declare class Http2Transport implements RunnerTransport {
|
|
|
9644
9644
|
private readonly insecure;
|
|
9645
9645
|
private readonly dial;
|
|
9646
9646
|
private readonly pools;
|
|
9647
|
+
/**
|
|
9648
|
+
* Requests in flight per session. A pooled session is unref'd while idle so
|
|
9649
|
+
* a process that only imported the client (or finished its last request)
|
|
9650
|
+
* still exits; it is ref'd again for exactly as long as it carries a request.
|
|
9651
|
+
*/
|
|
9652
|
+
private readonly inFlight;
|
|
9647
9653
|
constructor(options?: Http2TransportOptions);
|
|
9648
9654
|
prewarm(regionHostname: string, sessionsPerAddress?: number): void;
|
|
9649
9655
|
addressCount(regionHostname: string): Promise<number>;
|
|
@@ -9687,6 +9693,8 @@ declare class Http2Transport implements RunnerTransport {
|
|
|
9687
9693
|
*/
|
|
9688
9694
|
private rebuildPool;
|
|
9689
9695
|
private connectSession;
|
|
9696
|
+
private retain;
|
|
9697
|
+
private release;
|
|
9690
9698
|
private sendRequest;
|
|
9691
9699
|
private sendStreamRequest;
|
|
9692
9700
|
}
|
package/dist/index.js
CHANGED
|
@@ -185,7 +185,7 @@ var TokenRefreshFailedError = class extends MiosaError {
|
|
|
185
185
|
};
|
|
186
186
|
|
|
187
187
|
// src/version.ts
|
|
188
|
-
var SDK_VERSION = "3.4.
|
|
188
|
+
var SDK_VERSION = "3.4.1";
|
|
189
189
|
var SDK_USER_AGENT = `@miosa/sdk/${SDK_VERSION}`;
|
|
190
190
|
|
|
191
191
|
// src/http.ts
|
|
@@ -214,7 +214,11 @@ async function ensureHttp2Agent() {
|
|
|
214
214
|
_h2Available = false;
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
|
-
|
|
217
|
+
var _h2Bootstrap;
|
|
218
|
+
function startHttp2Agent() {
|
|
219
|
+
_h2Bootstrap ??= ensureHttp2Agent();
|
|
220
|
+
return _h2Bootstrap;
|
|
221
|
+
}
|
|
218
222
|
var DEFAULT_TIMEOUT = 3e4;
|
|
219
223
|
var DEFAULT_MAX_RETRIES = 3;
|
|
220
224
|
var BASE_DELAY_MS = 500;
|
|
@@ -293,6 +297,7 @@ var HttpClient = class {
|
|
|
293
297
|
options.signal?.addEventListener("abort", cancel, { once: true });
|
|
294
298
|
const timer = setTimeout(() => controller.abort(), timeout);
|
|
295
299
|
try {
|
|
300
|
+
await startHttp2Agent();
|
|
296
301
|
const response = await fetch(this.buildUrl(path), {
|
|
297
302
|
method,
|
|
298
303
|
headers,
|
|
@@ -430,6 +435,7 @@ var HttpClient = class {
|
|
|
430
435
|
try {
|
|
431
436
|
let response;
|
|
432
437
|
try {
|
|
438
|
+
await startHttp2Agent();
|
|
433
439
|
response = await fetch(this.buildUrl(path), {
|
|
434
440
|
method,
|
|
435
441
|
headers,
|
|
@@ -11285,7 +11291,7 @@ function markHandled(promise) {
|
|
|
11285
11291
|
promise.catch(() => void 0);
|
|
11286
11292
|
return promise;
|
|
11287
11293
|
}
|
|
11288
|
-
var DEFAULT_SESSIONS_PER_ADDRESS =
|
|
11294
|
+
var DEFAULT_SESSIONS_PER_ADDRESS = 2;
|
|
11289
11295
|
var DEFAULT_TIMEOUT_MS = 3e4;
|
|
11290
11296
|
var Http2Transport = class {
|
|
11291
11297
|
protocol = "h2";
|
|
@@ -11298,6 +11304,12 @@ var Http2Transport = class {
|
|
|
11298
11304
|
insecure;
|
|
11299
11305
|
dial;
|
|
11300
11306
|
pools = /* @__PURE__ */ new Map();
|
|
11307
|
+
/**
|
|
11308
|
+
* Requests in flight per session. A pooled session is unref'd while idle so
|
|
11309
|
+
* a process that only imported the client (or finished its last request)
|
|
11310
|
+
* still exits; it is ref'd again for exactly as long as it carries a request.
|
|
11311
|
+
*/
|
|
11312
|
+
inFlight = /* @__PURE__ */ new Map();
|
|
11301
11313
|
constructor(options = {}) {
|
|
11302
11314
|
this.defaultSessionsPerAddress = options.defaultSessionsPerAddress ?? DEFAULT_SESSIONS_PER_ADDRESS;
|
|
11303
11315
|
this.tls = options.tls ?? true;
|
|
@@ -11491,11 +11503,26 @@ var Http2Transport = class {
|
|
|
11491
11503
|
session.once("error", onError);
|
|
11492
11504
|
session.once("connect", () => {
|
|
11493
11505
|
session.removeListener("error", onError);
|
|
11506
|
+
session.unref();
|
|
11494
11507
|
session.on("error", () => void 0);
|
|
11495
11508
|
resolve(session);
|
|
11496
11509
|
});
|
|
11497
11510
|
});
|
|
11498
11511
|
}
|
|
11512
|
+
retain(session) {
|
|
11513
|
+
const n = this.inFlight.get(session) ?? 0;
|
|
11514
|
+
this.inFlight.set(session, n + 1);
|
|
11515
|
+
if (n === 0) session.ref();
|
|
11516
|
+
}
|
|
11517
|
+
release(session) {
|
|
11518
|
+
const n = (this.inFlight.get(session) ?? 1) - 1;
|
|
11519
|
+
if (n > 0) {
|
|
11520
|
+
this.inFlight.set(session, n);
|
|
11521
|
+
return;
|
|
11522
|
+
}
|
|
11523
|
+
this.inFlight.delete(session);
|
|
11524
|
+
session.unref();
|
|
11525
|
+
}
|
|
11499
11526
|
sendRequest(regionHostname2, authority, path, session, init) {
|
|
11500
11527
|
const timeoutMs = init.timeoutMs ?? this.defaultTimeoutMs;
|
|
11501
11528
|
return new Promise((resolve, reject) => {
|
|
@@ -11505,6 +11532,7 @@ var Http2Transport = class {
|
|
|
11505
11532
|
":authority": authority,
|
|
11506
11533
|
...init.headers
|
|
11507
11534
|
};
|
|
11535
|
+
this.retain(session);
|
|
11508
11536
|
const stream = session.request(requestHeaders);
|
|
11509
11537
|
let status = 0;
|
|
11510
11538
|
const responseHeaders = {};
|
|
@@ -11513,12 +11541,14 @@ var Http2Transport = class {
|
|
|
11513
11541
|
const timer = setTimeout(() => {
|
|
11514
11542
|
if (settled) return;
|
|
11515
11543
|
settled = true;
|
|
11544
|
+
this.release(session);
|
|
11516
11545
|
stream.close(http2.constants.NGHTTP2_CANCEL);
|
|
11517
11546
|
reject(new RunnerTimeoutError(regionHostname2, path, timeoutMs));
|
|
11518
11547
|
}, timeoutMs);
|
|
11519
11548
|
const onAbort = () => {
|
|
11520
11549
|
if (settled) return;
|
|
11521
11550
|
settled = true;
|
|
11551
|
+
this.release(session);
|
|
11522
11552
|
clearTimeout(timer);
|
|
11523
11553
|
stream.close(http2.constants.NGHTTP2_CANCEL);
|
|
11524
11554
|
reject(new DOMException("runner request aborted", "AbortError"));
|
|
@@ -11535,6 +11565,7 @@ var Http2Transport = class {
|
|
|
11535
11565
|
stream.on("end", () => {
|
|
11536
11566
|
if (settled) return;
|
|
11537
11567
|
settled = true;
|
|
11568
|
+
this.release(session);
|
|
11538
11569
|
clearTimeout(timer);
|
|
11539
11570
|
init.signal?.removeEventListener("abort", onAbort);
|
|
11540
11571
|
resolve({ status, headers: responseHeaders, body: Buffer.concat(chunks).toString("utf8") });
|
|
@@ -11542,6 +11573,7 @@ var Http2Transport = class {
|
|
|
11542
11573
|
stream.on("error", (error) => {
|
|
11543
11574
|
if (settled) return;
|
|
11544
11575
|
settled = true;
|
|
11576
|
+
this.release(session);
|
|
11545
11577
|
clearTimeout(timer);
|
|
11546
11578
|
init.signal?.removeEventListener("abort", onAbort);
|
|
11547
11579
|
reject(error);
|
|
@@ -12069,7 +12101,7 @@ function unwrapSomaEnvelope(httpStatus, body5) {
|
|
|
12069
12101
|
}
|
|
12070
12102
|
|
|
12071
12103
|
// src/runner/runner-client.ts
|
|
12072
|
-
var DEFAULT_SESSIONS_PER_ADDRESS3 =
|
|
12104
|
+
var DEFAULT_SESSIONS_PER_ADDRESS3 = 2;
|
|
12073
12105
|
function createSupportedByRunner(params) {
|
|
12074
12106
|
const hasTemplate = params["template_id"] !== void 0 || params["templateId"] !== void 0 || params["image"] !== void 0;
|
|
12075
12107
|
const hasSnapshot = params["snapshot_id"] !== void 0 || params["snapshotId"] !== void 0 || params["source_snapshot_path"] !== void 0 || params["sourceSnapshotPath"] !== void 0;
|