@suveren/gateway 0.30.0 → 0.31.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/content/integrations/calendar.json +3 -0
- package/content/integrations/crm.json +10 -0
- package/content/integrations/deploy-github.json +1 -0
- package/content/integrations/erp.json +4 -0
- package/content/integrations/gmail.json +4 -0
- package/content/integrations/linkedin.json +4 -0
- package/content/integrations/mail.json +1 -0
- package/content/integrations/mollie.json +5 -0
- package/content/integrations/records.json +4 -0
- package/dist/control-plane/index.mjs +81 -32
- package/dist/mcp-server/http.mjs +51 -5
- package/dist/ui/assets/index-CSC5vFza.css +1 -0
- package/dist/ui/assets/index-CoAHzend.js +123 -0
- package/dist/ui/index.html +2 -2
- package/node_modules/undici/docs/docs/api/Client.md +2 -0
- package/node_modules/undici/lib/core/connect.js +10 -4
- package/node_modules/undici/lib/core/symbols.js +1 -0
- package/node_modules/undici/lib/dispatcher/agent.js +6 -2
- package/node_modules/undici/lib/dispatcher/client-h1.js +0 -2
- package/node_modules/undici/lib/dispatcher/client-h2.js +0 -4
- package/node_modules/undici/lib/dispatcher/client.js +3 -2
- package/node_modules/undici/lib/dispatcher/dispatcher-base.js +12 -0
- package/node_modules/undici/lib/handler/cache-handler.js +48 -0
- package/node_modules/undici/lib/handler/deduplication-handler.js +57 -13
- package/node_modules/undici/lib/handler/redirect-handler.js +8 -1
- package/node_modules/undici/lib/interceptor/decompress.js +15 -5
- package/node_modules/undici/lib/web/cookies/index.js +3 -1
- package/node_modules/undici/lib/web/cookies/parse.js +138 -137
- package/node_modules/undici/lib/web/cookies/util.js +21 -2
- package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +90 -9
- package/node_modules/undici/lib/web/eventsource/eventsource.js +4 -1
- package/node_modules/undici/lib/web/fetch/index.js +3 -3
- package/node_modules/undici/lib/web/infra/index.js +14 -0
- package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
- package/node_modules/undici/lib/web/websocket/receiver.js +13 -0
- package/node_modules/undici/package.json +1 -1
- package/node_modules/undici/types/client.d.ts +14 -0
- package/package.json +1 -1
- package/dist/ui/assets/index-C2BnlNib.js +0 -123
- package/dist/ui/assets/index-DPgewsLG.css +0 -1
|
@@ -52,6 +52,19 @@ function collectASequenceOfCodePointsFast (char, input, position) {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
const ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g // eslint-disable-line no-control-regex
|
|
55
|
+
const nonASCIIRegex = /[^\x00-\x7F]/ // eslint-disable-line no-control-regex
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @param {string} str
|
|
59
|
+
* @returns {string}
|
|
60
|
+
*
|
|
61
|
+
* @see https://infra.spec.whatwg.org/#ascii-lowercase
|
|
62
|
+
*/
|
|
63
|
+
function asciiLowercase (str) {
|
|
64
|
+
return nonASCIIRegex.test(str)
|
|
65
|
+
? str.replace(/[A-Z]+/g, (upper) => upper.toLowerCase())
|
|
66
|
+
: str.toLowerCase()
|
|
67
|
+
}
|
|
55
68
|
|
|
56
69
|
/**
|
|
57
70
|
* @param {string} data
|
|
@@ -216,6 +229,7 @@ function serializeJavascriptValueToJSONString (value) {
|
|
|
216
229
|
}
|
|
217
230
|
|
|
218
231
|
module.exports = {
|
|
232
|
+
asciiLowercase,
|
|
219
233
|
collectASequenceOfCodePoints,
|
|
220
234
|
collectASequenceOfCodePointsFast,
|
|
221
235
|
forgivingBase64,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const assert = require('node:assert')
|
|
4
4
|
const { runtimeFeatures } = require('../../util/runtime-features.js')
|
|
5
|
+
const { asciiLowercase } = require('../infra/index.js')
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* @typedef {object} Metadata
|
|
@@ -66,14 +67,12 @@ const getSRIHashAlgorithmIndex = /** @type {GetSRIHashAlgorithmIndex} */ (Map.pr
|
|
|
66
67
|
|
|
67
68
|
/**
|
|
68
69
|
* @typedef IsValidSRIHashAlgorithm
|
|
70
|
+
* @see https://w3c.github.io/webappsec-subresource-integrity/#valid-sri-hash-algorithm-token
|
|
69
71
|
* @type {(algorithm: string) => algorithm is SRIHashAlgorithm}
|
|
70
72
|
* @param {*} algorithm
|
|
71
73
|
* @returns {algorithm is SRIHashAlgorithm}
|
|
72
74
|
*/
|
|
73
|
-
|
|
74
|
-
const isValidSRIHashAlgorithm = /** @type {IsValidSRIHashAlgorithm} */ (
|
|
75
|
-
Map.prototype.has.bind(validSRIHashAlgorithmTokenSet)
|
|
76
|
-
)
|
|
75
|
+
const isValidSRIHashAlgorithm = (algorithm) => validSRIHashAlgorithmTokenSet.has(asciiLowercase(algorithm))
|
|
77
76
|
|
|
78
77
|
/**
|
|
79
78
|
* @param {Uint8Array} bytes
|
|
@@ -229,7 +228,8 @@ function parseMetadata (metadata) {
|
|
|
229
228
|
// 8. Let metadata be the ordered map
|
|
230
229
|
// «["alg" → algorithm, "val" → base64-value]».
|
|
231
230
|
const metadata = {
|
|
232
|
-
|
|
231
|
+
// Possible spec bug?
|
|
232
|
+
alg: asciiLowercase(algorithm),
|
|
233
233
|
val: base64Value
|
|
234
234
|
}
|
|
235
235
|
|
|
@@ -244,6 +244,19 @@ class ByteParser extends Writable {
|
|
|
244
244
|
if (isControlFrame(this.#info.opcode)) {
|
|
245
245
|
this.#loop = this.parseControlFrame(body)
|
|
246
246
|
this.#state = parserStates.INFO
|
|
247
|
+
|
|
248
|
+
// If the automatic PONG/CLOSE reply filled the socket's write buffer,
|
|
249
|
+
// stop parsing and resume on drain so a PING flood cannot grow the
|
|
250
|
+
// outbound queue without bound.
|
|
251
|
+
if (this.#loop && this.#handler.socket.writableNeedDrain) {
|
|
252
|
+
this.#loop = false
|
|
253
|
+
this.#handler.socket.once('drain', () => {
|
|
254
|
+
if (this.destroyed) return
|
|
255
|
+
this.#loop = true
|
|
256
|
+
this.run(callback)
|
|
257
|
+
})
|
|
258
|
+
return
|
|
259
|
+
}
|
|
247
260
|
} else {
|
|
248
261
|
if (!this.#info.compressed) {
|
|
249
262
|
if (!this.writeFragments(body)) {
|
|
@@ -109,6 +109,8 @@ export declare namespace Client {
|
|
|
109
109
|
pingInterval?: number;
|
|
110
110
|
/** WebSocket-specific configuration options. */
|
|
111
111
|
webSocket?: WebSocketOptions;
|
|
112
|
+
/** EventSource-specific configuration options. */
|
|
113
|
+
eventSource?: EventSourceOptions;
|
|
112
114
|
}
|
|
113
115
|
export interface SocketInfo {
|
|
114
116
|
localAddress?: string
|
|
@@ -134,6 +136,18 @@ export declare namespace Client {
|
|
|
134
136
|
*/
|
|
135
137
|
maxPayloadSize?: number;
|
|
136
138
|
}
|
|
139
|
+
export interface EventSourceOptions {
|
|
140
|
+
/**
|
|
141
|
+
* Maximum total bytes of data and metadata field values retained for a
|
|
142
|
+
* pending EventSource event. Each unfinished line is separately bounded
|
|
143
|
+
* to this value plus seven syntax bytes. The number of data lines per
|
|
144
|
+
* event and buffered input chunks are each limited to
|
|
145
|
+
* min(131072, max(1024, floor(maxEventSize / 128))).
|
|
146
|
+
* Set to 0 to disable these limits.
|
|
147
|
+
* @default buffer.kStringMaxLength
|
|
148
|
+
*/
|
|
149
|
+
maxEventSize?: number;
|
|
150
|
+
}
|
|
137
151
|
}
|
|
138
152
|
|
|
139
153
|
export default Client
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@suveren/gateway",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.1",
|
|
4
4
|
"description": "Suveren gateway — local agent gateway built in compliance with the Human Agency Protocol (HAP). Runs the UI, control plane, and MCP server in one Node process.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "server.js",
|