@suveren/gateway 0.7.4 → 0.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/control-plane/index.mjs +248 -58
- package/dist/mcp-server/http.mjs +408 -65
- package/dist/ui/assets/{index-CkWaRck1.css → index-BYVb_0oG.css} +1 -1
- package/dist/ui/assets/index-CsrM6RQr.js +110 -0
- package/dist/ui/index.html +2 -2
- package/node_modules/@hap/core/dist/index.d.mts +258 -9
- package/node_modules/@hap/core/dist/index.d.ts +258 -9
- package/node_modules/@hap/core/dist/index.js +227 -5
- package/node_modules/@hap/core/dist/index.mjs +213 -4
- package/node_modules/@hap/core/package.json +3 -2
- package/node_modules/@hap/core/src/did-key.ts +126 -0
- package/node_modules/@hap/core/src/identity.ts +21 -5
- package/node_modules/@hap/core/src/index.ts +3 -0
- package/node_modules/@hap/core/src/mandate.ts +207 -0
- package/node_modules/@hap/core/src/receipt.ts +74 -0
- package/node_modules/@hap/core/src/types.ts +81 -5
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/accept.js +54 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/charset.js +10 -34
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/encoding.js +9 -30
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/language.js +15 -36
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/lib/mediaType.js +16 -134
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/LICENSE +22 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/README.md +71 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.d.ts +46 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.js +176 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/node_modules/content-type/package.json +52 -0
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/package.json +16 -10
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/buffer.buffer.d.ts +5 -5
- package/node_modules/@types/node/crypto.d.ts +2 -2
- package/node_modules/@types/node/http.d.ts +16 -0
- package/node_modules/@types/node/http2.d.ts +10 -2
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/process.d.ts +52 -0
- package/node_modules/@types/node/quic.d.ts +210 -28
- package/node_modules/@types/node/sqlite.d.ts +6 -2
- package/node_modules/@types/node/test.d.ts +36 -0
- package/node_modules/fast-uri/index.js +201 -48
- package/node_modules/fast-uri/lib/schemes.js +9 -4
- package/node_modules/fast-uri/lib/utils.js +388 -91
- package/node_modules/fast-uri/package.json +1 -1
- package/node_modules/fast-uri/test/component-safe-serialization.test.js +105 -0
- package/node_modules/fast-uri/test/equal.test.js +31 -3
- package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +2 -0
- package/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
- package/node_modules/fast-uri/test/ipv6-validation.test.js +90 -0
- package/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
- package/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
- package/node_modules/fast-uri/test/parse.test.js +7 -3
- package/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
- package/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
- package/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
- package/node_modules/fast-uri/test/security-normalization.test.js +101 -0
- package/node_modules/fast-uri/test/security.test.js +75 -3
- package/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
- package/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
- package/node_modules/hono/dist/cjs/client/client.js +25 -11
- package/node_modules/hono/dist/cjs/client/utils.js +4 -1
- package/node_modules/hono/dist/cjs/context.js +4 -0
- package/node_modules/hono/dist/cjs/helper/accepts/accepts.js +36 -2
- package/node_modules/hono/dist/cjs/helper/ssg/ssg.js +1 -1
- package/node_modules/hono/dist/cjs/helper/ssg/utils.js +30 -10
- package/node_modules/hono/dist/cjs/jsx/dom/render.js +2 -0
- package/node_modules/hono/dist/cjs/middleware/cache/index.js +1 -1
- package/node_modules/hono/dist/cjs/middleware/cors/index.js +1 -1
- package/node_modules/hono/dist/cjs/middleware/csrf/index.js +1 -1
- package/node_modules/hono/dist/cjs/middleware/etag/digest.js +1 -1
- package/node_modules/hono/dist/cjs/middleware/etag/index.js +3 -3
- package/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +3 -1
- package/node_modules/hono/dist/cjs/request.js +8 -4
- package/node_modules/hono/dist/cjs/router/linear-router/router.js +7 -2
- package/node_modules/hono/dist/cjs/router/pattern-router/router.js +3 -9
- package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +10 -3
- package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +47 -83
- package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +2 -1
- package/node_modules/hono/dist/cjs/router/trie-router/node.js +46 -69
- package/node_modules/hono/dist/cjs/router/trie-router/router.js +3 -11
- package/node_modules/hono/dist/cjs/router/utils.js +27 -0
- package/node_modules/hono/dist/cjs/utils/body.js +15 -3
- package/node_modules/hono/dist/cjs/utils/cookie.js +1 -1
- package/node_modules/hono/dist/cjs/utils/ipaddr.js +5 -3
- package/node_modules/hono/dist/cjs/utils/stream.js +7 -1
- package/node_modules/hono/dist/cjs/utils/url.js +9 -1
- package/node_modules/hono/dist/client/client.js +25 -11
- package/node_modules/hono/dist/client/utils.js +4 -1
- package/node_modules/hono/dist/context.js +4 -0
- package/node_modules/hono/dist/helper/accepts/accepts.js +36 -2
- package/node_modules/hono/dist/helper/ssg/ssg.js +1 -1
- package/node_modules/hono/dist/helper/ssg/utils.js +30 -10
- package/node_modules/hono/dist/jsx/dom/render.js +2 -0
- package/node_modules/hono/dist/middleware/cache/index.js +1 -1
- package/node_modules/hono/dist/middleware/cors/index.js +1 -1
- package/node_modules/hono/dist/middleware/csrf/index.js +1 -1
- package/node_modules/hono/dist/middleware/etag/digest.js +1 -1
- package/node_modules/hono/dist/middleware/etag/index.js +3 -3
- package/node_modules/hono/dist/middleware/pretty-json/index.js +3 -1
- package/node_modules/hono/dist/request.js +8 -4
- package/node_modules/hono/dist/router/linear-router/router.js +7 -2
- package/node_modules/hono/dist/router/pattern-router/router.js +3 -9
- package/node_modules/hono/dist/router/reg-exp-router/node.js +6 -2
- package/node_modules/hono/dist/router/reg-exp-router/router.js +53 -84
- package/node_modules/hono/dist/router/reg-exp-router/trie.js +2 -1
- package/node_modules/hono/dist/router/trie-router/node.js +46 -69
- package/node_modules/hono/dist/router/trie-router/router.js +3 -11
- package/node_modules/hono/dist/router/utils.js +5 -0
- package/node_modules/hono/dist/types/context.d.ts +4 -0
- package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +3 -0
- package/node_modules/hono/dist/types/router/trie-router/node.d.ts +1 -2
- package/node_modules/hono/dist/types/router/trie-router/router.d.ts +0 -1
- package/node_modules/hono/dist/types/router/utils.d.ts +1 -0
- package/node_modules/hono/dist/types/utils/url.d.ts +4 -0
- package/node_modules/hono/dist/utils/body.js +15 -3
- package/node_modules/hono/dist/utils/cookie.js +1 -1
- package/node_modules/hono/dist/utils/ipaddr.js +5 -3
- package/node_modules/hono/dist/utils/stream.js +7 -1
- package/node_modules/hono/dist/utils/url.js +9 -1
- package/node_modules/hono/package.json +1 -1
- package/node_modules/is-plain-object/README.md +39 -95
- package/node_modules/is-plain-object/dist/is-plain-object.js +0 -2
- package/node_modules/is-plain-object/is-plain-object.d.ts +6 -1
- package/node_modules/is-plain-object/package.json +8 -34
- package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +4 -3
- package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +4 -3
- package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +4 -3
- package/node_modules/jose/dist/types/jwks/remote.d.ts +4 -4
- package/node_modules/jose/dist/types/jws/general/verify.d.ts +3 -3
- package/node_modules/jose/dist/types/jwt/encrypt.d.ts +12 -17
- package/node_modules/jose/dist/types/jwt/sign.d.ts +8 -14
- package/node_modules/jose/dist/types/jwt/unsecured.d.ts +9 -15
- package/node_modules/jose/dist/types/types.d.ts +4 -2
- package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +30 -8
- package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +8 -4
- package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +6 -13
- package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +19 -19
- package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +32 -21
- package/node_modules/jose/dist/webapi/jwk/embedded.js +15 -1
- package/node_modules/jose/dist/webapi/jwk/thumbprint.js +11 -5
- package/node_modules/jose/dist/webapi/jwks/local.js +45 -53
- package/node_modules/jose/dist/webapi/jwks/remote.js +82 -103
- package/node_modules/jose/dist/webapi/jws/compact/sign.js +10 -9
- package/node_modules/jose/dist/webapi/jws/flattened/sign.js +2 -1
- package/node_modules/jose/dist/webapi/jws/flattened/verify.js +8 -7
- package/node_modules/jose/dist/webapi/jws/general/sign.js +5 -3
- package/node_modules/jose/dist/webapi/jws/general/verify.js +51 -21
- package/node_modules/jose/dist/webapi/jwt/decrypt.js +7 -9
- package/node_modules/jose/dist/webapi/jwt/encrypt.js +21 -50
- package/node_modules/jose/dist/webapi/jwt/sign.js +8 -41
- package/node_modules/jose/dist/webapi/jwt/unsecured.js +21 -42
- package/node_modules/jose/dist/webapi/key/generate_key_pair.js +6 -2
- package/node_modules/jose/dist/webapi/key/generate_secret.js +7 -6
- package/node_modules/jose/dist/webapi/key/import.js +16 -12
- package/node_modules/jose/dist/webapi/lib/asn1.js +7 -2
- package/node_modules/jose/dist/webapi/lib/content_encryption.js +7 -15
- package/node_modules/jose/dist/webapi/lib/deflate.js +8 -0
- package/node_modules/jose/dist/webapi/lib/helpers.js +1 -1
- package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +85 -28
- package/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +45 -13
- package/node_modules/jose/dist/webapi/lib/jwk_metadata.js +20 -0
- package/node_modules/jose/dist/webapi/lib/jws_sign.js +47 -36
- package/node_modules/jose/dist/webapi/lib/jws_verify.js +77 -45
- package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +82 -47
- package/node_modules/jose/dist/webapi/lib/key.js +24 -9
- package/node_modules/jose/dist/webapi/lib/key_management.js +10 -4
- package/node_modules/jose/dist/webapi/lib/key_options.js +6 -0
- package/node_modules/jose/dist/webapi/lib/options.js +26 -0
- package/node_modules/jose/dist/webapi/lib/type_checks.js +11 -13
- package/node_modules/jose/package.json +1 -1
- package/package.json +2 -2
- package/dist/ui/assets/index-0Q2eNytX.js +0 -110
- package/node_modules/@modelcontextprotocol/sdk/node_modules/negotiator/HISTORY.md +0 -114
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*!
|
|
3
|
+
* content-type
|
|
4
|
+
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
5
|
+
* MIT Licensed
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.format = format;
|
|
9
|
+
exports.parse = parse;
|
|
10
|
+
const TEXT_REGEXP = /^[\u0009\u0020-\u007e\u0080-\u00ff]*$/;
|
|
11
|
+
const TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
|
|
12
|
+
/**
|
|
13
|
+
* RegExp to match chars that must be quoted-pair in RFC 9110 sec 5.6.4
|
|
14
|
+
*/
|
|
15
|
+
const QUOTE_REGEXP = /[\\"]/g;
|
|
16
|
+
/**
|
|
17
|
+
* RegExp to match type in RFC 9110 sec 8.3.1
|
|
18
|
+
*
|
|
19
|
+
* media-type = type "/" subtype
|
|
20
|
+
* type = token
|
|
21
|
+
* subtype = token
|
|
22
|
+
*/
|
|
23
|
+
const TYPE_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;
|
|
24
|
+
/**
|
|
25
|
+
* Null object perf optimization. Faster than `Object.create(null)` and `{ __proto__: null }`.
|
|
26
|
+
*/
|
|
27
|
+
const NullObject = /* @__PURE__ */ (() => {
|
|
28
|
+
const C = function () { };
|
|
29
|
+
C.prototype = Object.create(null);
|
|
30
|
+
return C;
|
|
31
|
+
})();
|
|
32
|
+
/**
|
|
33
|
+
* Format an object into a `Content-Type` header.
|
|
34
|
+
*/
|
|
35
|
+
function format(obj) {
|
|
36
|
+
const { type, parameters } = obj;
|
|
37
|
+
if (!type || !TYPE_REGEXP.test(type)) {
|
|
38
|
+
throw new TypeError(`Invalid type: ${type}`);
|
|
39
|
+
}
|
|
40
|
+
let result = type;
|
|
41
|
+
if (parameters) {
|
|
42
|
+
for (const param of Object.keys(parameters)) {
|
|
43
|
+
if (!TOKEN_REGEXP.test(param)) {
|
|
44
|
+
throw new TypeError(`Invalid parameter name: ${param}`);
|
|
45
|
+
}
|
|
46
|
+
result += `; ${param}=${qstring(parameters[param])}`;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Parse a `Content-Type` header.
|
|
53
|
+
*/
|
|
54
|
+
function parse(header, options) {
|
|
55
|
+
const stopChar = options?.comma === true ? COMMA : 65536; // Sentinel for "no stop char".
|
|
56
|
+
const len = header.length;
|
|
57
|
+
let index = skipOWS(header, options?.start ?? 0, len);
|
|
58
|
+
const valueStart = index;
|
|
59
|
+
index = skipValue(header, index, len, stopChar);
|
|
60
|
+
const valueEnd = trailingOWS(header, valueStart, index);
|
|
61
|
+
const type = header.slice(valueStart, valueEnd).toLowerCase();
|
|
62
|
+
if (options?.parameters === false) {
|
|
63
|
+
return { type, index, parameters: new NullObject() };
|
|
64
|
+
}
|
|
65
|
+
return parseParameters(header, type, index, len, stopChar);
|
|
66
|
+
}
|
|
67
|
+
const SP = 32; // " "
|
|
68
|
+
const HTAB = 9; // "\t"
|
|
69
|
+
const SEMI = 59; // ";"
|
|
70
|
+
const EQ = 61; // "="
|
|
71
|
+
const DQUOTE = 34; // '"'
|
|
72
|
+
const BSLASH = 92; // "\\"
|
|
73
|
+
const COMMA = 44; // ","
|
|
74
|
+
/**
|
|
75
|
+
* Parses the parameters of a `Content-Type` header starting at the given index.
|
|
76
|
+
*/
|
|
77
|
+
function parseParameters(header, type, index, len, stopChar) {
|
|
78
|
+
const parameters = new NullObject();
|
|
79
|
+
parameter: while (index < len) {
|
|
80
|
+
if (header.charCodeAt(index) === stopChar)
|
|
81
|
+
break;
|
|
82
|
+
index = skipOWS(header, index + 1 /* Skip over ; */, len);
|
|
83
|
+
const keyStart = index;
|
|
84
|
+
while (index < len) {
|
|
85
|
+
const code = header.charCodeAt(index);
|
|
86
|
+
if (code === stopChar)
|
|
87
|
+
break parameter;
|
|
88
|
+
if (code === SEMI)
|
|
89
|
+
continue parameter;
|
|
90
|
+
if (code === EQ) {
|
|
91
|
+
const keyEnd = trailingOWS(header, keyStart, index);
|
|
92
|
+
const key = header.slice(keyStart, keyEnd).toLowerCase();
|
|
93
|
+
index = skipOWS(header, index + 1, len);
|
|
94
|
+
if (index < len && header.charCodeAt(index) === DQUOTE) {
|
|
95
|
+
index++;
|
|
96
|
+
let value = "";
|
|
97
|
+
while (index < len) {
|
|
98
|
+
const code = header.charCodeAt(index++);
|
|
99
|
+
if (code === DQUOTE) {
|
|
100
|
+
index = skipValue(header, index, len, stopChar);
|
|
101
|
+
if (parameters[key] === undefined)
|
|
102
|
+
parameters[key] = value;
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
if (code === BSLASH && index < len) {
|
|
106
|
+
value += header[index++];
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
value += String.fromCharCode(code);
|
|
110
|
+
}
|
|
111
|
+
continue parameter;
|
|
112
|
+
}
|
|
113
|
+
const valueStart = index;
|
|
114
|
+
index = skipValue(header, index, len, stopChar);
|
|
115
|
+
if (parameters[key] === undefined) {
|
|
116
|
+
const valueEnd = trailingOWS(header, valueStart, index);
|
|
117
|
+
parameters[key] = header.slice(valueStart, valueEnd);
|
|
118
|
+
}
|
|
119
|
+
continue parameter;
|
|
120
|
+
}
|
|
121
|
+
index++;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return { type, index, parameters };
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Skip over characters until a semicolon or other exit character.
|
|
128
|
+
*/
|
|
129
|
+
function skipValue(str, index, len, stopChar) {
|
|
130
|
+
while (index < len) {
|
|
131
|
+
const code = str.charCodeAt(index);
|
|
132
|
+
if (code === SEMI || code === stopChar)
|
|
133
|
+
break;
|
|
134
|
+
index++;
|
|
135
|
+
}
|
|
136
|
+
return index;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Skip optional whitespace (OWS) in an HTTP header value.
|
|
140
|
+
*
|
|
141
|
+
* OWS is defined in RFC 9110 sec 5.6.3 as SP (" ") or HTAB ("\t").
|
|
142
|
+
*/
|
|
143
|
+
function skipOWS(header, index, len) {
|
|
144
|
+
while (index < len) {
|
|
145
|
+
const char = header.charCodeAt(index);
|
|
146
|
+
if (char !== SP && char !== HTAB)
|
|
147
|
+
break;
|
|
148
|
+
index++;
|
|
149
|
+
}
|
|
150
|
+
return index;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Trim optional whitespace (OWS) from the end of a substring.
|
|
154
|
+
*
|
|
155
|
+
* OWS is defined in RFC 9110 sec 5.6.3 as SP (" ") or HTAB ("\t").
|
|
156
|
+
*/
|
|
157
|
+
function trailingOWS(header, start, end) {
|
|
158
|
+
while (end > start) {
|
|
159
|
+
const char = header.charCodeAt(end - 1);
|
|
160
|
+
if (char !== SP && char !== HTAB)
|
|
161
|
+
break;
|
|
162
|
+
end--;
|
|
163
|
+
}
|
|
164
|
+
return end;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Serialize a parameter value.
|
|
168
|
+
*/
|
|
169
|
+
function qstring(str) {
|
|
170
|
+
if (TOKEN_REGEXP.test(str))
|
|
171
|
+
return str;
|
|
172
|
+
if (TEXT_REGEXP.test(str))
|
|
173
|
+
return `"${str.replace(QUOTE_REGEXP, "\\$&")}"`;
|
|
174
|
+
throw new TypeError(`Invalid parameter value: ${str}`);
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * content-type\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\nconst TEXT_REGEXP = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]*$/;\nconst TOKEN_REGEXP = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;\n\n/**\n * RegExp to match chars that must be quoted-pair in RFC 9110 sec 5.6.4\n */\nconst QUOTE_REGEXP = /[\\\\\"]/g;\n\n/**\n * RegExp to match type in RFC 9110 sec 8.3.1\n *\n * media-type = type \"/\" subtype\n * type = token\n * subtype = token\n */\nconst TYPE_REGEXP =\n /^[!#$%&'*+.^_`|~0-9A-Za-z-]+\\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;\n\n/**\n * Null object perf optimization. Faster than `Object.create(null)` and `{ __proto__: null }`.\n */\nconst NullObject = /* @__PURE__ */ (() => {\n const C = function () {};\n C.prototype = Object.create(null);\n return C;\n})() as unknown as { new (): any };\n\n/**\n * The content type object contains a type string and optional parameters.\n */\nexport interface ContentType {\n type: string;\n index: number;\n parameters: Record<string, string>;\n}\n\n/**\n * Format an object into a `Content-Type` header.\n */\nexport function format(obj: Partial<ContentType>): string {\n const { type, parameters } = obj;\n\n if (!type || !TYPE_REGEXP.test(type)) {\n throw new TypeError(`Invalid type: ${type}`);\n }\n\n let result = type;\n\n if (parameters) {\n for (const param of Object.keys(parameters)) {\n if (!TOKEN_REGEXP.test(param)) {\n throw new TypeError(`Invalid parameter name: ${param}`);\n }\n\n result += `; ${param}=${qstring(parameters[param])}`;\n }\n }\n\n return result;\n}\n\n/**\n * Options for parsing a `Content-Type` header.\n */\nexport interface ParseOptions {\n /**\n * Exit early on the first semicolon, returning only the type.\n * This is useful for parsing the MIME from `Content-Type` headers.\n *\n * @default false\n */\n parameters?: boolean;\n /**\n * Exits early on a comma, returning the first value and parameters.\n * This is useful for parsing `Accept` headers.\n *\n * @default false\n */\n comma?: boolean;\n /**\n * The index to start parsing from.\n *\n * @default 0\n */\n start?: number;\n}\n\n/**\n * Parse a `Content-Type` header.\n */\nexport function parse(header: string, options?: ParseOptions): ContentType {\n const stopChar = options?.comma === true ? COMMA : 65_536; // Sentinel for \"no stop char\".\n const len = header.length;\n let index = skipOWS(header, options?.start ?? 0, len);\n\n const valueStart = index;\n index = skipValue(header, index, len, stopChar);\n const valueEnd = trailingOWS(header, valueStart, index);\n const type = header.slice(valueStart, valueEnd).toLowerCase();\n\n if (options?.parameters === false) {\n return { type, index, parameters: new NullObject() };\n }\n\n return parseParameters(header, type, index, len, stopChar);\n}\n\nconst SP = 32; // \" \"\nconst HTAB = 9; // \"\\t\"\nconst SEMI = 59; // \";\"\nconst EQ = 61; // \"=\"\nconst DQUOTE = 34; // '\"'\nconst BSLASH = 92; // \"\\\\\"\nconst COMMA = 44; // \",\"\n\n/**\n * Parses the parameters of a `Content-Type` header starting at the given index.\n */\nfunction parseParameters(\n header: string,\n type: string,\n index: number,\n len: number,\n stopChar: number,\n): ContentType {\n const parameters: Record<string, string> = new NullObject();\n\n parameter: while (index < len) {\n if (header.charCodeAt(index) === stopChar) break;\n\n index = skipOWS(header, index + 1 /* Skip over ; */, len);\n\n const keyStart = index;\n\n while (index < len) {\n const code = header.charCodeAt(index);\n if (code === stopChar) break parameter;\n\n if (code === SEMI) continue parameter;\n\n if (code === EQ) {\n const keyEnd = trailingOWS(header, keyStart, index);\n const key = header.slice(keyStart, keyEnd).toLowerCase();\n\n index = skipOWS(header, index + 1, len);\n\n if (index < len && header.charCodeAt(index) === DQUOTE) {\n index++;\n\n let value = \"\";\n while (index < len) {\n const code = header.charCodeAt(index++);\n if (code === DQUOTE) {\n index = skipValue(header, index, len, stopChar);\n if (parameters[key] === undefined) parameters[key] = value;\n break;\n }\n\n if (code === BSLASH && index < len) {\n value += header[index++];\n continue;\n }\n\n value += String.fromCharCode(code);\n }\n\n continue parameter;\n }\n\n const valueStart = index;\n index = skipValue(header, index, len, stopChar);\n\n if (parameters[key] === undefined) {\n const valueEnd = trailingOWS(header, valueStart, index);\n parameters[key] = header.slice(valueStart, valueEnd);\n }\n\n continue parameter;\n }\n\n index++;\n }\n }\n\n return { type, index, parameters };\n}\n\n/**\n * Skip over characters until a semicolon or other exit character.\n */\nfunction skipValue(\n str: string,\n index: number,\n len: number,\n stopChar: number,\n): number {\n while (index < len) {\n const code = str.charCodeAt(index);\n if (code === SEMI || code === stopChar) break;\n index++;\n }\n return index;\n}\n\n/**\n * Skip optional whitespace (OWS) in an HTTP header value.\n *\n * OWS is defined in RFC 9110 sec 5.6.3 as SP (\" \") or HTAB (\"\\t\").\n */\nfunction skipOWS(header: string, index: number, len: number): number {\n while (index < len) {\n const char = header.charCodeAt(index);\n if (char !== SP && char !== HTAB) break;\n index++;\n }\n return index;\n}\n\n/**\n * Trim optional whitespace (OWS) from the end of a substring.\n *\n * OWS is defined in RFC 9110 sec 5.6.3 as SP (\" \") or HTAB (\"\\t\").\n */\nfunction trailingOWS(header: string, start: number, end: number): number {\n while (end > start) {\n const char = header.charCodeAt(end - 1);\n if (char !== SP && char !== HTAB) break;\n end--;\n }\n return end;\n}\n\n/**\n * Serialize a parameter value.\n */\nfunction qstring(str: string): string {\n if (TOKEN_REGEXP.test(str)) return str;\n if (TEXT_REGEXP.test(str)) return `\"${str.replace(QUOTE_REGEXP, \"\\\\$&\")}\"`;\n\n throw new TypeError(`Invalid parameter value: ${str}`);\n}\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "content-type",
|
|
3
|
+
"version": "2.1.0",
|
|
4
|
+
"description": "Create and parse HTTP Content-Type header",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"content-type",
|
|
7
|
+
"http",
|
|
8
|
+
"req",
|
|
9
|
+
"res",
|
|
10
|
+
"rfc7231",
|
|
11
|
+
"rfc9110"
|
|
12
|
+
],
|
|
13
|
+
"repository": "jshttp/content-type",
|
|
14
|
+
"funding": {
|
|
15
|
+
"type": "opencollective",
|
|
16
|
+
"url": "https://opencollective.com/express"
|
|
17
|
+
},
|
|
18
|
+
"license": "MIT",
|
|
19
|
+
"author": "Douglas Christopher Wilson <doug@somethingdoug.com>",
|
|
20
|
+
"type": "commonjs",
|
|
21
|
+
"exports": "./dist/index.js",
|
|
22
|
+
"main": "./dist/index.js",
|
|
23
|
+
"typings": "./dist/index.d.ts",
|
|
24
|
+
"files": [
|
|
25
|
+
"dist/"
|
|
26
|
+
],
|
|
27
|
+
"scripts": {
|
|
28
|
+
"bench": "vitest bench",
|
|
29
|
+
"build": "ts-scripts build",
|
|
30
|
+
"format": "ts-scripts format",
|
|
31
|
+
"prepare": "ts-scripts install && npm run build",
|
|
32
|
+
"specs": "ts-scripts specs",
|
|
33
|
+
"test": "ts-scripts test"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@borderless/ts-scripts": "^0.15.0",
|
|
37
|
+
"@vitest/coverage-v8": "^3.0.5",
|
|
38
|
+
"typescript": "^5.7.3",
|
|
39
|
+
"vitest": "^3.2.4"
|
|
40
|
+
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=18"
|
|
43
|
+
},
|
|
44
|
+
"ts-scripts": {
|
|
45
|
+
"dist": [
|
|
46
|
+
"dist"
|
|
47
|
+
],
|
|
48
|
+
"project": [
|
|
49
|
+
"tsconfig.build.json"
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "negotiator",
|
|
3
3
|
"description": "HTTP content negotiation",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Douglas Christopher Wilson <doug@somethingdoug.com>",
|
|
7
7
|
"Federico Romero <federico.romero@outboxlabs.com>",
|
|
@@ -17,27 +17,33 @@
|
|
|
17
17
|
"accept-charset"
|
|
18
18
|
],
|
|
19
19
|
"repository": "jshttp/negotiator",
|
|
20
|
+
"funding": {
|
|
21
|
+
"type": "opencollective",
|
|
22
|
+
"url": "https://opencollective.com/express"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"content-type": "^2.1.0"
|
|
26
|
+
},
|
|
20
27
|
"devDependencies": {
|
|
21
28
|
"eslint": "7.32.0",
|
|
22
29
|
"eslint-plugin-markdown": "2.2.1",
|
|
23
|
-
"mocha": "
|
|
24
|
-
"nyc": "
|
|
30
|
+
"mocha": "^11.7.0",
|
|
31
|
+
"nyc": "^17.1.0",
|
|
32
|
+
"vitest": "3.2.4"
|
|
25
33
|
},
|
|
26
34
|
"files": [
|
|
27
35
|
"lib/",
|
|
28
|
-
"
|
|
29
|
-
"LICENSE",
|
|
30
|
-
"index.js",
|
|
31
|
-
"README.md"
|
|
36
|
+
"index.js"
|
|
32
37
|
],
|
|
33
38
|
"engines": {
|
|
34
|
-
"node": ">=
|
|
39
|
+
"node": ">=18"
|
|
35
40
|
},
|
|
36
41
|
"scripts": {
|
|
42
|
+
"bench": "vitest bench",
|
|
37
43
|
"lint": "eslint .",
|
|
38
|
-
"test": "mocha --reporter spec --check-leaks
|
|
44
|
+
"test": "mocha --reporter spec --check-leaks test/",
|
|
39
45
|
"test:debug": "mocha --reporter spec --check-leaks --inspect --inspect-brk test/",
|
|
40
|
-
"test-ci": "nyc --reporter=
|
|
46
|
+
"test-ci": "nyc --reporter=lcovonly --reporter=text npm test",
|
|
41
47
|
"test-cov": "nyc --reporter=html --reporter=text npm test"
|
|
42
48
|
}
|
|
43
49
|
}
|
|
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
|
|
|
8
8
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
|
|
9
9
|
|
|
10
10
|
### Additional Details
|
|
11
|
-
* Last updated:
|
|
11
|
+
* Last updated: Mon, 24 Aug 2026 19:40:21 GMT
|
|
12
12
|
* Dependencies: [undici-types](https://npmjs.com/package/undici-types)
|
|
13
13
|
|
|
14
14
|
# Credits
|
|
@@ -316,11 +316,11 @@ declare module "node:buffer" {
|
|
|
316
316
|
* such `Buffer` instances with zeroes.
|
|
317
317
|
*
|
|
318
318
|
* When using `Buffer.allocUnsafe()` to allocate new `Buffer` instances,
|
|
319
|
-
* allocations
|
|
320
|
-
*
|
|
321
|
-
* individually allocated `Buffer`
|
|
322
|
-
*
|
|
323
|
-
* many individual `ArrayBuffer` objects.
|
|
319
|
+
* allocations less than `Buffer.poolSize >>> 1` (32KiB when default poolSize is used) are sliced
|
|
320
|
+
* from a single pre-allocated `Buffer`. This allows applications to avoid the
|
|
321
|
+
* garbage collection overhead of creating many individually allocated `Buffer`
|
|
322
|
+
* instances. This approach improves both performance and memory usage by
|
|
323
|
+
* eliminating the need to track and clean up as many individual `ArrayBuffer` objects.
|
|
324
324
|
*
|
|
325
325
|
* However, in the case where a developer may need to retain a small chunk of
|
|
326
326
|
* memory from a pool for an indeterminate amount of time, it may be appropriate
|
|
@@ -3742,7 +3742,7 @@ declare module "node:crypto" {
|
|
|
3742
3742
|
ciphertext: NodeJS.BufferSource,
|
|
3743
3743
|
sharedKeyAlgorithm: AlgorithmIdentifier | HmacImportParams | AesDerivedKeyParams | KmacImportParams,
|
|
3744
3744
|
extractable: boolean,
|
|
3745
|
-
|
|
3745
|
+
keyUsages: KeyUsage[],
|
|
3746
3746
|
): Promise<CryptoKey>;
|
|
3747
3747
|
decrypt(
|
|
3748
3748
|
algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AeadParams,
|
|
@@ -3774,7 +3774,7 @@ declare module "node:crypto" {
|
|
|
3774
3774
|
encapsulationKey: CryptoKey,
|
|
3775
3775
|
sharedKeyAlgorithm: AlgorithmIdentifier | AesDerivedKeyParams | HmacImportParams | KmacImportParams,
|
|
3776
3776
|
extractable: boolean,
|
|
3777
|
-
|
|
3777
|
+
keyUsages: KeyUsage[],
|
|
3778
3778
|
): Promise<EncapsulatedKey>;
|
|
3779
3779
|
encrypt(
|
|
3780
3780
|
algorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AeadParams,
|
|
@@ -175,6 +175,7 @@ declare module "node:http" {
|
|
|
175
175
|
headers?: OutgoingHttpHeaders | readonly string[] | undefined;
|
|
176
176
|
host?: string | null | undefined;
|
|
177
177
|
hostname?: string | null | undefined;
|
|
178
|
+
httpValidation?: "strict" | "relaxed" | "insecure" | undefined;
|
|
178
179
|
insecureHTTPParser?: boolean | undefined;
|
|
179
180
|
localAddress?: string | undefined;
|
|
180
181
|
localPort?: number | undefined;
|
|
@@ -254,6 +255,21 @@ declare module "node:http" {
|
|
|
254
255
|
* @since v20.1.0
|
|
255
256
|
*/
|
|
256
257
|
highWaterMark?: number | undefined;
|
|
258
|
+
/**
|
|
259
|
+
* Controls HTTP header value validation strictness
|
|
260
|
+
* for incoming requests. Accepted values are:
|
|
261
|
+
* * `'strict'`: Strictest validation; rejects any non-ASCII or control
|
|
262
|
+
* characters in header values.
|
|
263
|
+
* * `'relaxed'`: Allows a limited set of non-ASCII characters in header
|
|
264
|
+
* values, aligning with the
|
|
265
|
+
* [Fetch specification](https://fetch.spec.whatwg.org/).
|
|
266
|
+
* * `'insecure'`: Disables all header value validation (equivalent to
|
|
267
|
+
* `insecureHTTPParser: true`).
|
|
268
|
+
*
|
|
269
|
+
* Cannot be used together with `insecureHTTPParser`. **Default:** `'strict'`.
|
|
270
|
+
* @since v26.3.0
|
|
271
|
+
*/
|
|
272
|
+
httpValidation?: "strict" | "relaxed" | "insecure" | undefined;
|
|
257
273
|
/**
|
|
258
274
|
* Use an insecure HTTP parser that accepts invalid HTTP headers when `true`.
|
|
259
275
|
* Using the insecure parser should be avoided.
|
|
@@ -840,9 +840,12 @@ declare module "node:http2" {
|
|
|
840
840
|
* HTTP/2 request to the connected server.
|
|
841
841
|
*
|
|
842
842
|
* When a `ClientHttp2Session` is first created, the socket may not yet be
|
|
843
|
-
* connected.
|
|
843
|
+
* connected. If `clienthttp2session.request()` is called during this time, the
|
|
844
844
|
* actual request will be deferred until the socket is ready to go.
|
|
845
|
-
*
|
|
845
|
+
*
|
|
846
|
+
* If the session becomes unavailable before the request can be created, the
|
|
847
|
+
* returned stream will emit `ERR_HTTP2_GOAWAY_SESSION` or
|
|
848
|
+
* `ERR_HTTP2_INVALID_SESSION` asynchronously.
|
|
846
849
|
*
|
|
847
850
|
* This method is only available if `http2session.type` is equal to `http2.constants.NGHTTP2_SESSION_CLIENT`.
|
|
848
851
|
*
|
|
@@ -1166,6 +1169,11 @@ declare module "node:http2" {
|
|
|
1166
1169
|
* @default 128
|
|
1167
1170
|
*/
|
|
1168
1171
|
maxHeaderListPairs?: number | undefined;
|
|
1172
|
+
/**
|
|
1173
|
+
* Sets the maximum number of uniq origin the sever
|
|
1174
|
+
* can send via ORIGIN frames. **Default:** `128`.
|
|
1175
|
+
*/
|
|
1176
|
+
maxOriginSetSize?: number | undefined;
|
|
1169
1177
|
/**
|
|
1170
1178
|
* Sets the maximum number of outstanding, unacknowledged pings.
|
|
1171
1179
|
* @default 10
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@types/node",
|
|
3
|
-
"version": "26.
|
|
3
|
+
"version": "26.3.0",
|
|
4
4
|
"description": "TypeScript definitions for node",
|
|
5
5
|
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
|
|
6
6
|
"license": "MIT",
|
|
@@ -150,6 +150,6 @@
|
|
|
150
150
|
"undici-types": "~8.3.0"
|
|
151
151
|
},
|
|
152
152
|
"peerDependencies": {},
|
|
153
|
-
"typesPublisherContentHash": "
|
|
153
|
+
"typesPublisherContentHash": "125032099e1f7132c95bf327b36f694c396de965952f7cb9632ac916bbad47e9",
|
|
154
154
|
"typeScriptVersion": "5.6"
|
|
155
155
|
}
|
|
@@ -549,6 +549,58 @@ declare module "node:process" {
|
|
|
549
549
|
* @since v20.0.0
|
|
550
550
|
*/
|
|
551
551
|
has(scope: string, reference?: string): boolean;
|
|
552
|
+
/**
|
|
553
|
+
* Drops the specified permission from the current process. This operation is
|
|
554
|
+
* **irreversible** — once a permission is dropped, it cannot be restored through
|
|
555
|
+
* any Node.js API.
|
|
556
|
+
*
|
|
557
|
+
* If no reference is provided, the entire scope is dropped. For example,
|
|
558
|
+
* `process.permission.drop('fs.read')` will revoke ALL file system read
|
|
559
|
+
* permissions.
|
|
560
|
+
*
|
|
561
|
+
* When a reference is provided, only the permission for that specific resource
|
|
562
|
+
* is dropped. For example, `process.permission.drop('fs.read', '/etc/myapp')`
|
|
563
|
+
* will revoke read access to that directory while keeping other read
|
|
564
|
+
* permissions intact.
|
|
565
|
+
*
|
|
566
|
+
* **Important:** You can only drop the exact resource that was explicitly
|
|
567
|
+
* granted. The reference passed to `drop()` must match the original grant:
|
|
568
|
+
*
|
|
569
|
+
* * If a permission was granted using a wildcard (`*`), such as
|
|
570
|
+
* `--allow-fs-read=*`, individual paths cannot be dropped - only the entire
|
|
571
|
+
* scope can be dropped (by calling `drop()` without a reference).
|
|
572
|
+
* * If a directory was granted (e.g. `--allow-fs-read=/my/folder`), you cannot
|
|
573
|
+
* drop access to individual files inside it. You must drop the same directory
|
|
574
|
+
* that was granted. Any remaining grants continue to apply.
|
|
575
|
+
*
|
|
576
|
+
* The available scopes are the same as [`process.permission.has()`][]:
|
|
577
|
+
*
|
|
578
|
+
* `fs` - All File System (drops both read and write)
|
|
579
|
+
* * `fs.read` - File System read operations
|
|
580
|
+
* * `fs.write` - File System write operations
|
|
581
|
+
* * `child` - Child process spawning operations
|
|
582
|
+
* * `worker` - Worker thread spawning operation
|
|
583
|
+
* * `net` - Network operations
|
|
584
|
+
* * `inspector` - Inspector operations
|
|
585
|
+
* * `wasi` - WASI operations
|
|
586
|
+
* * `addon` - Native addon operations
|
|
587
|
+
*
|
|
588
|
+
* ```js
|
|
589
|
+
* const fs = require('node:fs');
|
|
590
|
+
*
|
|
591
|
+
* // Read configuration during startup
|
|
592
|
+
* const config = fs.readFileSync('/etc/myapp/config.json', 'utf8');
|
|
593
|
+
*
|
|
594
|
+
* // Drop read access to the config directory after initialization
|
|
595
|
+
* process.permission.drop('fs.read', '/etc/myapp');
|
|
596
|
+
*
|
|
597
|
+
* // This will now throw ERR_ACCESS_DENIED
|
|
598
|
+
* fs.readFileSync('/etc/myapp/config.json');
|
|
599
|
+
* ```
|
|
600
|
+
* @since v26.3.0
|
|
601
|
+
* @experimental
|
|
602
|
+
*/
|
|
603
|
+
drop(scope: string, reference?: string): void;
|
|
552
604
|
}
|
|
553
605
|
interface ProcessReport {
|
|
554
606
|
/**
|