@utilix-tech/sdk 0.93.0 → 0.94.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/CHANGELOG.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  Full release notes for all Utilix surfaces (browser tools, REST API, SDKs, MCP server) live at [utilix.tech/changelog](https://utilix.tech/changelog). This file tracks just this package.
4
4
 
5
+ ## 0.94.0
6
+ - Add `buildAltSvcHeader`/`parseAltSvcHeader` (alt-svc-header-builder): build an `Alt-Svc` response header (RFC 7838) from one or more alternative services with a plain-English note per protocol-id, flagging outdated HTTP/3 draft protocol-ids, or parse an existing header back into its alternatives, including the special `clear` value.
7
+
5
8
  ## 0.93.0
6
9
  - Add `findDuplicateLockfileVersions`/`detectLockfileFormat` (lockfile-duplicate-version-reporter): parse an npm, yarn, or pnpm lockfile and report every package installed at more than one resolved version, with a count of install locations per version.
7
10
  - Add `summarizeGitDiffStat` (git-diff-stat-summarizer): parse `git diff --stat` / `git log --stat` output into structured per-file insertion/deletion counts plus overall totals, flagging a scaled-down bar's split as approximate.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @utilix-tech/sdk
2
2
 
3
- **738 developer utility functions for Node.js: runs locally, no API key required.**
3
+ **740 developer utility functions for Node.js: runs locally, no API key required.**
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/@utilix-tech/sdk?style=flat-square&color=cb3837)](https://www.npmjs.com/package/@utilix-tech/sdk)
6
6
  [![npm downloads](https://img.shields.io/npm/dm/@utilix-tech/sdk?style=flat-square)](https://www.npmjs.com/package/@utilix-tech/sdk)
@@ -767,6 +767,11 @@ findDuplicateLockfileVersions('{"lockfileVersion":3,"packages":{"node_modules/lo
767
767
  import { summarizeGitDiffStat } from "@utilix-tech/sdk/code";
768
768
  summarizeGitDiffStat(" src/foo.ts | 12 +++++-------\n 1 file changed, 5 insertions(+), 7 deletions(-)\n");
769
769
  // { files: [{ file: "src/foo.ts", changes: 12, insertions: 5, deletions: 7, binary: false, approximate: false }], filesChanged: 1, totalInsertions: 5, totalDeletions: 7 }
770
+
771
+ // Build an Alt-Svc header (RFC 7838) advertising HTTP/3, or parse an existing one
772
+ import { buildAltSvcHeader, parseAltSvcHeader } from "@utilix-tech/sdk/network";
773
+ buildAltSvcHeader([{ protocolId: "h3", port: 443, maxAge: 86400 }]);
774
+ // { header: 'Alt-Svc: h3=":443"; ma=86400', headerValue: 'h3=":443"; ma=86400', entries: [{ protocolId: "h3", authority: ":443", maxAge: 86400, persist: false, note: "..." }], cleared: false, warnings: [] }
770
775
  ```
771
776
 
772
777
  ---
@@ -1086,7 +1091,7 @@ readMidiInfo(new Uint8Array(midiBytes));
1086
1091
  | `@utilix-tech/sdk/generators` | UUID v4/v7, ULID, passwords, strength check, entropy estimator, fake data, CSP nonce generator |
1087
1092
  | `@utilix-tech/sdk/time` | Date diff, timezone convert, cron parse, relative time |
1088
1093
  | `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN/VIN/ISIN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator, cash denomination/till calculator, payback period calculator, CD maturity calculator, debt-to-income ratio calculator, freelancer hourly rate calculator, debt snowball/avalanche payoff planner, tax-equivalent yield calculator, mortgage discount points break-even calculator, loan prepayment penalty calculator, data transfer time / required bandwidth estimator, real rate of return (Fisher equation) calculator, sales commission calculator (flat or tiered), annuity payout calculator, semver range intersection checker |
1089
- | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand, Permissions-Policy header builder, Client Hints header builder/parser, Content-Disposition header builder/parser, X-Content-Type-Options header builder/risk assessor, sitemap.xml validator, sitemap index splitter, robots.txt validator, robots.txt generator, Prefer header builder/parser (RFC 7240), Retry-After header builder/parser (RFC 9110), Priority header builder/parser (RFC 9218), WebSocket close code reference/lookup, Strict-Transport-Security (HSTS) header builder/parser, X-Robots-Tag header builder/parser, WebSocket frame opcode reference/lookup, robots meta tag builder/parser, Cookie header byte-size budget calculator |
1094
+ | `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand, Permissions-Policy header builder, Client Hints header builder/parser, Content-Disposition header builder/parser, X-Content-Type-Options header builder/risk assessor, sitemap.xml validator, sitemap index splitter, robots.txt validator, robots.txt generator, Prefer header builder/parser (RFC 7240), Retry-After header builder/parser (RFC 9110), Priority header builder/parser (RFC 9218), WebSocket close code reference/lookup, Strict-Transport-Security (HSTS) header builder/parser, X-Robots-Tag header builder/parser, WebSocket frame opcode reference/lookup, robots meta tag builder/parser, Cookie header byte-size budget calculator, Alt-Svc header builder/parser (RFC 7838) |
1090
1095
  | `@utilix-tech/sdk/api` | cURL build/parse, JWT decode/sign, JWKS parse, CORS headers, CSP header, TOTP/HOTP code generator, webhook HMAC signature verifier |
1091
1096
  | `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup, GitHub URL parsing, regex ReDoS detector, Conventional Commits linter, package.json exports field validator, package.json dependency range auditor, regex capture group/backreference visualizer, SVG sprite symbol extractor, ARIA role & attribute validator, database connection string parser, Markdown code fence language tag validator, SQL query parameter placeholder counter, Markdown link reference extractor, regex character class builder, Dockerfile linter, Mermaid diagram syntax validator |
1092
1097
  | `@utilix-tech/sdk/color` | Hex/RGB/HSL/HSV/CMYK convert, palette generation, contrast check |
@@ -14,6 +14,7 @@ __export(network_exports, {
14
14
  analyzeEmailHeaders: () => analyzeEmailHeaders,
15
15
  assessContentTypeRisk: () => assessContentTypeRisk,
16
16
  buildAcceptLanguage: () => buildAcceptLanguage,
17
+ buildAltSvcHeader: () => buildAltSvcHeader,
17
18
  buildCacheControl: () => buildCacheControl,
18
19
  buildClearSiteData: () => buildClearSiteData,
19
20
  buildClientHints: () => buildClientHints,
@@ -56,6 +57,7 @@ __export(network_exports, {
56
57
  lookupCloseCode: () => lookupCloseCode,
57
58
  lookupOpcode: () => lookupOpcode,
58
59
  parseAcceptLanguage: () => parseAcceptLanguage,
60
+ parseAltSvcHeader: () => parseAltSvcHeader,
59
61
  parseClearSiteData: () => parseClearSiteData,
60
62
  parseClientHintHeaders: () => parseClientHintHeaders,
61
63
  parseContentDisposition: () => parseContentDisposition,
@@ -3711,5 +3713,113 @@ function parseClearSiteData(raw) {
3711
3713
  }
3712
3714
  return buildClearSiteData(directives);
3713
3715
  }
3716
+ var ALT_SVC_DEFAULT_MAX_AGE = 86400;
3717
+ var ALT_SVC_DEPRECATED_H3_DRAFTS = /* @__PURE__ */ new Set(["h3-29", "h3-27", "h3-25", "h3-24", "h3-23", "h3-22"]);
3718
+ var ALT_SVC_PROTOCOL_NOTES = {
3719
+ "h3": "HTTP/3 over QUIC, the current protocol ID clients should be offered.",
3720
+ "h3-29": 'An outdated HTTP/3 draft version (draft-29); modern clients only match "h3".',
3721
+ "h3-27": 'An outdated HTTP/3 draft version (draft-27); modern clients only match "h3".',
3722
+ "h3-25": 'An outdated HTTP/3 draft version (draft-25); modern clients only match "h3".',
3723
+ "h2": "HTTP/2 over TLS.",
3724
+ "h2c": "HTTP/2 over cleartext TCP; rarely advertised via Alt-Svc since it needs an out-of-band upgrade rather than ALPN negotiation.",
3725
+ "http/1.1": "Plain HTTP/1.1; advertising it via Alt-Svc is unusual since it is already the universal fallback."
3726
+ };
3727
+ function buildAltSvcHeader(alternatives) {
3728
+ if (!Array.isArray(alternatives) || alternatives.length === 0) {
3729
+ return { error: "At least one alternative service is required" };
3730
+ }
3731
+ const warnings = [];
3732
+ const entries = [];
3733
+ const seen = /* @__PURE__ */ new Set();
3734
+ for (const alt of alternatives) {
3735
+ const protocolId = typeof alt.protocolId === "string" ? alt.protocolId.trim() : "";
3736
+ if (!protocolId) return { error: 'Each alternative needs a protocol-id (e.g. "h3")' };
3737
+ if (!Number.isInteger(alt.port) || alt.port < 1 || alt.port > 65535) {
3738
+ return { error: `Each alternative needs a valid port (1-65535), got ${JSON.stringify(alt.port)}` };
3739
+ }
3740
+ const host = alt.host?.trim();
3741
+ const authority = `${host ?? ""}:${alt.port}`;
3742
+ const maxAge = alt.maxAge !== void 0 ? alt.maxAge : ALT_SVC_DEFAULT_MAX_AGE;
3743
+ if (!Number.isFinite(maxAge) || maxAge < 0) return { error: "maxAge must be a non-negative number of seconds" };
3744
+ const persist = alt.persist === true;
3745
+ const dedupeKey = `${protocolId.toLowerCase()}|${authority.toLowerCase()}`;
3746
+ if (seen.has(dedupeKey)) {
3747
+ warnings.push(`duplicate alternative "${protocolId}=${JSON.stringify(authority)}" was removed`);
3748
+ continue;
3749
+ }
3750
+ seen.add(dedupeKey);
3751
+ if (maxAge === 0) warnings.push(`"${protocolId}" has ma=0, so clients should treat it as already expired`);
3752
+ if (persist && maxAge === 0) warnings.push(`"${protocolId}" sets persist=1 with ma=0, which is contradictory: the entry expires immediately`);
3753
+ if (ALT_SVC_DEPRECATED_H3_DRAFTS.has(protocolId.toLowerCase())) {
3754
+ warnings.push(`"${protocolId}" is an outdated HTTP/3 draft protocol-id; modern clients only match "h3"`);
3755
+ }
3756
+ const note = ALT_SVC_PROTOCOL_NOTES[protocolId.toLowerCase()] ?? `Advertises "${protocolId}" as an alternative protocol clients may switch to for this authority.`;
3757
+ entries.push({ protocolId, authority, maxAge, persist, note });
3758
+ }
3759
+ if (entries.length === 0) return { error: "At least one alternative service is required" };
3760
+ const headerValue = entries.map((e) => {
3761
+ let s = `${e.protocolId}="${e.authority}"; ma=${e.maxAge}`;
3762
+ if (e.persist) s += "; persist=1";
3763
+ return s;
3764
+ }).join(", ");
3765
+ return { header: `Alt-Svc: ${headerValue}`, headerValue, entries, cleared: false, warnings };
3766
+ }
3767
+ function altSvcSplitTopLevel(s, sep) {
3768
+ const out = [];
3769
+ let inQuotes = false;
3770
+ let current = "";
3771
+ for (const ch of s) {
3772
+ if (ch === '"') inQuotes = !inQuotes;
3773
+ if (ch === sep && !inQuotes) {
3774
+ out.push(current);
3775
+ current = "";
3776
+ } else {
3777
+ current += ch;
3778
+ }
3779
+ }
3780
+ out.push(current);
3781
+ return out;
3782
+ }
3783
+ function parseAltSvcHeader(raw) {
3784
+ if (!raw || raw.trim() === "") return { error: "Input is empty" };
3785
+ const withoutLabel = raw.trim().replace(/^alt-svc:\s*/i, "");
3786
+ if (withoutLabel.toLowerCase() === "clear") {
3787
+ return { header: "Alt-Svc: clear", headerValue: "clear", entries: [], cleared: true, warnings: [] };
3788
+ }
3789
+ const parts = altSvcSplitTopLevel(withoutLabel, ",");
3790
+ const alternatives = [];
3791
+ for (const part of parts) {
3792
+ const trimmedPart = part.trim();
3793
+ if (!trimmedPart) continue;
3794
+ const eq = trimmedPart.indexOf("=");
3795
+ if (eq === -1) return { error: `Could not parse alternative: "${trimmedPart}"` };
3796
+ const protocolId = trimmedPart.slice(0, eq).trim();
3797
+ const rest = trimmedPart.slice(eq + 1).trim();
3798
+ const segments = altSvcSplitTopLevel(rest, ";").map((s) => s.trim());
3799
+ const authorityMatch = segments[0]?.match(/^"(.*)"$/);
3800
+ if (!authorityMatch) return { error: `Alternative "${protocolId}" is missing a quoted authority (e.g. ":443")` };
3801
+ const authority = authorityMatch[1];
3802
+ const colonIdx = authority.lastIndexOf(":");
3803
+ if (colonIdx === -1) return { error: `Alternative "${protocolId}" has an authority with no port: "${authority}"` };
3804
+ const host = authority.slice(0, colonIdx) || void 0;
3805
+ const portStr = authority.slice(colonIdx + 1);
3806
+ const port = Number(portStr);
3807
+ if (!Number.isInteger(port) || port < 1 || port > 65535) return { error: `Alternative "${protocolId}" has an invalid port: "${portStr}"` };
3808
+ let maxAge;
3809
+ let persist = false;
3810
+ for (const seg of segments.slice(1)) {
3811
+ const sepIdx = seg.indexOf("=");
3812
+ if (sepIdx === -1) continue;
3813
+ const key = seg.slice(0, sepIdx).trim().toLowerCase();
3814
+ const value = seg.slice(sepIdx + 1).trim();
3815
+ if (key === "ma") maxAge = Number(value);
3816
+ if (key === "persist") persist = value === "1";
3817
+ }
3818
+ if (maxAge !== void 0 && !Number.isFinite(maxAge)) return { error: `Alternative "${protocolId}" has a non-numeric ma value` };
3819
+ alternatives.push({ protocolId, host, port, maxAge, persist });
3820
+ }
3821
+ if (alternatives.length === 0) return { error: "No alternative services found" };
3822
+ return buildAltSvcHeader(alternatives);
3823
+ }
3714
3824
 
3715
- export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClearSiteData, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildHsts, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildPriorityHeader, buildRangeHeader, buildReferrerPolicy, buildRetryAfterHeader, buildRobotsMetaTag, buildVaryHeader, buildXContentTypeOptionsHeader, buildXRobotsTag, calculateCookieSizeBudget, checkSetCookieHeader, countryCodeToFlag, extractMultipartBoundary, formatCoordinates, formatTtl, generateRobotsTxt, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, listCloseCodes, listOpcodes, lookupCloseCode, lookupOpcode, network_exports, parseAcceptLanguage, parseClearSiteData, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseHsts, parseIpv6Address, parseMultipartFormData, parsePermissionsPolicy, parsePreferHeader, parsePriorityHeader, parseRetryAfterHeader, parseRobotsMetaTag, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, parseXRobotsTag, scoreSecurityHeaders, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap };
3825
+ export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildAltSvcHeader, buildCacheControl, buildClearSiteData, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildHsts, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildPriorityHeader, buildRangeHeader, buildReferrerPolicy, buildRetryAfterHeader, buildRobotsMetaTag, buildVaryHeader, buildXContentTypeOptionsHeader, buildXRobotsTag, calculateCookieSizeBudget, checkSetCookieHeader, countryCodeToFlag, extractMultipartBoundary, formatCoordinates, formatTtl, generateRobotsTxt, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, listCloseCodes, listOpcodes, lookupCloseCode, lookupOpcode, network_exports, parseAcceptLanguage, parseAltSvcHeader, parseClearSiteData, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseHsts, parseIpv6Address, parseMultipartFormData, parsePermissionsPolicy, parsePreferHeader, parsePriorityHeader, parseRetryAfterHeader, parseRobotsMetaTag, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, parseXRobotsTag, scoreSecurityHeaders, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap };
package/dist/index.cjs CHANGED
@@ -12483,6 +12483,7 @@ __export(network_exports, {
12483
12483
  analyzeEmailHeaders: () => analyzeEmailHeaders,
12484
12484
  assessContentTypeRisk: () => assessContentTypeRisk,
12485
12485
  buildAcceptLanguage: () => buildAcceptLanguage,
12486
+ buildAltSvcHeader: () => buildAltSvcHeader,
12486
12487
  buildCacheControl: () => buildCacheControl,
12487
12488
  buildClearSiteData: () => buildClearSiteData,
12488
12489
  buildClientHints: () => buildClientHints,
@@ -12525,6 +12526,7 @@ __export(network_exports, {
12525
12526
  lookupCloseCode: () => lookupCloseCode,
12526
12527
  lookupOpcode: () => lookupOpcode,
12527
12528
  parseAcceptLanguage: () => parseAcceptLanguage,
12529
+ parseAltSvcHeader: () => parseAltSvcHeader,
12528
12530
  parseClearSiteData: () => parseClearSiteData,
12529
12531
  parseClientHintHeaders: () => parseClientHintHeaders,
12530
12532
  parseContentDisposition: () => parseContentDisposition,
@@ -16180,6 +16182,114 @@ function parseClearSiteData(raw) {
16180
16182
  }
16181
16183
  return buildClearSiteData(directives);
16182
16184
  }
16185
+ var ALT_SVC_DEFAULT_MAX_AGE = 86400;
16186
+ var ALT_SVC_DEPRECATED_H3_DRAFTS = /* @__PURE__ */ new Set(["h3-29", "h3-27", "h3-25", "h3-24", "h3-23", "h3-22"]);
16187
+ var ALT_SVC_PROTOCOL_NOTES = {
16188
+ "h3": "HTTP/3 over QUIC, the current protocol ID clients should be offered.",
16189
+ "h3-29": 'An outdated HTTP/3 draft version (draft-29); modern clients only match "h3".',
16190
+ "h3-27": 'An outdated HTTP/3 draft version (draft-27); modern clients only match "h3".',
16191
+ "h3-25": 'An outdated HTTP/3 draft version (draft-25); modern clients only match "h3".',
16192
+ "h2": "HTTP/2 over TLS.",
16193
+ "h2c": "HTTP/2 over cleartext TCP; rarely advertised via Alt-Svc since it needs an out-of-band upgrade rather than ALPN negotiation.",
16194
+ "http/1.1": "Plain HTTP/1.1; advertising it via Alt-Svc is unusual since it is already the universal fallback."
16195
+ };
16196
+ function buildAltSvcHeader(alternatives) {
16197
+ if (!Array.isArray(alternatives) || alternatives.length === 0) {
16198
+ return { error: "At least one alternative service is required" };
16199
+ }
16200
+ const warnings = [];
16201
+ const entries = [];
16202
+ const seen = /* @__PURE__ */ new Set();
16203
+ for (const alt of alternatives) {
16204
+ const protocolId = typeof alt.protocolId === "string" ? alt.protocolId.trim() : "";
16205
+ if (!protocolId) return { error: 'Each alternative needs a protocol-id (e.g. "h3")' };
16206
+ if (!Number.isInteger(alt.port) || alt.port < 1 || alt.port > 65535) {
16207
+ return { error: `Each alternative needs a valid port (1-65535), got ${JSON.stringify(alt.port)}` };
16208
+ }
16209
+ const host = alt.host?.trim();
16210
+ const authority = `${host ?? ""}:${alt.port}`;
16211
+ const maxAge = alt.maxAge !== void 0 ? alt.maxAge : ALT_SVC_DEFAULT_MAX_AGE;
16212
+ if (!Number.isFinite(maxAge) || maxAge < 0) return { error: "maxAge must be a non-negative number of seconds" };
16213
+ const persist = alt.persist === true;
16214
+ const dedupeKey = `${protocolId.toLowerCase()}|${authority.toLowerCase()}`;
16215
+ if (seen.has(dedupeKey)) {
16216
+ warnings.push(`duplicate alternative "${protocolId}=${JSON.stringify(authority)}" was removed`);
16217
+ continue;
16218
+ }
16219
+ seen.add(dedupeKey);
16220
+ if (maxAge === 0) warnings.push(`"${protocolId}" has ma=0, so clients should treat it as already expired`);
16221
+ if (persist && maxAge === 0) warnings.push(`"${protocolId}" sets persist=1 with ma=0, which is contradictory: the entry expires immediately`);
16222
+ if (ALT_SVC_DEPRECATED_H3_DRAFTS.has(protocolId.toLowerCase())) {
16223
+ warnings.push(`"${protocolId}" is an outdated HTTP/3 draft protocol-id; modern clients only match "h3"`);
16224
+ }
16225
+ const note = ALT_SVC_PROTOCOL_NOTES[protocolId.toLowerCase()] ?? `Advertises "${protocolId}" as an alternative protocol clients may switch to for this authority.`;
16226
+ entries.push({ protocolId, authority, maxAge, persist, note });
16227
+ }
16228
+ if (entries.length === 0) return { error: "At least one alternative service is required" };
16229
+ const headerValue = entries.map((e) => {
16230
+ let s = `${e.protocolId}="${e.authority}"; ma=${e.maxAge}`;
16231
+ if (e.persist) s += "; persist=1";
16232
+ return s;
16233
+ }).join(", ");
16234
+ return { header: `Alt-Svc: ${headerValue}`, headerValue, entries, cleared: false, warnings };
16235
+ }
16236
+ function altSvcSplitTopLevel(s, sep) {
16237
+ const out = [];
16238
+ let inQuotes = false;
16239
+ let current = "";
16240
+ for (const ch of s) {
16241
+ if (ch === '"') inQuotes = !inQuotes;
16242
+ if (ch === sep && !inQuotes) {
16243
+ out.push(current);
16244
+ current = "";
16245
+ } else {
16246
+ current += ch;
16247
+ }
16248
+ }
16249
+ out.push(current);
16250
+ return out;
16251
+ }
16252
+ function parseAltSvcHeader(raw) {
16253
+ if (!raw || raw.trim() === "") return { error: "Input is empty" };
16254
+ const withoutLabel = raw.trim().replace(/^alt-svc:\s*/i, "");
16255
+ if (withoutLabel.toLowerCase() === "clear") {
16256
+ return { header: "Alt-Svc: clear", headerValue: "clear", entries: [], cleared: true, warnings: [] };
16257
+ }
16258
+ const parts = altSvcSplitTopLevel(withoutLabel, ",");
16259
+ const alternatives = [];
16260
+ for (const part of parts) {
16261
+ const trimmedPart = part.trim();
16262
+ if (!trimmedPart) continue;
16263
+ const eq = trimmedPart.indexOf("=");
16264
+ if (eq === -1) return { error: `Could not parse alternative: "${trimmedPart}"` };
16265
+ const protocolId = trimmedPart.slice(0, eq).trim();
16266
+ const rest = trimmedPart.slice(eq + 1).trim();
16267
+ const segments = altSvcSplitTopLevel(rest, ";").map((s) => s.trim());
16268
+ const authorityMatch = segments[0]?.match(/^"(.*)"$/);
16269
+ if (!authorityMatch) return { error: `Alternative "${protocolId}" is missing a quoted authority (e.g. ":443")` };
16270
+ const authority = authorityMatch[1];
16271
+ const colonIdx = authority.lastIndexOf(":");
16272
+ if (colonIdx === -1) return { error: `Alternative "${protocolId}" has an authority with no port: "${authority}"` };
16273
+ const host = authority.slice(0, colonIdx) || void 0;
16274
+ const portStr = authority.slice(colonIdx + 1);
16275
+ const port = Number(portStr);
16276
+ if (!Number.isInteger(port) || port < 1 || port > 65535) return { error: `Alternative "${protocolId}" has an invalid port: "${portStr}"` };
16277
+ let maxAge;
16278
+ let persist = false;
16279
+ for (const seg of segments.slice(1)) {
16280
+ const sepIdx = seg.indexOf("=");
16281
+ if (sepIdx === -1) continue;
16282
+ const key = seg.slice(0, sepIdx).trim().toLowerCase();
16283
+ const value = seg.slice(sepIdx + 1).trim();
16284
+ if (key === "ma") maxAge = Number(value);
16285
+ if (key === "persist") persist = value === "1";
16286
+ }
16287
+ if (maxAge !== void 0 && !Number.isFinite(maxAge)) return { error: `Alternative "${protocolId}" has a non-numeric ma value` };
16288
+ alternatives.push({ protocolId, host, port, maxAge, persist });
16289
+ }
16290
+ if (alternatives.length === 0) return { error: "No alternative services found" };
16291
+ return buildAltSvcHeader(alternatives);
16292
+ }
16183
16293
 
16184
16294
  // src/tools/api.ts
16185
16295
  var api_exports = {};
package/dist/index.d.cts CHANGED
@@ -6,7 +6,7 @@ export { d as data } from './data-3qMdFIF5.cjs';
6
6
  export { g as generators } from './generators-DAXXrMvG.cjs';
7
7
  export { t as time } from './time-VMAy_SrV.cjs';
8
8
  export { u as units } from './units-DnWrOTSV.cjs';
9
- export { n as network } from './network-9j5aKpoR.cjs';
9
+ export { n as network } from './network-B6fQrsCc.cjs';
10
10
  export { a as api } from './api-CQnIUrVB.cjs';
11
11
  export { c as code } from './code-CZHElFHu.cjs';
12
12
  export { c as color } from './color-tPwZCr9H.cjs';
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export { d as data } from './data-3qMdFIF5.js';
6
6
  export { g as generators } from './generators-DAXXrMvG.js';
7
7
  export { t as time } from './time-VMAy_SrV.js';
8
8
  export { u as units } from './units-DnWrOTSV.js';
9
- export { n as network } from './network-9j5aKpoR.js';
9
+ export { n as network } from './network-B6fQrsCc.js';
10
10
  export { a as api } from './api-CQnIUrVB.js';
11
11
  export { c as code } from './code-CZHElFHu.js';
12
12
  export { c as color } from './color-tPwZCr9H.js';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { media_exports as media } from './chunk-ZWFZRDQ4.js';
2
2
  export { units_exports as units } from './chunk-XAPHAUPI.js';
3
- export { network_exports as network } from './chunk-K3B4JTHN.js';
3
+ export { network_exports as network } from './chunk-K242OOF4.js';
4
4
  export { api_exports as api } from './chunk-U2HREMZU.js';
5
5
  export { code_exports as code } from './chunk-KRPIOHJ4.js';
6
6
  export { color_exports as color } from './chunk-BPVAB4P2.js';
@@ -34,6 +34,7 @@
34
34
  * - robots-meta-tag-builder: buildRobotsMetaTag, parseRobotsMetaTag
35
35
  * - cookie-size-budget-calculator: calculateCookieSizeBudget
36
36
  * - clear-site-data-header-builder: buildClearSiteData, parseClearSiteData
37
+ * - alt-svc-header-builder: buildAltSvcHeader, parseAltSvcHeader
37
38
  */
38
39
  declare const DNS_RECORD_TYPES: readonly ["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", "CAA"];
39
40
  type DnsRecordType = typeof DNS_RECORD_TYPES[number];
@@ -1173,9 +1174,51 @@ declare function buildClearSiteData(directives: string[]): ClearSiteDataResult |
1173
1174
  declare function parseClearSiteData(raw: string): ClearSiteDataResult | {
1174
1175
  error: string;
1175
1176
  };
1177
+ interface AltSvcAlternative {
1178
+ protocolId: string;
1179
+ host?: string;
1180
+ port: number;
1181
+ maxAge?: number;
1182
+ persist?: boolean;
1183
+ }
1184
+ interface AltSvcEntry {
1185
+ protocolId: string;
1186
+ authority: string;
1187
+ maxAge: number;
1188
+ persist: boolean;
1189
+ note: string;
1190
+ }
1191
+ interface AltSvcResult {
1192
+ header: string;
1193
+ headerValue: string;
1194
+ entries: AltSvcEntry[];
1195
+ cleared: boolean;
1196
+ warnings: string[];
1197
+ }
1198
+ /**
1199
+ * Build an `Alt-Svc` response-header value (RFC 7838) from one or more
1200
+ * alternative services, de-duplicating identical protocol-id/authority
1201
+ * pairs and attaching a plain-English note for each well-known protocol-id
1202
+ * (h3, h2, h2c, etc.).
1203
+ */
1204
+ declare function buildAltSvcHeader(alternatives: AltSvcAlternative[]): AltSvcResult | {
1205
+ error: string;
1206
+ };
1207
+ /**
1208
+ * Parse an existing `Alt-Svc` header value (with or without a leading
1209
+ * `Alt-Svc:` label) into the same shape `buildAltSvcHeader` returns,
1210
+ * including the special "clear" value that cancels all previously cached
1211
+ * alternatives for the origin.
1212
+ */
1213
+ declare function parseAltSvcHeader(raw: string): AltSvcResult | {
1214
+ error: string;
1215
+ };
1176
1216
 
1177
1217
  type network_AcceptLanguageEntry = AcceptLanguageEntry;
1178
1218
  type network_AcceptLanguageResult = AcceptLanguageResult;
1219
+ type network_AltSvcAlternative = AltSvcAlternative;
1220
+ type network_AltSvcEntry = AltSvcEntry;
1221
+ type network_AltSvcResult = AltSvcResult;
1179
1222
  type network_AuthResultEntry = AuthResultEntry;
1180
1223
  type network_BuildRangeHeaderOptions = BuildRangeHeaderOptions;
1181
1224
  declare const network_CLIENT_HINTS: typeof CLIENT_HINTS;
@@ -1286,6 +1329,7 @@ declare const network_X_CONTENT_TYPE_OPTIONS_HEADER: typeof X_CONTENT_TYPE_OPTIO
1286
1329
  declare const network_analyzeEmailHeaders: typeof analyzeEmailHeaders;
1287
1330
  declare const network_assessContentTypeRisk: typeof assessContentTypeRisk;
1288
1331
  declare const network_buildAcceptLanguage: typeof buildAcceptLanguage;
1332
+ declare const network_buildAltSvcHeader: typeof buildAltSvcHeader;
1289
1333
  declare const network_buildCacheControl: typeof buildCacheControl;
1290
1334
  declare const network_buildClearSiteData: typeof buildClearSiteData;
1291
1335
  declare const network_buildClientHints: typeof buildClientHints;
@@ -1328,6 +1372,7 @@ declare const network_listOpcodes: typeof listOpcodes;
1328
1372
  declare const network_lookupCloseCode: typeof lookupCloseCode;
1329
1373
  declare const network_lookupOpcode: typeof lookupOpcode;
1330
1374
  declare const network_parseAcceptLanguage: typeof parseAcceptLanguage;
1375
+ declare const network_parseAltSvcHeader: typeof parseAltSvcHeader;
1331
1376
  declare const network_parseClearSiteData: typeof parseClearSiteData;
1332
1377
  declare const network_parseClientHintHeaders: typeof parseClientHintHeaders;
1333
1378
  declare const network_parseContentDisposition: typeof parseContentDisposition;
@@ -1360,7 +1405,7 @@ declare const network_validateManifest: typeof validateManifest;
1360
1405
  declare const network_validateRobotsTxt: typeof validateRobotsTxt;
1361
1406
  declare const network_validateSitemap: typeof validateSitemap;
1362
1407
  declare namespace network {
1363
- export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClearSiteDataDirective as ClearSiteDataDirective, type network_ClearSiteDataResult as ClearSiteDataResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_CloseCodeInfo as CloseCodeInfo, type network_CloseCodeRange as CloseCodeRange, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, type network_CookieSizeBudgetResult as CookieSizeBudgetResult, type network_CookieSizeEntry as CookieSizeEntry, network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HstsOptions as HstsOptions, type network_HstsResult as HstsResult, type network_HttpHeader as HttpHeader, type network_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, type network_MultipartParseResult as MultipartParseResult, type network_MultipartPart as MultipartPart, type network_OpcodeCategory as OpcodeCategory, type network_OpcodeInfo as OpcodeInfo, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, type network_PreferParameter as PreferParameter, type network_PreferPreference as PreferPreference, type network_PreferResult as PreferResult, type network_PriorityResult as PriorityResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RetryAfterDateResult as RetryAfterDateResult, type network_RetryAfterResult as RetryAfterResult, type network_RetryAfterSecondsResult as RetryAfterSecondsResult, type network_RobotsGenerateGroup as RobotsGenerateGroup, type network_RobotsGenerateOptions as RobotsGenerateOptions, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsMetaTagFlag as RobotsMetaTagFlag, type network_RobotsMetaTagOptions as RobotsMetaTagOptions, type network_RobotsMetaTagResult as RobotsMetaTagResult, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SecurityHeaderCheck as SecurityHeaderCheck, type network_SecurityHeaderStatus as SecurityHeaderStatus, type network_SecurityHeadersScorecard as SecurityHeadersScorecard, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, type network_XRobotsTagFlag as XRobotsTagFlag, type network_XRobotsTagOptions as XRobotsTagOptions, type network_XRobotsTagResult as XRobotsTagResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildCacheControl as buildCacheControl, network_buildClearSiteData as buildClearSiteData, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildHsts as buildHsts, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildPreferHeader as buildPreferHeader, network_buildPriorityHeader as buildPriorityHeader, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildRetryAfterHeader as buildRetryAfterHeader, network_buildRobotsMetaTag as buildRobotsMetaTag, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_buildXRobotsTag as buildXRobotsTag, network_calculateCookieSizeBudget as calculateCookieSizeBudget, network_checkSetCookieHeader as checkSetCookieHeader, network_countryCodeToFlag as countryCodeToFlag, network_extractMultipartBoundary as extractMultipartBoundary, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_generateRobotsTxt as generateRobotsTxt, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_listCloseCodes as listCloseCodes, network_listOpcodes as listOpcodes, network_lookupCloseCode as lookupCloseCode, network_lookupOpcode as lookupOpcode, network_parseAcceptLanguage as parseAcceptLanguage, network_parseClearSiteData as parseClearSiteData, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseHsts as parseHsts, network_parseIpv6Address as parseIpv6Address, network_parseMultipartFormData as parseMultipartFormData, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parsePreferHeader as parsePreferHeader, network_parsePriorityHeader as parsePriorityHeader, network_parseRetryAfterHeader as parseRetryAfterHeader, network_parseRobotsMetaTag as parseRobotsMetaTag, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_parseXRobotsTag as parseXRobotsTag, network_scoreSecurityHeaders as scoreSecurityHeaders, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
1408
+ export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AltSvcAlternative as AltSvcAlternative, type network_AltSvcEntry as AltSvcEntry, type network_AltSvcResult as AltSvcResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClearSiteDataDirective as ClearSiteDataDirective, type network_ClearSiteDataResult as ClearSiteDataResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_CloseCodeInfo as CloseCodeInfo, type network_CloseCodeRange as CloseCodeRange, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, type network_CookieSizeBudgetResult as CookieSizeBudgetResult, type network_CookieSizeEntry as CookieSizeEntry, network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HstsOptions as HstsOptions, type network_HstsResult as HstsResult, type network_HttpHeader as HttpHeader, type network_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, type network_MultipartParseResult as MultipartParseResult, type network_MultipartPart as MultipartPart, type network_OpcodeCategory as OpcodeCategory, type network_OpcodeInfo as OpcodeInfo, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, type network_PreferParameter as PreferParameter, type network_PreferPreference as PreferPreference, type network_PreferResult as PreferResult, type network_PriorityResult as PriorityResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RetryAfterDateResult as RetryAfterDateResult, type network_RetryAfterResult as RetryAfterResult, type network_RetryAfterSecondsResult as RetryAfterSecondsResult, type network_RobotsGenerateGroup as RobotsGenerateGroup, type network_RobotsGenerateOptions as RobotsGenerateOptions, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsMetaTagFlag as RobotsMetaTagFlag, type network_RobotsMetaTagOptions as RobotsMetaTagOptions, type network_RobotsMetaTagResult as RobotsMetaTagResult, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SecurityHeaderCheck as SecurityHeaderCheck, type network_SecurityHeaderStatus as SecurityHeaderStatus, type network_SecurityHeadersScorecard as SecurityHeadersScorecard, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, type network_XRobotsTagFlag as XRobotsTagFlag, type network_XRobotsTagOptions as XRobotsTagOptions, type network_XRobotsTagResult as XRobotsTagResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildAltSvcHeader as buildAltSvcHeader, network_buildCacheControl as buildCacheControl, network_buildClearSiteData as buildClearSiteData, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildHsts as buildHsts, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildPreferHeader as buildPreferHeader, network_buildPriorityHeader as buildPriorityHeader, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildRetryAfterHeader as buildRetryAfterHeader, network_buildRobotsMetaTag as buildRobotsMetaTag, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_buildXRobotsTag as buildXRobotsTag, network_calculateCookieSizeBudget as calculateCookieSizeBudget, network_checkSetCookieHeader as checkSetCookieHeader, network_countryCodeToFlag as countryCodeToFlag, network_extractMultipartBoundary as extractMultipartBoundary, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_generateRobotsTxt as generateRobotsTxt, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_listCloseCodes as listCloseCodes, network_listOpcodes as listOpcodes, network_lookupCloseCode as lookupCloseCode, network_lookupOpcode as lookupOpcode, network_parseAcceptLanguage as parseAcceptLanguage, network_parseAltSvcHeader as parseAltSvcHeader, network_parseClearSiteData as parseClearSiteData, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseHsts as parseHsts, network_parseIpv6Address as parseIpv6Address, network_parseMultipartFormData as parseMultipartFormData, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parsePreferHeader as parsePreferHeader, network_parsePriorityHeader as parsePriorityHeader, network_parseRetryAfterHeader as parseRetryAfterHeader, network_parseRobotsMetaTag as parseRobotsMetaTag, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_parseXRobotsTag as parseXRobotsTag, network_scoreSecurityHeaders as scoreSecurityHeaders, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
1364
1409
  }
1365
1410
 
1366
- export { type MultipartPart as $, type AcceptLanguageEntry as A, type BuildRangeHeaderOptions as B, CLIENT_HINTS as C, DNS_RECORD_TYPES as D, type DnsResponse as E, type EmailHeaderAnalysis as F, type EmailHeaderField as G, type GeoResult as H, HTTP_HEADERS as I, type HarEntry as J, type HarParseResult as K, type HarSummary as L, type HeaderCategory as M, type HstsOptions as N, type HstsResult as O, type HttpHeader as P, type Ipv6AddressType as Q, type Ipv6ParseResult as R, LINK_REL_VALUES as S, type LinkHeaderEntry as T, type LinkHeaderEntryInput as U, type LinkHeaderResult as V, type LinkRel as W, type ManifestIconInfo as X, type ManifestIssue as Y, type ManifestValidationResult as Z, type MultipartParseResult as _, type AcceptLanguageResult as a, buildDnsQueryUrl as a$, type OpcodeCategory as a0, type OpcodeInfo as a1, PERMISSIONS_POLICY_FEATURES as a2, type ParsedClientHint as a3, type ParsedDnsResult as a4, type ParsedGeoResult as a5, type PermissionsPolicyDirective as a6, type PermissionsPolicyFeatureInput as a7, type PermissionsPolicyResult as a8, type PreferParameter as a9, type SecurityHeaderStatus as aA, type SecurityHeadersScorecard as aB, type SitemapIndexEntry as aC, type SitemapIssue as aD, type SitemapSplitFile as aE, type SitemapUrlEntry as aF, type SitemapValidationResult as aG, type SplitSitemapOptions as aH, type SplitSitemapResult as aI, type StatusCode as aJ, type UaDeviceType as aK, type UserAgentInfo as aL, type VaryHeaderEntry as aM, type VaryHeaderResult as aN, type XContentTypeOptionsHeader as aO, type XContentTypeOptionsParseResult as aP, type XRobotsTagFlag as aQ, type XRobotsTagOptions as aR, type XRobotsTagResult as aS, X_CONTENT_TYPE_OPTIONS_HEADER as aT, analyzeEmailHeaders as aU, assessContentTypeRisk as aV, buildAcceptLanguage as aW, buildCacheControl as aX, buildClearSiteData as aY, buildClientHints as aZ, buildContentDisposition as a_, type PreferPreference as aa, type PreferResult as ab, type PriorityResult as ac, REFERRER_POLICY_VALUES as ad, type RangeEntry as ae, type RangeEntryInput as af, type RangeHeaderResult as ag, type ReceivedHop as ah, type ReferrerPolicyEntry as ai, type ReferrerPolicyResult as aj, type ReferrerPolicyValue as ak, type RetryAfterDateResult as al, type RetryAfterResult as am, type RetryAfterSecondsResult as an, type RobotsGenerateGroup as ao, type RobotsGenerateOptions as ap, type RobotsGroup as aq, type RobotsIssue as ar, type RobotsMetaTagFlag as as, type RobotsMetaTagOptions as at, type RobotsMetaTagResult as au, type RobotsRule as av, type RobotsValidationResult as aw, STATUS_CODES as ax, type SameSiteValue as ay, type SecurityHeaderCheck as az, type AuthResultEntry as b, validateHeaderName as b$, buildGeoUrl as b0, buildHsts as b1, buildLinkHeader as b2, buildMapUrl as b3, buildPermissionsPolicy as b4, buildPreferHeader as b5, buildPriorityHeader as b6, buildRangeHeader as b7, buildReferrerPolicy as b8, buildRetryAfterHeader as b9, parseAcceptLanguage as bA, parseClearSiteData as bB, parseClientHintHeaders as bC, parseContentDisposition as bD, parseContentRangeHeader as bE, parseDnsResponse as bF, parseGeoResponse as bG, parseHar as bH, parseHsts as bI, parseIpv6Address as bJ, parseMultipartFormData as bK, parsePermissionsPolicy as bL, parsePreferHeader as bM, parsePriorityHeader as bN, parseRetryAfterHeader as bO, parseRobotsMetaTag as bP, parseUserAgent as bQ, parseVaryHeader as bR, parseXContentTypeOptionsHeader as bS, parseXRobotsTag as bT, scoreSecurityHeaders as bU, searchHeaders as bV, searchStatusCodes as bW, splitSitemap as bX, statusCodeToText as bY, typeNumberToLabel as bZ, validateDomain as b_, buildRobotsMetaTag as ba, buildVaryHeader as bb, buildXContentTypeOptionsHeader as bc, buildXRobotsTag as bd, calculateCookieSizeBudget as be, checkSetCookieHeader as bf, countryCodeToFlag as bg, extractMultipartBoundary as bh, formatCoordinates as bi, formatTtl as bj, generateRobotsTxt as bk, getByCategory as bl, getHeader as bm, getHeadersByCategory as bn, getStatusByCategory as bo, getStatusCode as bp, isClientError as bq, isServerError as br, isSuccess as bs, isValidIp as bt, isValidIpv4 as bu, isValidIpv6 as bv, listCloseCodes as bw, listOpcodes as bx, lookupCloseCode as by, lookupOpcode as bz, type CacheControlDirective as c, validateHeaderValue as c0, validateManifest as c1, validateRobotsTxt as c2, validateSitemap as c3, type CacheControlOptions as d, type CacheControlResult as e, type ClearSiteDataDirective as f, type ClearSiteDataResult as g, type ClientHintDef as h, type ClientHintValueType as i, type ClientHintsBuildResult as j, type ClientHintsParseResult as k, type CloseCodeInfo as l, type CloseCodeRange as m, network as n, type ContentDispositionBuildOptions as o, type ContentDispositionBuildResult as p, type ContentDispositionParseResult as q, type ContentRangeResult as r, type ContentTypeRiskResult as s, type ContentTypeSniffRisk as t, type CookieAttributes as u, type CookieCheckResult as v, type CookieSizeBudgetResult as w, type CookieSizeEntry as x, type DnsRecord as y, type DnsRecordType as z };
1411
+ export { type ManifestIssue as $, type AcceptLanguageEntry as A, type BuildRangeHeaderOptions as B, CLIENT_HINTS as C, type CookieSizeEntry as D, DNS_RECORD_TYPES as E, type DnsRecord as F, type DnsRecordType as G, type DnsResponse as H, type EmailHeaderAnalysis as I, type EmailHeaderField as J, type GeoResult as K, HTTP_HEADERS as L, type HarEntry as M, type HarParseResult as N, type HarSummary as O, type HeaderCategory as P, type HstsOptions as Q, type HstsResult as R, type HttpHeader as S, type Ipv6AddressType as T, type Ipv6ParseResult as U, LINK_REL_VALUES as V, type LinkHeaderEntry as W, type LinkHeaderEntryInput as X, type LinkHeaderResult as Y, type LinkRel as Z, type ManifestIconInfo as _, type AcceptLanguageResult as a, buildCacheControl as a$, type ManifestValidationResult as a0, type MultipartParseResult as a1, type MultipartPart as a2, type OpcodeCategory as a3, type OpcodeInfo as a4, PERMISSIONS_POLICY_FEATURES as a5, type ParsedClientHint as a6, type ParsedDnsResult as a7, type ParsedGeoResult as a8, type PermissionsPolicyDirective as a9, STATUS_CODES as aA, type SameSiteValue as aB, type SecurityHeaderCheck as aC, type SecurityHeaderStatus as aD, type SecurityHeadersScorecard as aE, type SitemapIndexEntry as aF, type SitemapIssue as aG, type SitemapSplitFile as aH, type SitemapUrlEntry as aI, type SitemapValidationResult as aJ, type SplitSitemapOptions as aK, type SplitSitemapResult as aL, type StatusCode as aM, type UaDeviceType as aN, type UserAgentInfo as aO, type VaryHeaderEntry as aP, type VaryHeaderResult as aQ, type XContentTypeOptionsHeader as aR, type XContentTypeOptionsParseResult as aS, type XRobotsTagFlag as aT, type XRobotsTagOptions as aU, type XRobotsTagResult as aV, X_CONTENT_TYPE_OPTIONS_HEADER as aW, analyzeEmailHeaders as aX, assessContentTypeRisk as aY, buildAcceptLanguage as aZ, buildAltSvcHeader as a_, type PermissionsPolicyFeatureInput as aa, type PermissionsPolicyResult as ab, type PreferParameter as ac, type PreferPreference as ad, type PreferResult as ae, type PriorityResult as af, REFERRER_POLICY_VALUES as ag, type RangeEntry as ah, type RangeEntryInput as ai, type RangeHeaderResult as aj, type ReceivedHop as ak, type ReferrerPolicyEntry as al, type ReferrerPolicyResult as am, type ReferrerPolicyValue as an, type RetryAfterDateResult as ao, type RetryAfterResult as ap, type RetryAfterSecondsResult as aq, type RobotsGenerateGroup as ar, type RobotsGenerateOptions as as, type RobotsGroup as at, type RobotsIssue as au, type RobotsMetaTagFlag as av, type RobotsMetaTagOptions as aw, type RobotsMetaTagResult as ax, type RobotsRule as ay, type RobotsValidationResult as az, type AltSvcAlternative as b, searchStatusCodes as b$, buildClearSiteData as b0, buildClientHints as b1, buildContentDisposition as b2, buildDnsQueryUrl as b3, buildGeoUrl as b4, buildHsts as b5, buildLinkHeader as b6, buildMapUrl as b7, buildPermissionsPolicy as b8, buildPreferHeader as b9, listCloseCodes as bA, listOpcodes as bB, lookupCloseCode as bC, lookupOpcode as bD, parseAcceptLanguage as bE, parseAltSvcHeader as bF, parseClearSiteData as bG, parseClientHintHeaders as bH, parseContentDisposition as bI, parseContentRangeHeader as bJ, parseDnsResponse as bK, parseGeoResponse as bL, parseHar as bM, parseHsts as bN, parseIpv6Address as bO, parseMultipartFormData as bP, parsePermissionsPolicy as bQ, parsePreferHeader as bR, parsePriorityHeader as bS, parseRetryAfterHeader as bT, parseRobotsMetaTag as bU, parseUserAgent as bV, parseVaryHeader as bW, parseXContentTypeOptionsHeader as bX, parseXRobotsTag as bY, scoreSecurityHeaders as bZ, searchHeaders as b_, buildPriorityHeader as ba, buildRangeHeader as bb, buildReferrerPolicy as bc, buildRetryAfterHeader as bd, buildRobotsMetaTag as be, buildVaryHeader as bf, buildXContentTypeOptionsHeader as bg, buildXRobotsTag as bh, calculateCookieSizeBudget as bi, checkSetCookieHeader as bj, countryCodeToFlag as bk, extractMultipartBoundary as bl, formatCoordinates as bm, formatTtl as bn, generateRobotsTxt as bo, getByCategory as bp, getHeader as bq, getHeadersByCategory as br, getStatusByCategory as bs, getStatusCode as bt, isClientError as bu, isServerError as bv, isSuccess as bw, isValidIp as bx, isValidIpv4 as by, isValidIpv6 as bz, type AltSvcEntry as c, splitSitemap as c0, statusCodeToText as c1, typeNumberToLabel as c2, validateDomain as c3, validateHeaderName as c4, validateHeaderValue as c5, validateManifest as c6, validateRobotsTxt as c7, validateSitemap as c8, type AltSvcResult as d, type AuthResultEntry as e, type CacheControlDirective as f, type CacheControlOptions as g, type CacheControlResult as h, type ClearSiteDataDirective as i, type ClearSiteDataResult as j, type ClientHintDef as k, type ClientHintValueType as l, type ClientHintsBuildResult as m, network as n, type ClientHintsParseResult as o, type CloseCodeInfo as p, type CloseCodeRange as q, type ContentDispositionBuildOptions as r, type ContentDispositionBuildResult as s, type ContentDispositionParseResult as t, type ContentRangeResult as u, type ContentTypeRiskResult as v, type ContentTypeSniffRisk as w, type CookieAttributes as x, type CookieCheckResult as y, type CookieSizeBudgetResult as z };
@@ -34,6 +34,7 @@
34
34
  * - robots-meta-tag-builder: buildRobotsMetaTag, parseRobotsMetaTag
35
35
  * - cookie-size-budget-calculator: calculateCookieSizeBudget
36
36
  * - clear-site-data-header-builder: buildClearSiteData, parseClearSiteData
37
+ * - alt-svc-header-builder: buildAltSvcHeader, parseAltSvcHeader
37
38
  */
38
39
  declare const DNS_RECORD_TYPES: readonly ["A", "AAAA", "CNAME", "MX", "TXT", "NS", "SOA", "PTR", "SRV", "CAA"];
39
40
  type DnsRecordType = typeof DNS_RECORD_TYPES[number];
@@ -1173,9 +1174,51 @@ declare function buildClearSiteData(directives: string[]): ClearSiteDataResult |
1173
1174
  declare function parseClearSiteData(raw: string): ClearSiteDataResult | {
1174
1175
  error: string;
1175
1176
  };
1177
+ interface AltSvcAlternative {
1178
+ protocolId: string;
1179
+ host?: string;
1180
+ port: number;
1181
+ maxAge?: number;
1182
+ persist?: boolean;
1183
+ }
1184
+ interface AltSvcEntry {
1185
+ protocolId: string;
1186
+ authority: string;
1187
+ maxAge: number;
1188
+ persist: boolean;
1189
+ note: string;
1190
+ }
1191
+ interface AltSvcResult {
1192
+ header: string;
1193
+ headerValue: string;
1194
+ entries: AltSvcEntry[];
1195
+ cleared: boolean;
1196
+ warnings: string[];
1197
+ }
1198
+ /**
1199
+ * Build an `Alt-Svc` response-header value (RFC 7838) from one or more
1200
+ * alternative services, de-duplicating identical protocol-id/authority
1201
+ * pairs and attaching a plain-English note for each well-known protocol-id
1202
+ * (h3, h2, h2c, etc.).
1203
+ */
1204
+ declare function buildAltSvcHeader(alternatives: AltSvcAlternative[]): AltSvcResult | {
1205
+ error: string;
1206
+ };
1207
+ /**
1208
+ * Parse an existing `Alt-Svc` header value (with or without a leading
1209
+ * `Alt-Svc:` label) into the same shape `buildAltSvcHeader` returns,
1210
+ * including the special "clear" value that cancels all previously cached
1211
+ * alternatives for the origin.
1212
+ */
1213
+ declare function parseAltSvcHeader(raw: string): AltSvcResult | {
1214
+ error: string;
1215
+ };
1176
1216
 
1177
1217
  type network_AcceptLanguageEntry = AcceptLanguageEntry;
1178
1218
  type network_AcceptLanguageResult = AcceptLanguageResult;
1219
+ type network_AltSvcAlternative = AltSvcAlternative;
1220
+ type network_AltSvcEntry = AltSvcEntry;
1221
+ type network_AltSvcResult = AltSvcResult;
1179
1222
  type network_AuthResultEntry = AuthResultEntry;
1180
1223
  type network_BuildRangeHeaderOptions = BuildRangeHeaderOptions;
1181
1224
  declare const network_CLIENT_HINTS: typeof CLIENT_HINTS;
@@ -1286,6 +1329,7 @@ declare const network_X_CONTENT_TYPE_OPTIONS_HEADER: typeof X_CONTENT_TYPE_OPTIO
1286
1329
  declare const network_analyzeEmailHeaders: typeof analyzeEmailHeaders;
1287
1330
  declare const network_assessContentTypeRisk: typeof assessContentTypeRisk;
1288
1331
  declare const network_buildAcceptLanguage: typeof buildAcceptLanguage;
1332
+ declare const network_buildAltSvcHeader: typeof buildAltSvcHeader;
1289
1333
  declare const network_buildCacheControl: typeof buildCacheControl;
1290
1334
  declare const network_buildClearSiteData: typeof buildClearSiteData;
1291
1335
  declare const network_buildClientHints: typeof buildClientHints;
@@ -1328,6 +1372,7 @@ declare const network_listOpcodes: typeof listOpcodes;
1328
1372
  declare const network_lookupCloseCode: typeof lookupCloseCode;
1329
1373
  declare const network_lookupOpcode: typeof lookupOpcode;
1330
1374
  declare const network_parseAcceptLanguage: typeof parseAcceptLanguage;
1375
+ declare const network_parseAltSvcHeader: typeof parseAltSvcHeader;
1331
1376
  declare const network_parseClearSiteData: typeof parseClearSiteData;
1332
1377
  declare const network_parseClientHintHeaders: typeof parseClientHintHeaders;
1333
1378
  declare const network_parseContentDisposition: typeof parseContentDisposition;
@@ -1360,7 +1405,7 @@ declare const network_validateManifest: typeof validateManifest;
1360
1405
  declare const network_validateRobotsTxt: typeof validateRobotsTxt;
1361
1406
  declare const network_validateSitemap: typeof validateSitemap;
1362
1407
  declare namespace network {
1363
- export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClearSiteDataDirective as ClearSiteDataDirective, type network_ClearSiteDataResult as ClearSiteDataResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_CloseCodeInfo as CloseCodeInfo, type network_CloseCodeRange as CloseCodeRange, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, type network_CookieSizeBudgetResult as CookieSizeBudgetResult, type network_CookieSizeEntry as CookieSizeEntry, network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HstsOptions as HstsOptions, type network_HstsResult as HstsResult, type network_HttpHeader as HttpHeader, type network_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, type network_MultipartParseResult as MultipartParseResult, type network_MultipartPart as MultipartPart, type network_OpcodeCategory as OpcodeCategory, type network_OpcodeInfo as OpcodeInfo, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, type network_PreferParameter as PreferParameter, type network_PreferPreference as PreferPreference, type network_PreferResult as PreferResult, type network_PriorityResult as PriorityResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RetryAfterDateResult as RetryAfterDateResult, type network_RetryAfterResult as RetryAfterResult, type network_RetryAfterSecondsResult as RetryAfterSecondsResult, type network_RobotsGenerateGroup as RobotsGenerateGroup, type network_RobotsGenerateOptions as RobotsGenerateOptions, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsMetaTagFlag as RobotsMetaTagFlag, type network_RobotsMetaTagOptions as RobotsMetaTagOptions, type network_RobotsMetaTagResult as RobotsMetaTagResult, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SecurityHeaderCheck as SecurityHeaderCheck, type network_SecurityHeaderStatus as SecurityHeaderStatus, type network_SecurityHeadersScorecard as SecurityHeadersScorecard, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, type network_XRobotsTagFlag as XRobotsTagFlag, type network_XRobotsTagOptions as XRobotsTagOptions, type network_XRobotsTagResult as XRobotsTagResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildCacheControl as buildCacheControl, network_buildClearSiteData as buildClearSiteData, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildHsts as buildHsts, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildPreferHeader as buildPreferHeader, network_buildPriorityHeader as buildPriorityHeader, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildRetryAfterHeader as buildRetryAfterHeader, network_buildRobotsMetaTag as buildRobotsMetaTag, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_buildXRobotsTag as buildXRobotsTag, network_calculateCookieSizeBudget as calculateCookieSizeBudget, network_checkSetCookieHeader as checkSetCookieHeader, network_countryCodeToFlag as countryCodeToFlag, network_extractMultipartBoundary as extractMultipartBoundary, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_generateRobotsTxt as generateRobotsTxt, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_listCloseCodes as listCloseCodes, network_listOpcodes as listOpcodes, network_lookupCloseCode as lookupCloseCode, network_lookupOpcode as lookupOpcode, network_parseAcceptLanguage as parseAcceptLanguage, network_parseClearSiteData as parseClearSiteData, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseHsts as parseHsts, network_parseIpv6Address as parseIpv6Address, network_parseMultipartFormData as parseMultipartFormData, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parsePreferHeader as parsePreferHeader, network_parsePriorityHeader as parsePriorityHeader, network_parseRetryAfterHeader as parseRetryAfterHeader, network_parseRobotsMetaTag as parseRobotsMetaTag, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_parseXRobotsTag as parseXRobotsTag, network_scoreSecurityHeaders as scoreSecurityHeaders, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
1408
+ export { type network_AcceptLanguageEntry as AcceptLanguageEntry, type network_AcceptLanguageResult as AcceptLanguageResult, type network_AltSvcAlternative as AltSvcAlternative, type network_AltSvcEntry as AltSvcEntry, type network_AltSvcResult as AltSvcResult, type network_AuthResultEntry as AuthResultEntry, type network_BuildRangeHeaderOptions as BuildRangeHeaderOptions, network_CLIENT_HINTS as CLIENT_HINTS, type network_CacheControlDirective as CacheControlDirective, type network_CacheControlOptions as CacheControlOptions, type network_CacheControlResult as CacheControlResult, type network_ClearSiteDataDirective as ClearSiteDataDirective, type network_ClearSiteDataResult as ClearSiteDataResult, type network_ClientHintDef as ClientHintDef, type network_ClientHintValueType as ClientHintValueType, type network_ClientHintsBuildResult as ClientHintsBuildResult, type network_ClientHintsParseResult as ClientHintsParseResult, type network_CloseCodeInfo as CloseCodeInfo, type network_CloseCodeRange as CloseCodeRange, type network_ContentDispositionBuildOptions as ContentDispositionBuildOptions, type network_ContentDispositionBuildResult as ContentDispositionBuildResult, type network_ContentDispositionParseResult as ContentDispositionParseResult, type network_ContentRangeResult as ContentRangeResult, type network_ContentTypeRiskResult as ContentTypeRiskResult, type network_ContentTypeSniffRisk as ContentTypeSniffRisk, type network_CookieAttributes as CookieAttributes, type network_CookieCheckResult as CookieCheckResult, type network_CookieSizeBudgetResult as CookieSizeBudgetResult, type network_CookieSizeEntry as CookieSizeEntry, network_DNS_RECORD_TYPES as DNS_RECORD_TYPES, type network_DnsRecord as DnsRecord, type network_DnsRecordType as DnsRecordType, type network_DnsResponse as DnsResponse, type network_EmailHeaderAnalysis as EmailHeaderAnalysis, type network_EmailHeaderField as EmailHeaderField, type network_GeoResult as GeoResult, network_HTTP_HEADERS as HTTP_HEADERS, type network_HarEntry as HarEntry, type network_HarParseResult as HarParseResult, type network_HarSummary as HarSummary, type network_HeaderCategory as HeaderCategory, type network_HstsOptions as HstsOptions, type network_HstsResult as HstsResult, type network_HttpHeader as HttpHeader, type network_Ipv6AddressType as Ipv6AddressType, type network_Ipv6ParseResult as Ipv6ParseResult, network_LINK_REL_VALUES as LINK_REL_VALUES, type network_LinkHeaderEntry as LinkHeaderEntry, type network_LinkHeaderEntryInput as LinkHeaderEntryInput, type network_LinkHeaderResult as LinkHeaderResult, type network_LinkRel as LinkRel, type network_ManifestIconInfo as ManifestIconInfo, type network_ManifestIssue as ManifestIssue, type network_ManifestValidationResult as ManifestValidationResult, type network_MultipartParseResult as MultipartParseResult, type network_MultipartPart as MultipartPart, type network_OpcodeCategory as OpcodeCategory, type network_OpcodeInfo as OpcodeInfo, network_PERMISSIONS_POLICY_FEATURES as PERMISSIONS_POLICY_FEATURES, type network_ParsedClientHint as ParsedClientHint, type network_ParsedDnsResult as ParsedDnsResult, type network_ParsedGeoResult as ParsedGeoResult, type network_PermissionsPolicyDirective as PermissionsPolicyDirective, type network_PermissionsPolicyFeatureInput as PermissionsPolicyFeatureInput, type network_PermissionsPolicyResult as PermissionsPolicyResult, type network_PreferParameter as PreferParameter, type network_PreferPreference as PreferPreference, type network_PreferResult as PreferResult, type network_PriorityResult as PriorityResult, network_REFERRER_POLICY_VALUES as REFERRER_POLICY_VALUES, type network_RangeEntry as RangeEntry, type network_RangeEntryInput as RangeEntryInput, type network_RangeHeaderResult as RangeHeaderResult, type network_ReceivedHop as ReceivedHop, type network_ReferrerPolicyEntry as ReferrerPolicyEntry, type network_ReferrerPolicyResult as ReferrerPolicyResult, type network_ReferrerPolicyValue as ReferrerPolicyValue, type network_RetryAfterDateResult as RetryAfterDateResult, type network_RetryAfterResult as RetryAfterResult, type network_RetryAfterSecondsResult as RetryAfterSecondsResult, type network_RobotsGenerateGroup as RobotsGenerateGroup, type network_RobotsGenerateOptions as RobotsGenerateOptions, type network_RobotsGroup as RobotsGroup, type network_RobotsIssue as RobotsIssue, type network_RobotsMetaTagFlag as RobotsMetaTagFlag, type network_RobotsMetaTagOptions as RobotsMetaTagOptions, type network_RobotsMetaTagResult as RobotsMetaTagResult, type network_RobotsRule as RobotsRule, type network_RobotsValidationResult as RobotsValidationResult, network_STATUS_CODES as STATUS_CODES, type network_SameSiteValue as SameSiteValue, type network_SecurityHeaderCheck as SecurityHeaderCheck, type network_SecurityHeaderStatus as SecurityHeaderStatus, type network_SecurityHeadersScorecard as SecurityHeadersScorecard, type network_SitemapIndexEntry as SitemapIndexEntry, type network_SitemapIssue as SitemapIssue, type network_SitemapSplitFile as SitemapSplitFile, type network_SitemapUrlEntry as SitemapUrlEntry, type network_SitemapValidationResult as SitemapValidationResult, type network_SplitSitemapOptions as SplitSitemapOptions, type network_SplitSitemapResult as SplitSitemapResult, type network_StatusCode as StatusCode, type network_UaDeviceType as UaDeviceType, type network_UserAgentInfo as UserAgentInfo, type network_VaryHeaderEntry as VaryHeaderEntry, type network_VaryHeaderResult as VaryHeaderResult, type network_XContentTypeOptionsHeader as XContentTypeOptionsHeader, type network_XContentTypeOptionsParseResult as XContentTypeOptionsParseResult, type network_XRobotsTagFlag as XRobotsTagFlag, type network_XRobotsTagOptions as XRobotsTagOptions, type network_XRobotsTagResult as XRobotsTagResult, network_X_CONTENT_TYPE_OPTIONS_HEADER as X_CONTENT_TYPE_OPTIONS_HEADER, network_analyzeEmailHeaders as analyzeEmailHeaders, network_assessContentTypeRisk as assessContentTypeRisk, network_buildAcceptLanguage as buildAcceptLanguage, network_buildAltSvcHeader as buildAltSvcHeader, network_buildCacheControl as buildCacheControl, network_buildClearSiteData as buildClearSiteData, network_buildClientHints as buildClientHints, network_buildContentDisposition as buildContentDisposition, network_buildDnsQueryUrl as buildDnsQueryUrl, network_buildGeoUrl as buildGeoUrl, network_buildHsts as buildHsts, network_buildLinkHeader as buildLinkHeader, network_buildMapUrl as buildMapUrl, network_buildPermissionsPolicy as buildPermissionsPolicy, network_buildPreferHeader as buildPreferHeader, network_buildPriorityHeader as buildPriorityHeader, network_buildRangeHeader as buildRangeHeader, network_buildReferrerPolicy as buildReferrerPolicy, network_buildRetryAfterHeader as buildRetryAfterHeader, network_buildRobotsMetaTag as buildRobotsMetaTag, network_buildVaryHeader as buildVaryHeader, network_buildXContentTypeOptionsHeader as buildXContentTypeOptionsHeader, network_buildXRobotsTag as buildXRobotsTag, network_calculateCookieSizeBudget as calculateCookieSizeBudget, network_checkSetCookieHeader as checkSetCookieHeader, network_countryCodeToFlag as countryCodeToFlag, network_extractMultipartBoundary as extractMultipartBoundary, network_formatCoordinates as formatCoordinates, network_formatTtl as formatTtl, network_generateRobotsTxt as generateRobotsTxt, network_getByCategory as getByCategory, network_getHeader as getHeader, network_getHeadersByCategory as getHeadersByCategory, network_getStatusByCategory as getStatusByCategory, network_getStatusCode as getStatusCode, network_isClientError as isClientError, network_isServerError as isServerError, network_isSuccess as isSuccess, network_isValidIp as isValidIp, network_isValidIpv4 as isValidIpv4, network_isValidIpv6 as isValidIpv6, network_listCloseCodes as listCloseCodes, network_listOpcodes as listOpcodes, network_lookupCloseCode as lookupCloseCode, network_lookupOpcode as lookupOpcode, network_parseAcceptLanguage as parseAcceptLanguage, network_parseAltSvcHeader as parseAltSvcHeader, network_parseClearSiteData as parseClearSiteData, network_parseClientHintHeaders as parseClientHintHeaders, network_parseContentDisposition as parseContentDisposition, network_parseContentRangeHeader as parseContentRangeHeader, network_parseDnsResponse as parseDnsResponse, network_parseGeoResponse as parseGeoResponse, network_parseHar as parseHar, network_parseHsts as parseHsts, network_parseIpv6Address as parseIpv6Address, network_parseMultipartFormData as parseMultipartFormData, network_parsePermissionsPolicy as parsePermissionsPolicy, network_parsePreferHeader as parsePreferHeader, network_parsePriorityHeader as parsePriorityHeader, network_parseRetryAfterHeader as parseRetryAfterHeader, network_parseRobotsMetaTag as parseRobotsMetaTag, network_parseUserAgent as parseUserAgent, network_parseVaryHeader as parseVaryHeader, network_parseXContentTypeOptionsHeader as parseXContentTypeOptionsHeader, network_parseXRobotsTag as parseXRobotsTag, network_scoreSecurityHeaders as scoreSecurityHeaders, network_searchHeaders as searchHeaders, network_searchStatusCodes as searchStatusCodes, network_splitSitemap as splitSitemap, network_statusCodeToText as statusCodeToText, network_typeNumberToLabel as typeNumberToLabel, network_validateDomain as validateDomain, network_validateHeaderName as validateHeaderName, network_validateHeaderValue as validateHeaderValue, network_validateManifest as validateManifest, network_validateRobotsTxt as validateRobotsTxt, network_validateSitemap as validateSitemap };
1364
1409
  }
1365
1410
 
1366
- export { type MultipartPart as $, type AcceptLanguageEntry as A, type BuildRangeHeaderOptions as B, CLIENT_HINTS as C, DNS_RECORD_TYPES as D, type DnsResponse as E, type EmailHeaderAnalysis as F, type EmailHeaderField as G, type GeoResult as H, HTTP_HEADERS as I, type HarEntry as J, type HarParseResult as K, type HarSummary as L, type HeaderCategory as M, type HstsOptions as N, type HstsResult as O, type HttpHeader as P, type Ipv6AddressType as Q, type Ipv6ParseResult as R, LINK_REL_VALUES as S, type LinkHeaderEntry as T, type LinkHeaderEntryInput as U, type LinkHeaderResult as V, type LinkRel as W, type ManifestIconInfo as X, type ManifestIssue as Y, type ManifestValidationResult as Z, type MultipartParseResult as _, type AcceptLanguageResult as a, buildDnsQueryUrl as a$, type OpcodeCategory as a0, type OpcodeInfo as a1, PERMISSIONS_POLICY_FEATURES as a2, type ParsedClientHint as a3, type ParsedDnsResult as a4, type ParsedGeoResult as a5, type PermissionsPolicyDirective as a6, type PermissionsPolicyFeatureInput as a7, type PermissionsPolicyResult as a8, type PreferParameter as a9, type SecurityHeaderStatus as aA, type SecurityHeadersScorecard as aB, type SitemapIndexEntry as aC, type SitemapIssue as aD, type SitemapSplitFile as aE, type SitemapUrlEntry as aF, type SitemapValidationResult as aG, type SplitSitemapOptions as aH, type SplitSitemapResult as aI, type StatusCode as aJ, type UaDeviceType as aK, type UserAgentInfo as aL, type VaryHeaderEntry as aM, type VaryHeaderResult as aN, type XContentTypeOptionsHeader as aO, type XContentTypeOptionsParseResult as aP, type XRobotsTagFlag as aQ, type XRobotsTagOptions as aR, type XRobotsTagResult as aS, X_CONTENT_TYPE_OPTIONS_HEADER as aT, analyzeEmailHeaders as aU, assessContentTypeRisk as aV, buildAcceptLanguage as aW, buildCacheControl as aX, buildClearSiteData as aY, buildClientHints as aZ, buildContentDisposition as a_, type PreferPreference as aa, type PreferResult as ab, type PriorityResult as ac, REFERRER_POLICY_VALUES as ad, type RangeEntry as ae, type RangeEntryInput as af, type RangeHeaderResult as ag, type ReceivedHop as ah, type ReferrerPolicyEntry as ai, type ReferrerPolicyResult as aj, type ReferrerPolicyValue as ak, type RetryAfterDateResult as al, type RetryAfterResult as am, type RetryAfterSecondsResult as an, type RobotsGenerateGroup as ao, type RobotsGenerateOptions as ap, type RobotsGroup as aq, type RobotsIssue as ar, type RobotsMetaTagFlag as as, type RobotsMetaTagOptions as at, type RobotsMetaTagResult as au, type RobotsRule as av, type RobotsValidationResult as aw, STATUS_CODES as ax, type SameSiteValue as ay, type SecurityHeaderCheck as az, type AuthResultEntry as b, validateHeaderName as b$, buildGeoUrl as b0, buildHsts as b1, buildLinkHeader as b2, buildMapUrl as b3, buildPermissionsPolicy as b4, buildPreferHeader as b5, buildPriorityHeader as b6, buildRangeHeader as b7, buildReferrerPolicy as b8, buildRetryAfterHeader as b9, parseAcceptLanguage as bA, parseClearSiteData as bB, parseClientHintHeaders as bC, parseContentDisposition as bD, parseContentRangeHeader as bE, parseDnsResponse as bF, parseGeoResponse as bG, parseHar as bH, parseHsts as bI, parseIpv6Address as bJ, parseMultipartFormData as bK, parsePermissionsPolicy as bL, parsePreferHeader as bM, parsePriorityHeader as bN, parseRetryAfterHeader as bO, parseRobotsMetaTag as bP, parseUserAgent as bQ, parseVaryHeader as bR, parseXContentTypeOptionsHeader as bS, parseXRobotsTag as bT, scoreSecurityHeaders as bU, searchHeaders as bV, searchStatusCodes as bW, splitSitemap as bX, statusCodeToText as bY, typeNumberToLabel as bZ, validateDomain as b_, buildRobotsMetaTag as ba, buildVaryHeader as bb, buildXContentTypeOptionsHeader as bc, buildXRobotsTag as bd, calculateCookieSizeBudget as be, checkSetCookieHeader as bf, countryCodeToFlag as bg, extractMultipartBoundary as bh, formatCoordinates as bi, formatTtl as bj, generateRobotsTxt as bk, getByCategory as bl, getHeader as bm, getHeadersByCategory as bn, getStatusByCategory as bo, getStatusCode as bp, isClientError as bq, isServerError as br, isSuccess as bs, isValidIp as bt, isValidIpv4 as bu, isValidIpv6 as bv, listCloseCodes as bw, listOpcodes as bx, lookupCloseCode as by, lookupOpcode as bz, type CacheControlDirective as c, validateHeaderValue as c0, validateManifest as c1, validateRobotsTxt as c2, validateSitemap as c3, type CacheControlOptions as d, type CacheControlResult as e, type ClearSiteDataDirective as f, type ClearSiteDataResult as g, type ClientHintDef as h, type ClientHintValueType as i, type ClientHintsBuildResult as j, type ClientHintsParseResult as k, type CloseCodeInfo as l, type CloseCodeRange as m, network as n, type ContentDispositionBuildOptions as o, type ContentDispositionBuildResult as p, type ContentDispositionParseResult as q, type ContentRangeResult as r, type ContentTypeRiskResult as s, type ContentTypeSniffRisk as t, type CookieAttributes as u, type CookieCheckResult as v, type CookieSizeBudgetResult as w, type CookieSizeEntry as x, type DnsRecord as y, type DnsRecordType as z };
1411
+ export { type ManifestIssue as $, type AcceptLanguageEntry as A, type BuildRangeHeaderOptions as B, CLIENT_HINTS as C, type CookieSizeEntry as D, DNS_RECORD_TYPES as E, type DnsRecord as F, type DnsRecordType as G, type DnsResponse as H, type EmailHeaderAnalysis as I, type EmailHeaderField as J, type GeoResult as K, HTTP_HEADERS as L, type HarEntry as M, type HarParseResult as N, type HarSummary as O, type HeaderCategory as P, type HstsOptions as Q, type HstsResult as R, type HttpHeader as S, type Ipv6AddressType as T, type Ipv6ParseResult as U, LINK_REL_VALUES as V, type LinkHeaderEntry as W, type LinkHeaderEntryInput as X, type LinkHeaderResult as Y, type LinkRel as Z, type ManifestIconInfo as _, type AcceptLanguageResult as a, buildCacheControl as a$, type ManifestValidationResult as a0, type MultipartParseResult as a1, type MultipartPart as a2, type OpcodeCategory as a3, type OpcodeInfo as a4, PERMISSIONS_POLICY_FEATURES as a5, type ParsedClientHint as a6, type ParsedDnsResult as a7, type ParsedGeoResult as a8, type PermissionsPolicyDirective as a9, STATUS_CODES as aA, type SameSiteValue as aB, type SecurityHeaderCheck as aC, type SecurityHeaderStatus as aD, type SecurityHeadersScorecard as aE, type SitemapIndexEntry as aF, type SitemapIssue as aG, type SitemapSplitFile as aH, type SitemapUrlEntry as aI, type SitemapValidationResult as aJ, type SplitSitemapOptions as aK, type SplitSitemapResult as aL, type StatusCode as aM, type UaDeviceType as aN, type UserAgentInfo as aO, type VaryHeaderEntry as aP, type VaryHeaderResult as aQ, type XContentTypeOptionsHeader as aR, type XContentTypeOptionsParseResult as aS, type XRobotsTagFlag as aT, type XRobotsTagOptions as aU, type XRobotsTagResult as aV, X_CONTENT_TYPE_OPTIONS_HEADER as aW, analyzeEmailHeaders as aX, assessContentTypeRisk as aY, buildAcceptLanguage as aZ, buildAltSvcHeader as a_, type PermissionsPolicyFeatureInput as aa, type PermissionsPolicyResult as ab, type PreferParameter as ac, type PreferPreference as ad, type PreferResult as ae, type PriorityResult as af, REFERRER_POLICY_VALUES as ag, type RangeEntry as ah, type RangeEntryInput as ai, type RangeHeaderResult as aj, type ReceivedHop as ak, type ReferrerPolicyEntry as al, type ReferrerPolicyResult as am, type ReferrerPolicyValue as an, type RetryAfterDateResult as ao, type RetryAfterResult as ap, type RetryAfterSecondsResult as aq, type RobotsGenerateGroup as ar, type RobotsGenerateOptions as as, type RobotsGroup as at, type RobotsIssue as au, type RobotsMetaTagFlag as av, type RobotsMetaTagOptions as aw, type RobotsMetaTagResult as ax, type RobotsRule as ay, type RobotsValidationResult as az, type AltSvcAlternative as b, searchStatusCodes as b$, buildClearSiteData as b0, buildClientHints as b1, buildContentDisposition as b2, buildDnsQueryUrl as b3, buildGeoUrl as b4, buildHsts as b5, buildLinkHeader as b6, buildMapUrl as b7, buildPermissionsPolicy as b8, buildPreferHeader as b9, listCloseCodes as bA, listOpcodes as bB, lookupCloseCode as bC, lookupOpcode as bD, parseAcceptLanguage as bE, parseAltSvcHeader as bF, parseClearSiteData as bG, parseClientHintHeaders as bH, parseContentDisposition as bI, parseContentRangeHeader as bJ, parseDnsResponse as bK, parseGeoResponse as bL, parseHar as bM, parseHsts as bN, parseIpv6Address as bO, parseMultipartFormData as bP, parsePermissionsPolicy as bQ, parsePreferHeader as bR, parsePriorityHeader as bS, parseRetryAfterHeader as bT, parseRobotsMetaTag as bU, parseUserAgent as bV, parseVaryHeader as bW, parseXContentTypeOptionsHeader as bX, parseXRobotsTag as bY, scoreSecurityHeaders as bZ, searchHeaders as b_, buildPriorityHeader as ba, buildRangeHeader as bb, buildReferrerPolicy as bc, buildRetryAfterHeader as bd, buildRobotsMetaTag as be, buildVaryHeader as bf, buildXContentTypeOptionsHeader as bg, buildXRobotsTag as bh, calculateCookieSizeBudget as bi, checkSetCookieHeader as bj, countryCodeToFlag as bk, extractMultipartBoundary as bl, formatCoordinates as bm, formatTtl as bn, generateRobotsTxt as bo, getByCategory as bp, getHeader as bq, getHeadersByCategory as br, getStatusByCategory as bs, getStatusCode as bt, isClientError as bu, isServerError as bv, isSuccess as bw, isValidIp as bx, isValidIpv4 as by, isValidIpv6 as bz, type AltSvcEntry as c, splitSitemap as c0, statusCodeToText as c1, typeNumberToLabel as c2, validateDomain as c3, validateHeaderName as c4, validateHeaderValue as c5, validateManifest as c6, validateRobotsTxt as c7, validateSitemap as c8, type AltSvcResult as d, type AuthResultEntry as e, type CacheControlDirective as f, type CacheControlOptions as g, type CacheControlResult as h, type ClearSiteDataDirective as i, type ClearSiteDataResult as j, type ClientHintDef as k, type ClientHintValueType as l, type ClientHintsBuildResult as m, network as n, type ClientHintsParseResult as o, type CloseCodeInfo as p, type CloseCodeRange as q, type ContentDispositionBuildOptions as r, type ContentDispositionBuildResult as s, type ContentDispositionParseResult as t, type ContentRangeResult as u, type ContentTypeRiskResult as v, type ContentTypeSniffRisk as w, type CookieAttributes as x, type CookieCheckResult as y, type CookieSizeBudgetResult as z };
@@ -3624,6 +3624,114 @@ function parseClearSiteData(raw) {
3624
3624
  }
3625
3625
  return buildClearSiteData(directives);
3626
3626
  }
3627
+ var ALT_SVC_DEFAULT_MAX_AGE = 86400;
3628
+ var ALT_SVC_DEPRECATED_H3_DRAFTS = /* @__PURE__ */ new Set(["h3-29", "h3-27", "h3-25", "h3-24", "h3-23", "h3-22"]);
3629
+ var ALT_SVC_PROTOCOL_NOTES = {
3630
+ "h3": "HTTP/3 over QUIC, the current protocol ID clients should be offered.",
3631
+ "h3-29": 'An outdated HTTP/3 draft version (draft-29); modern clients only match "h3".',
3632
+ "h3-27": 'An outdated HTTP/3 draft version (draft-27); modern clients only match "h3".',
3633
+ "h3-25": 'An outdated HTTP/3 draft version (draft-25); modern clients only match "h3".',
3634
+ "h2": "HTTP/2 over TLS.",
3635
+ "h2c": "HTTP/2 over cleartext TCP; rarely advertised via Alt-Svc since it needs an out-of-band upgrade rather than ALPN negotiation.",
3636
+ "http/1.1": "Plain HTTP/1.1; advertising it via Alt-Svc is unusual since it is already the universal fallback."
3637
+ };
3638
+ function buildAltSvcHeader(alternatives) {
3639
+ if (!Array.isArray(alternatives) || alternatives.length === 0) {
3640
+ return { error: "At least one alternative service is required" };
3641
+ }
3642
+ const warnings = [];
3643
+ const entries = [];
3644
+ const seen = /* @__PURE__ */ new Set();
3645
+ for (const alt of alternatives) {
3646
+ const protocolId = typeof alt.protocolId === "string" ? alt.protocolId.trim() : "";
3647
+ if (!protocolId) return { error: 'Each alternative needs a protocol-id (e.g. "h3")' };
3648
+ if (!Number.isInteger(alt.port) || alt.port < 1 || alt.port > 65535) {
3649
+ return { error: `Each alternative needs a valid port (1-65535), got ${JSON.stringify(alt.port)}` };
3650
+ }
3651
+ const host = alt.host?.trim();
3652
+ const authority = `${host ?? ""}:${alt.port}`;
3653
+ const maxAge = alt.maxAge !== void 0 ? alt.maxAge : ALT_SVC_DEFAULT_MAX_AGE;
3654
+ if (!Number.isFinite(maxAge) || maxAge < 0) return { error: "maxAge must be a non-negative number of seconds" };
3655
+ const persist = alt.persist === true;
3656
+ const dedupeKey = `${protocolId.toLowerCase()}|${authority.toLowerCase()}`;
3657
+ if (seen.has(dedupeKey)) {
3658
+ warnings.push(`duplicate alternative "${protocolId}=${JSON.stringify(authority)}" was removed`);
3659
+ continue;
3660
+ }
3661
+ seen.add(dedupeKey);
3662
+ if (maxAge === 0) warnings.push(`"${protocolId}" has ma=0, so clients should treat it as already expired`);
3663
+ if (persist && maxAge === 0) warnings.push(`"${protocolId}" sets persist=1 with ma=0, which is contradictory: the entry expires immediately`);
3664
+ if (ALT_SVC_DEPRECATED_H3_DRAFTS.has(protocolId.toLowerCase())) {
3665
+ warnings.push(`"${protocolId}" is an outdated HTTP/3 draft protocol-id; modern clients only match "h3"`);
3666
+ }
3667
+ const note = ALT_SVC_PROTOCOL_NOTES[protocolId.toLowerCase()] ?? `Advertises "${protocolId}" as an alternative protocol clients may switch to for this authority.`;
3668
+ entries.push({ protocolId, authority, maxAge, persist, note });
3669
+ }
3670
+ if (entries.length === 0) return { error: "At least one alternative service is required" };
3671
+ const headerValue = entries.map((e) => {
3672
+ let s = `${e.protocolId}="${e.authority}"; ma=${e.maxAge}`;
3673
+ if (e.persist) s += "; persist=1";
3674
+ return s;
3675
+ }).join(", ");
3676
+ return { header: `Alt-Svc: ${headerValue}`, headerValue, entries, cleared: false, warnings };
3677
+ }
3678
+ function altSvcSplitTopLevel(s, sep) {
3679
+ const out = [];
3680
+ let inQuotes = false;
3681
+ let current = "";
3682
+ for (const ch of s) {
3683
+ if (ch === '"') inQuotes = !inQuotes;
3684
+ if (ch === sep && !inQuotes) {
3685
+ out.push(current);
3686
+ current = "";
3687
+ } else {
3688
+ current += ch;
3689
+ }
3690
+ }
3691
+ out.push(current);
3692
+ return out;
3693
+ }
3694
+ function parseAltSvcHeader(raw) {
3695
+ if (!raw || raw.trim() === "") return { error: "Input is empty" };
3696
+ const withoutLabel = raw.trim().replace(/^alt-svc:\s*/i, "");
3697
+ if (withoutLabel.toLowerCase() === "clear") {
3698
+ return { header: "Alt-Svc: clear", headerValue: "clear", entries: [], cleared: true, warnings: [] };
3699
+ }
3700
+ const parts = altSvcSplitTopLevel(withoutLabel, ",");
3701
+ const alternatives = [];
3702
+ for (const part of parts) {
3703
+ const trimmedPart = part.trim();
3704
+ if (!trimmedPart) continue;
3705
+ const eq = trimmedPart.indexOf("=");
3706
+ if (eq === -1) return { error: `Could not parse alternative: "${trimmedPart}"` };
3707
+ const protocolId = trimmedPart.slice(0, eq).trim();
3708
+ const rest = trimmedPart.slice(eq + 1).trim();
3709
+ const segments = altSvcSplitTopLevel(rest, ";").map((s) => s.trim());
3710
+ const authorityMatch = segments[0]?.match(/^"(.*)"$/);
3711
+ if (!authorityMatch) return { error: `Alternative "${protocolId}" is missing a quoted authority (e.g. ":443")` };
3712
+ const authority = authorityMatch[1];
3713
+ const colonIdx = authority.lastIndexOf(":");
3714
+ if (colonIdx === -1) return { error: `Alternative "${protocolId}" has an authority with no port: "${authority}"` };
3715
+ const host = authority.slice(0, colonIdx) || void 0;
3716
+ const portStr = authority.slice(colonIdx + 1);
3717
+ const port = Number(portStr);
3718
+ if (!Number.isInteger(port) || port < 1 || port > 65535) return { error: `Alternative "${protocolId}" has an invalid port: "${portStr}"` };
3719
+ let maxAge;
3720
+ let persist = false;
3721
+ for (const seg of segments.slice(1)) {
3722
+ const sepIdx = seg.indexOf("=");
3723
+ if (sepIdx === -1) continue;
3724
+ const key = seg.slice(0, sepIdx).trim().toLowerCase();
3725
+ const value = seg.slice(sepIdx + 1).trim();
3726
+ if (key === "ma") maxAge = Number(value);
3727
+ if (key === "persist") persist = value === "1";
3728
+ }
3729
+ if (maxAge !== void 0 && !Number.isFinite(maxAge)) return { error: `Alternative "${protocolId}" has a non-numeric ma value` };
3730
+ alternatives.push({ protocolId, host, port, maxAge, persist });
3731
+ }
3732
+ if (alternatives.length === 0) return { error: "No alternative services found" };
3733
+ return buildAltSvcHeader(alternatives);
3734
+ }
3627
3735
 
3628
3736
  exports.CLIENT_HINTS = CLIENT_HINTS;
3629
3737
  exports.DNS_RECORD_TYPES = DNS_RECORD_TYPES;
@@ -3636,6 +3744,7 @@ exports.X_CONTENT_TYPE_OPTIONS_HEADER = X_CONTENT_TYPE_OPTIONS_HEADER;
3636
3744
  exports.analyzeEmailHeaders = analyzeEmailHeaders;
3637
3745
  exports.assessContentTypeRisk = assessContentTypeRisk;
3638
3746
  exports.buildAcceptLanguage = buildAcceptLanguage;
3747
+ exports.buildAltSvcHeader = buildAltSvcHeader;
3639
3748
  exports.buildCacheControl = buildCacheControl;
3640
3749
  exports.buildClearSiteData = buildClearSiteData;
3641
3750
  exports.buildClientHints = buildClientHints;
@@ -3678,6 +3787,7 @@ exports.listOpcodes = listOpcodes;
3678
3787
  exports.lookupCloseCode = lookupCloseCode;
3679
3788
  exports.lookupOpcode = lookupOpcode;
3680
3789
  exports.parseAcceptLanguage = parseAcceptLanguage;
3790
+ exports.parseAltSvcHeader = parseAltSvcHeader;
3681
3791
  exports.parseClearSiteData = parseClearSiteData;
3682
3792
  exports.parseClientHintHeaders = parseClientHintHeaders;
3683
3793
  exports.parseContentDisposition = parseContentDisposition;
@@ -1 +1 @@
1
- export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, c as CacheControlDirective, d as CacheControlOptions, e as CacheControlResult, f as ClearSiteDataDirective, g as ClearSiteDataResult, h as ClientHintDef, i as ClientHintValueType, j as ClientHintsBuildResult, k as ClientHintsParseResult, l as CloseCodeInfo, m as CloseCodeRange, o as ContentDispositionBuildOptions, p as ContentDispositionBuildResult, q as ContentDispositionParseResult, r as ContentRangeResult, s as ContentTypeRiskResult, t as ContentTypeSniffRisk, u as CookieAttributes, v as CookieCheckResult, w as CookieSizeBudgetResult, x as CookieSizeEntry, D as DNS_RECORD_TYPES, y as DnsRecord, z as DnsRecordType, E as DnsResponse, F as EmailHeaderAnalysis, G as EmailHeaderField, H as GeoResult, I as HTTP_HEADERS, J as HarEntry, K as HarParseResult, L as HarSummary, M as HeaderCategory, N as HstsOptions, O as HstsResult, P as HttpHeader, Q as Ipv6AddressType, R as Ipv6ParseResult, S as LINK_REL_VALUES, T as LinkHeaderEntry, U as LinkHeaderEntryInput, V as LinkHeaderResult, W as LinkRel, X as ManifestIconInfo, Y as ManifestIssue, Z as ManifestValidationResult, _ as MultipartParseResult, $ as MultipartPart, a0 as OpcodeCategory, a1 as OpcodeInfo, a2 as PERMISSIONS_POLICY_FEATURES, a3 as ParsedClientHint, a4 as ParsedDnsResult, a5 as ParsedGeoResult, a6 as PermissionsPolicyDirective, a7 as PermissionsPolicyFeatureInput, a8 as PermissionsPolicyResult, a9 as PreferParameter, aa as PreferPreference, ab as PreferResult, ac as PriorityResult, ad as REFERRER_POLICY_VALUES, ae as RangeEntry, af as RangeEntryInput, ag as RangeHeaderResult, ah as ReceivedHop, ai as ReferrerPolicyEntry, aj as ReferrerPolicyResult, ak as ReferrerPolicyValue, al as RetryAfterDateResult, am as RetryAfterResult, an as RetryAfterSecondsResult, ao as RobotsGenerateGroup, ap as RobotsGenerateOptions, aq as RobotsGroup, ar as RobotsIssue, as as RobotsMetaTagFlag, at as RobotsMetaTagOptions, au as RobotsMetaTagResult, av as RobotsRule, aw as RobotsValidationResult, ax as STATUS_CODES, ay as SameSiteValue, az as SecurityHeaderCheck, aA as SecurityHeaderStatus, aB as SecurityHeadersScorecard, aC as SitemapIndexEntry, aD as SitemapIssue, aE as SitemapSplitFile, aF as SitemapUrlEntry, aG as SitemapValidationResult, aH as SplitSitemapOptions, aI as SplitSitemapResult, aJ as StatusCode, aK as UaDeviceType, aL as UserAgentInfo, aM as VaryHeaderEntry, aN as VaryHeaderResult, aO as XContentTypeOptionsHeader, aP as XContentTypeOptionsParseResult, aQ as XRobotsTagFlag, aR as XRobotsTagOptions, aS as XRobotsTagResult, aT as X_CONTENT_TYPE_OPTIONS_HEADER, aU as analyzeEmailHeaders, aV as assessContentTypeRisk, aW as buildAcceptLanguage, aX as buildCacheControl, aY as buildClearSiteData, aZ as buildClientHints, a_ as buildContentDisposition, a$ as buildDnsQueryUrl, b0 as buildGeoUrl, b1 as buildHsts, b2 as buildLinkHeader, b3 as buildMapUrl, b4 as buildPermissionsPolicy, b5 as buildPreferHeader, b6 as buildPriorityHeader, b7 as buildRangeHeader, b8 as buildReferrerPolicy, b9 as buildRetryAfterHeader, ba as buildRobotsMetaTag, bb as buildVaryHeader, bc as buildXContentTypeOptionsHeader, bd as buildXRobotsTag, be as calculateCookieSizeBudget, bf as checkSetCookieHeader, bg as countryCodeToFlag, bh as extractMultipartBoundary, bi as formatCoordinates, bj as formatTtl, bk as generateRobotsTxt, bl as getByCategory, bm as getHeader, bn as getHeadersByCategory, bo as getStatusByCategory, bp as getStatusCode, bq as isClientError, br as isServerError, bs as isSuccess, bt as isValidIp, bu as isValidIpv4, bv as isValidIpv6, bw as listCloseCodes, bx as listOpcodes, by as lookupCloseCode, bz as lookupOpcode, bA as parseAcceptLanguage, bB as parseClearSiteData, bC as parseClientHintHeaders, bD as parseContentDisposition, bE as parseContentRangeHeader, bF as parseDnsResponse, bG as parseGeoResponse, bH as parseHar, bI as parseHsts, bJ as parseIpv6Address, bK as parseMultipartFormData, bL as parsePermissionsPolicy, bM as parsePreferHeader, bN as parsePriorityHeader, bO as parseRetryAfterHeader, bP as parseRobotsMetaTag, bQ as parseUserAgent, bR as parseVaryHeader, bS as parseXContentTypeOptionsHeader, bT as parseXRobotsTag, bU as scoreSecurityHeaders, bV as searchHeaders, bW as searchStatusCodes, bX as splitSitemap, bY as statusCodeToText, bZ as typeNumberToLabel, b_ as validateDomain, b$ as validateHeaderName, c0 as validateHeaderValue, c1 as validateManifest, c2 as validateRobotsTxt, c3 as validateSitemap } from '../network-9j5aKpoR.cjs';
1
+ export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AltSvcAlternative, c as AltSvcEntry, d as AltSvcResult, e as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, f as CacheControlDirective, g as CacheControlOptions, h as CacheControlResult, i as ClearSiteDataDirective, j as ClearSiteDataResult, k as ClientHintDef, l as ClientHintValueType, m as ClientHintsBuildResult, o as ClientHintsParseResult, p as CloseCodeInfo, q as CloseCodeRange, r as ContentDispositionBuildOptions, s as ContentDispositionBuildResult, t as ContentDispositionParseResult, u as ContentRangeResult, v as ContentTypeRiskResult, w as ContentTypeSniffRisk, x as CookieAttributes, y as CookieCheckResult, z as CookieSizeBudgetResult, D as CookieSizeEntry, E as DNS_RECORD_TYPES, F as DnsRecord, G as DnsRecordType, H as DnsResponse, I as EmailHeaderAnalysis, J as EmailHeaderField, K as GeoResult, L as HTTP_HEADERS, M as HarEntry, N as HarParseResult, O as HarSummary, P as HeaderCategory, Q as HstsOptions, R as HstsResult, S as HttpHeader, T as Ipv6AddressType, U as Ipv6ParseResult, V as LINK_REL_VALUES, W as LinkHeaderEntry, X as LinkHeaderEntryInput, Y as LinkHeaderResult, Z as LinkRel, _ as ManifestIconInfo, $ as ManifestIssue, a0 as ManifestValidationResult, a1 as MultipartParseResult, a2 as MultipartPart, a3 as OpcodeCategory, a4 as OpcodeInfo, a5 as PERMISSIONS_POLICY_FEATURES, a6 as ParsedClientHint, a7 as ParsedDnsResult, a8 as ParsedGeoResult, a9 as PermissionsPolicyDirective, aa as PermissionsPolicyFeatureInput, ab as PermissionsPolicyResult, ac as PreferParameter, ad as PreferPreference, ae as PreferResult, af as PriorityResult, ag as REFERRER_POLICY_VALUES, ah as RangeEntry, ai as RangeEntryInput, aj as RangeHeaderResult, ak as ReceivedHop, al as ReferrerPolicyEntry, am as ReferrerPolicyResult, an as ReferrerPolicyValue, ao as RetryAfterDateResult, ap as RetryAfterResult, aq as RetryAfterSecondsResult, ar as RobotsGenerateGroup, as as RobotsGenerateOptions, at as RobotsGroup, au as RobotsIssue, av as RobotsMetaTagFlag, aw as RobotsMetaTagOptions, ax as RobotsMetaTagResult, ay as RobotsRule, az as RobotsValidationResult, aA as STATUS_CODES, aB as SameSiteValue, aC as SecurityHeaderCheck, aD as SecurityHeaderStatus, aE as SecurityHeadersScorecard, aF as SitemapIndexEntry, aG as SitemapIssue, aH as SitemapSplitFile, aI as SitemapUrlEntry, aJ as SitemapValidationResult, aK as SplitSitemapOptions, aL as SplitSitemapResult, aM as StatusCode, aN as UaDeviceType, aO as UserAgentInfo, aP as VaryHeaderEntry, aQ as VaryHeaderResult, aR as XContentTypeOptionsHeader, aS as XContentTypeOptionsParseResult, aT as XRobotsTagFlag, aU as XRobotsTagOptions, aV as XRobotsTagResult, aW as X_CONTENT_TYPE_OPTIONS_HEADER, aX as analyzeEmailHeaders, aY as assessContentTypeRisk, aZ as buildAcceptLanguage, a_ as buildAltSvcHeader, a$ as buildCacheControl, b0 as buildClearSiteData, b1 as buildClientHints, b2 as buildContentDisposition, b3 as buildDnsQueryUrl, b4 as buildGeoUrl, b5 as buildHsts, b6 as buildLinkHeader, b7 as buildMapUrl, b8 as buildPermissionsPolicy, b9 as buildPreferHeader, ba as buildPriorityHeader, bb as buildRangeHeader, bc as buildReferrerPolicy, bd as buildRetryAfterHeader, be as buildRobotsMetaTag, bf as buildVaryHeader, bg as buildXContentTypeOptionsHeader, bh as buildXRobotsTag, bi as calculateCookieSizeBudget, bj as checkSetCookieHeader, bk as countryCodeToFlag, bl as extractMultipartBoundary, bm as formatCoordinates, bn as formatTtl, bo as generateRobotsTxt, bp as getByCategory, bq as getHeader, br as getHeadersByCategory, bs as getStatusByCategory, bt as getStatusCode, bu as isClientError, bv as isServerError, bw as isSuccess, bx as isValidIp, by as isValidIpv4, bz as isValidIpv6, bA as listCloseCodes, bB as listOpcodes, bC as lookupCloseCode, bD as lookupOpcode, bE as parseAcceptLanguage, bF as parseAltSvcHeader, bG as parseClearSiteData, bH as parseClientHintHeaders, bI as parseContentDisposition, bJ as parseContentRangeHeader, bK as parseDnsResponse, bL as parseGeoResponse, bM as parseHar, bN as parseHsts, bO as parseIpv6Address, bP as parseMultipartFormData, bQ as parsePermissionsPolicy, bR as parsePreferHeader, bS as parsePriorityHeader, bT as parseRetryAfterHeader, bU as parseRobotsMetaTag, bV as parseUserAgent, bW as parseVaryHeader, bX as parseXContentTypeOptionsHeader, bY as parseXRobotsTag, bZ as scoreSecurityHeaders, b_ as searchHeaders, b$ as searchStatusCodes, c0 as splitSitemap, c1 as statusCodeToText, c2 as typeNumberToLabel, c3 as validateDomain, c4 as validateHeaderName, c5 as validateHeaderValue, c6 as validateManifest, c7 as validateRobotsTxt, c8 as validateSitemap } from '../network-B6fQrsCc.cjs';
@@ -1 +1 @@
1
- export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, c as CacheControlDirective, d as CacheControlOptions, e as CacheControlResult, f as ClearSiteDataDirective, g as ClearSiteDataResult, h as ClientHintDef, i as ClientHintValueType, j as ClientHintsBuildResult, k as ClientHintsParseResult, l as CloseCodeInfo, m as CloseCodeRange, o as ContentDispositionBuildOptions, p as ContentDispositionBuildResult, q as ContentDispositionParseResult, r as ContentRangeResult, s as ContentTypeRiskResult, t as ContentTypeSniffRisk, u as CookieAttributes, v as CookieCheckResult, w as CookieSizeBudgetResult, x as CookieSizeEntry, D as DNS_RECORD_TYPES, y as DnsRecord, z as DnsRecordType, E as DnsResponse, F as EmailHeaderAnalysis, G as EmailHeaderField, H as GeoResult, I as HTTP_HEADERS, J as HarEntry, K as HarParseResult, L as HarSummary, M as HeaderCategory, N as HstsOptions, O as HstsResult, P as HttpHeader, Q as Ipv6AddressType, R as Ipv6ParseResult, S as LINK_REL_VALUES, T as LinkHeaderEntry, U as LinkHeaderEntryInput, V as LinkHeaderResult, W as LinkRel, X as ManifestIconInfo, Y as ManifestIssue, Z as ManifestValidationResult, _ as MultipartParseResult, $ as MultipartPart, a0 as OpcodeCategory, a1 as OpcodeInfo, a2 as PERMISSIONS_POLICY_FEATURES, a3 as ParsedClientHint, a4 as ParsedDnsResult, a5 as ParsedGeoResult, a6 as PermissionsPolicyDirective, a7 as PermissionsPolicyFeatureInput, a8 as PermissionsPolicyResult, a9 as PreferParameter, aa as PreferPreference, ab as PreferResult, ac as PriorityResult, ad as REFERRER_POLICY_VALUES, ae as RangeEntry, af as RangeEntryInput, ag as RangeHeaderResult, ah as ReceivedHop, ai as ReferrerPolicyEntry, aj as ReferrerPolicyResult, ak as ReferrerPolicyValue, al as RetryAfterDateResult, am as RetryAfterResult, an as RetryAfterSecondsResult, ao as RobotsGenerateGroup, ap as RobotsGenerateOptions, aq as RobotsGroup, ar as RobotsIssue, as as RobotsMetaTagFlag, at as RobotsMetaTagOptions, au as RobotsMetaTagResult, av as RobotsRule, aw as RobotsValidationResult, ax as STATUS_CODES, ay as SameSiteValue, az as SecurityHeaderCheck, aA as SecurityHeaderStatus, aB as SecurityHeadersScorecard, aC as SitemapIndexEntry, aD as SitemapIssue, aE as SitemapSplitFile, aF as SitemapUrlEntry, aG as SitemapValidationResult, aH as SplitSitemapOptions, aI as SplitSitemapResult, aJ as StatusCode, aK as UaDeviceType, aL as UserAgentInfo, aM as VaryHeaderEntry, aN as VaryHeaderResult, aO as XContentTypeOptionsHeader, aP as XContentTypeOptionsParseResult, aQ as XRobotsTagFlag, aR as XRobotsTagOptions, aS as XRobotsTagResult, aT as X_CONTENT_TYPE_OPTIONS_HEADER, aU as analyzeEmailHeaders, aV as assessContentTypeRisk, aW as buildAcceptLanguage, aX as buildCacheControl, aY as buildClearSiteData, aZ as buildClientHints, a_ as buildContentDisposition, a$ as buildDnsQueryUrl, b0 as buildGeoUrl, b1 as buildHsts, b2 as buildLinkHeader, b3 as buildMapUrl, b4 as buildPermissionsPolicy, b5 as buildPreferHeader, b6 as buildPriorityHeader, b7 as buildRangeHeader, b8 as buildReferrerPolicy, b9 as buildRetryAfterHeader, ba as buildRobotsMetaTag, bb as buildVaryHeader, bc as buildXContentTypeOptionsHeader, bd as buildXRobotsTag, be as calculateCookieSizeBudget, bf as checkSetCookieHeader, bg as countryCodeToFlag, bh as extractMultipartBoundary, bi as formatCoordinates, bj as formatTtl, bk as generateRobotsTxt, bl as getByCategory, bm as getHeader, bn as getHeadersByCategory, bo as getStatusByCategory, bp as getStatusCode, bq as isClientError, br as isServerError, bs as isSuccess, bt as isValidIp, bu as isValidIpv4, bv as isValidIpv6, bw as listCloseCodes, bx as listOpcodes, by as lookupCloseCode, bz as lookupOpcode, bA as parseAcceptLanguage, bB as parseClearSiteData, bC as parseClientHintHeaders, bD as parseContentDisposition, bE as parseContentRangeHeader, bF as parseDnsResponse, bG as parseGeoResponse, bH as parseHar, bI as parseHsts, bJ as parseIpv6Address, bK as parseMultipartFormData, bL as parsePermissionsPolicy, bM as parsePreferHeader, bN as parsePriorityHeader, bO as parseRetryAfterHeader, bP as parseRobotsMetaTag, bQ as parseUserAgent, bR as parseVaryHeader, bS as parseXContentTypeOptionsHeader, bT as parseXRobotsTag, bU as scoreSecurityHeaders, bV as searchHeaders, bW as searchStatusCodes, bX as splitSitemap, bY as statusCodeToText, bZ as typeNumberToLabel, b_ as validateDomain, b$ as validateHeaderName, c0 as validateHeaderValue, c1 as validateManifest, c2 as validateRobotsTxt, c3 as validateSitemap } from '../network-9j5aKpoR.js';
1
+ export { A as AcceptLanguageEntry, a as AcceptLanguageResult, b as AltSvcAlternative, c as AltSvcEntry, d as AltSvcResult, e as AuthResultEntry, B as BuildRangeHeaderOptions, C as CLIENT_HINTS, f as CacheControlDirective, g as CacheControlOptions, h as CacheControlResult, i as ClearSiteDataDirective, j as ClearSiteDataResult, k as ClientHintDef, l as ClientHintValueType, m as ClientHintsBuildResult, o as ClientHintsParseResult, p as CloseCodeInfo, q as CloseCodeRange, r as ContentDispositionBuildOptions, s as ContentDispositionBuildResult, t as ContentDispositionParseResult, u as ContentRangeResult, v as ContentTypeRiskResult, w as ContentTypeSniffRisk, x as CookieAttributes, y as CookieCheckResult, z as CookieSizeBudgetResult, D as CookieSizeEntry, E as DNS_RECORD_TYPES, F as DnsRecord, G as DnsRecordType, H as DnsResponse, I as EmailHeaderAnalysis, J as EmailHeaderField, K as GeoResult, L as HTTP_HEADERS, M as HarEntry, N as HarParseResult, O as HarSummary, P as HeaderCategory, Q as HstsOptions, R as HstsResult, S as HttpHeader, T as Ipv6AddressType, U as Ipv6ParseResult, V as LINK_REL_VALUES, W as LinkHeaderEntry, X as LinkHeaderEntryInput, Y as LinkHeaderResult, Z as LinkRel, _ as ManifestIconInfo, $ as ManifestIssue, a0 as ManifestValidationResult, a1 as MultipartParseResult, a2 as MultipartPart, a3 as OpcodeCategory, a4 as OpcodeInfo, a5 as PERMISSIONS_POLICY_FEATURES, a6 as ParsedClientHint, a7 as ParsedDnsResult, a8 as ParsedGeoResult, a9 as PermissionsPolicyDirective, aa as PermissionsPolicyFeatureInput, ab as PermissionsPolicyResult, ac as PreferParameter, ad as PreferPreference, ae as PreferResult, af as PriorityResult, ag as REFERRER_POLICY_VALUES, ah as RangeEntry, ai as RangeEntryInput, aj as RangeHeaderResult, ak as ReceivedHop, al as ReferrerPolicyEntry, am as ReferrerPolicyResult, an as ReferrerPolicyValue, ao as RetryAfterDateResult, ap as RetryAfterResult, aq as RetryAfterSecondsResult, ar as RobotsGenerateGroup, as as RobotsGenerateOptions, at as RobotsGroup, au as RobotsIssue, av as RobotsMetaTagFlag, aw as RobotsMetaTagOptions, ax as RobotsMetaTagResult, ay as RobotsRule, az as RobotsValidationResult, aA as STATUS_CODES, aB as SameSiteValue, aC as SecurityHeaderCheck, aD as SecurityHeaderStatus, aE as SecurityHeadersScorecard, aF as SitemapIndexEntry, aG as SitemapIssue, aH as SitemapSplitFile, aI as SitemapUrlEntry, aJ as SitemapValidationResult, aK as SplitSitemapOptions, aL as SplitSitemapResult, aM as StatusCode, aN as UaDeviceType, aO as UserAgentInfo, aP as VaryHeaderEntry, aQ as VaryHeaderResult, aR as XContentTypeOptionsHeader, aS as XContentTypeOptionsParseResult, aT as XRobotsTagFlag, aU as XRobotsTagOptions, aV as XRobotsTagResult, aW as X_CONTENT_TYPE_OPTIONS_HEADER, aX as analyzeEmailHeaders, aY as assessContentTypeRisk, aZ as buildAcceptLanguage, a_ as buildAltSvcHeader, a$ as buildCacheControl, b0 as buildClearSiteData, b1 as buildClientHints, b2 as buildContentDisposition, b3 as buildDnsQueryUrl, b4 as buildGeoUrl, b5 as buildHsts, b6 as buildLinkHeader, b7 as buildMapUrl, b8 as buildPermissionsPolicy, b9 as buildPreferHeader, ba as buildPriorityHeader, bb as buildRangeHeader, bc as buildReferrerPolicy, bd as buildRetryAfterHeader, be as buildRobotsMetaTag, bf as buildVaryHeader, bg as buildXContentTypeOptionsHeader, bh as buildXRobotsTag, bi as calculateCookieSizeBudget, bj as checkSetCookieHeader, bk as countryCodeToFlag, bl as extractMultipartBoundary, bm as formatCoordinates, bn as formatTtl, bo as generateRobotsTxt, bp as getByCategory, bq as getHeader, br as getHeadersByCategory, bs as getStatusByCategory, bt as getStatusCode, bu as isClientError, bv as isServerError, bw as isSuccess, bx as isValidIp, by as isValidIpv4, bz as isValidIpv6, bA as listCloseCodes, bB as listOpcodes, bC as lookupCloseCode, bD as lookupOpcode, bE as parseAcceptLanguage, bF as parseAltSvcHeader, bG as parseClearSiteData, bH as parseClientHintHeaders, bI as parseContentDisposition, bJ as parseContentRangeHeader, bK as parseDnsResponse, bL as parseGeoResponse, bM as parseHar, bN as parseHsts, bO as parseIpv6Address, bP as parseMultipartFormData, bQ as parsePermissionsPolicy, bR as parsePreferHeader, bS as parsePriorityHeader, bT as parseRetryAfterHeader, bU as parseRobotsMetaTag, bV as parseUserAgent, bW as parseVaryHeader, bX as parseXContentTypeOptionsHeader, bY as parseXRobotsTag, bZ as scoreSecurityHeaders, b_ as searchHeaders, b$ as searchStatusCodes, c0 as splitSitemap, c1 as statusCodeToText, c2 as typeNumberToLabel, c3 as validateDomain, c4 as validateHeaderName, c5 as validateHeaderValue, c6 as validateManifest, c7 as validateRobotsTxt, c8 as validateSitemap } from '../network-B6fQrsCc.js';
@@ -1,2 +1,2 @@
1
- export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildCacheControl, buildClearSiteData, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildHsts, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildPriorityHeader, buildRangeHeader, buildReferrerPolicy, buildRetryAfterHeader, buildRobotsMetaTag, buildVaryHeader, buildXContentTypeOptionsHeader, buildXRobotsTag, calculateCookieSizeBudget, checkSetCookieHeader, countryCodeToFlag, extractMultipartBoundary, formatCoordinates, formatTtl, generateRobotsTxt, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, listCloseCodes, listOpcodes, lookupCloseCode, lookupOpcode, parseAcceptLanguage, parseClearSiteData, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseHsts, parseIpv6Address, parseMultipartFormData, parsePermissionsPolicy, parsePreferHeader, parsePriorityHeader, parseRetryAfterHeader, parseRobotsMetaTag, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, parseXRobotsTag, scoreSecurityHeaders, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap } from '../chunk-K3B4JTHN.js';
1
+ export { CLIENT_HINTS, DNS_RECORD_TYPES, HTTP_HEADERS, LINK_REL_VALUES, PERMISSIONS_POLICY_FEATURES, REFERRER_POLICY_VALUES, STATUS_CODES, X_CONTENT_TYPE_OPTIONS_HEADER, analyzeEmailHeaders, assessContentTypeRisk, buildAcceptLanguage, buildAltSvcHeader, buildCacheControl, buildClearSiteData, buildClientHints, buildContentDisposition, buildDnsQueryUrl, buildGeoUrl, buildHsts, buildLinkHeader, buildMapUrl, buildPermissionsPolicy, buildPreferHeader, buildPriorityHeader, buildRangeHeader, buildReferrerPolicy, buildRetryAfterHeader, buildRobotsMetaTag, buildVaryHeader, buildXContentTypeOptionsHeader, buildXRobotsTag, calculateCookieSizeBudget, checkSetCookieHeader, countryCodeToFlag, extractMultipartBoundary, formatCoordinates, formatTtl, generateRobotsTxt, getByCategory, getHeader, getHeadersByCategory, getStatusByCategory, getStatusCode, isClientError, isServerError, isSuccess, isValidIp, isValidIpv4, isValidIpv6, listCloseCodes, listOpcodes, lookupCloseCode, lookupOpcode, parseAcceptLanguage, parseAltSvcHeader, parseClearSiteData, parseClientHintHeaders, parseContentDisposition, parseContentRangeHeader, parseDnsResponse, parseGeoResponse, parseHar, parseHsts, parseIpv6Address, parseMultipartFormData, parsePermissionsPolicy, parsePreferHeader, parsePriorityHeader, parseRetryAfterHeader, parseRobotsMetaTag, parseUserAgent, parseVaryHeader, parseXContentTypeOptionsHeader, parseXRobotsTag, scoreSecurityHeaders, searchHeaders, searchStatusCodes, splitSitemap, statusCodeToText, typeNumberToLabel, validateDomain, validateHeaderName, validateHeaderValue, validateManifest, validateRobotsTxt, validateSitemap } from '../chunk-K242OOF4.js';
2
2
  import '../chunk-MLKGABMK.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@utilix-tech/sdk",
3
- "version": "0.93.0",
3
+ "version": "0.94.0",
4
4
  "description": "738 developer utility functions for Node.js: JSON, encoding, hashing, color, CSS, network and more. Runs locally, no API key required.",
5
5
  "author": "Utilix <hello@utilix.tech>",
6
6
  "license": "MIT",