@superblocksteam/shared 0.9597.0 → 0.9598.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/dist/database-lifecycle/index.d.ts +7 -0
- package/dist/database-lifecycle/index.d.ts.map +1 -1
- package/dist/database-lifecycle/index.js.map +1 -1
- package/dist/socket/util.d.ts +22 -1
- package/dist/socket/util.d.ts.map +1 -1
- package/dist/socket/util.js +25 -3
- package/dist/socket/util.js.map +1 -1
- package/dist/socket/util.test.d.ts +2 -0
- package/dist/socket/util.test.d.ts.map +1 -0
- package/dist/socket/util.test.js +53 -0
- package/dist/socket/util.test.js.map +1 -0
- package/dist-esm/database-lifecycle/index.d.ts +7 -0
- package/dist-esm/database-lifecycle/index.d.ts.map +1 -1
- package/dist-esm/database-lifecycle/index.js.map +1 -1
- package/dist-esm/socket/util.d.ts +22 -1
- package/dist-esm/socket/util.d.ts.map +1 -1
- package/dist-esm/socket/util.js +23 -2
- package/dist-esm/socket/util.js.map +1 -1
- package/dist-esm/socket/util.test.d.ts +2 -0
- package/dist-esm/socket/util.test.d.ts.map +1 -0
- package/dist-esm/socket/util.test.js +51 -0
- package/dist-esm/socket/util.test.js.map +1 -0
- package/package.json +2 -2
- package/src/database-lifecycle/index.ts +8 -0
- package/src/socket/util.test.ts +71 -0
- package/src/socket/util.ts +32 -2
|
@@ -86,9 +86,16 @@ export type LifecycleMigration = {
|
|
|
86
86
|
filename: string;
|
|
87
87
|
sql: string;
|
|
88
88
|
};
|
|
89
|
+
export type LifecycleDispatchContinuation = {
|
|
90
|
+
currentState?: string;
|
|
91
|
+
physicalInstanceId?: string;
|
|
92
|
+
physicalTerraformResourceKey?: string;
|
|
93
|
+
reservationId?: string;
|
|
94
|
+
};
|
|
89
95
|
export type LifecycleDispatchPayload = {
|
|
90
96
|
bindingKey: string;
|
|
91
97
|
connectionMetadata?: Record<string, string | number | boolean>;
|
|
98
|
+
continuation?: LifecycleDispatchContinuation;
|
|
92
99
|
desiredSpec: DatabaseRequirement;
|
|
93
100
|
desiredSpecHash: string;
|
|
94
101
|
environment: LifecycleEnvironment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":";;;AA2GA,wDAEC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
|
package/dist/socket/util.d.ts
CHANGED
|
@@ -10,9 +10,30 @@ import WebSocket from 'isomorphic-ws';
|
|
|
10
10
|
* option and don't enforce a receive limit.
|
|
11
11
|
*/
|
|
12
12
|
export declare const MAX_SOCKET_PAYLOAD_BYTES: number;
|
|
13
|
+
/**
|
|
14
|
+
* Default User-Agent for Node-originated WebSocket handshakes. The `ws` client
|
|
15
|
+
* sends no User-Agent by default (unlike browsers, axios, or undici's fetch),
|
|
16
|
+
* and AWS WAF's managed common rule set blocks UA-less requests
|
|
17
|
+
* (`NoUserAgent_HEADER`) with a 403 at the ALB. A non-empty UA keeps the
|
|
18
|
+
* handshake from being rejected; callers may override with a more specific,
|
|
19
|
+
* versioned identity. Ignored by browsers (native WebSocket sets its own UA).
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_WEBSOCKET_USER_AGENT = "superblocks-client";
|
|
22
|
+
/**
|
|
23
|
+
* Build a client User-Agent of the form `component/version`, or bare `component`
|
|
24
|
+
* when no version is supplied. Single source of truth for the identity strings
|
|
25
|
+
* Node WebSocket clients (CLI, dev server, ...) send on the handshake.
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildClientUserAgent(component: string, version?: string): string;
|
|
28
|
+
export interface ConnectWebSocketOptions {
|
|
29
|
+
protocol?: string | string[];
|
|
30
|
+
timeout?: number;
|
|
31
|
+
/** Extra handshake headers (Node only; ignored by browsers). Overrides the default User-Agent. */
|
|
32
|
+
headers?: Record<string, string>;
|
|
33
|
+
}
|
|
13
34
|
/**
|
|
14
35
|
* If the connection is not established within the timeout, the promise will be rejected.
|
|
15
36
|
* This can happen with bad network conditions, but is very rare.
|
|
16
37
|
*/
|
|
17
|
-
export declare function connectWebSocket(wsUrl: string,
|
|
38
|
+
export declare function connectWebSocket(wsUrl: string, options?: ConnectWebSocketOptions): Promise<WebSocket>;
|
|
18
39
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/socket/util.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,QAAoB,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/socket/util.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,QAAoB,CAAC;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,SAAS,CAAC,CA0BzG"}
|
package/dist/socket/util.js
CHANGED
|
@@ -3,7 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.MAX_SOCKET_PAYLOAD_BYTES = void 0;
|
|
6
|
+
exports.DEFAULT_WEBSOCKET_USER_AGENT = exports.MAX_SOCKET_PAYLOAD_BYTES = void 0;
|
|
7
|
+
exports.buildClientUserAgent = buildClientUserAgent;
|
|
7
8
|
exports.connectWebSocket = connectWebSocket;
|
|
8
9
|
const isomorphic_ws_1 = __importDefault(require("isomorphic-ws"));
|
|
9
10
|
/**
|
|
@@ -17,13 +18,34 @@ const isomorphic_ws_1 = __importDefault(require("isomorphic-ws"));
|
|
|
17
18
|
* option and don't enforce a receive limit.
|
|
18
19
|
*/
|
|
19
20
|
exports.MAX_SOCKET_PAYLOAD_BYTES = 100 * 1024 * 1024;
|
|
21
|
+
/**
|
|
22
|
+
* Default User-Agent for Node-originated WebSocket handshakes. The `ws` client
|
|
23
|
+
* sends no User-Agent by default (unlike browsers, axios, or undici's fetch),
|
|
24
|
+
* and AWS WAF's managed common rule set blocks UA-less requests
|
|
25
|
+
* (`NoUserAgent_HEADER`) with a 403 at the ALB. A non-empty UA keeps the
|
|
26
|
+
* handshake from being rejected; callers may override with a more specific,
|
|
27
|
+
* versioned identity. Ignored by browsers (native WebSocket sets its own UA).
|
|
28
|
+
*/
|
|
29
|
+
exports.DEFAULT_WEBSOCKET_USER_AGENT = 'superblocks-client';
|
|
30
|
+
/**
|
|
31
|
+
* Build a client User-Agent of the form `component/version`, or bare `component`
|
|
32
|
+
* when no version is supplied. Single source of truth for the identity strings
|
|
33
|
+
* Node WebSocket clients (CLI, dev server, ...) send on the handshake.
|
|
34
|
+
*/
|
|
35
|
+
function buildClientUserAgent(component, version) {
|
|
36
|
+
return version ? `${component}/${version}` : component;
|
|
37
|
+
}
|
|
20
38
|
/**
|
|
21
39
|
* If the connection is not established within the timeout, the promise will be rejected.
|
|
22
40
|
* This can happen with bad network conditions, but is very rare.
|
|
23
41
|
*/
|
|
24
|
-
function connectWebSocket(wsUrl,
|
|
42
|
+
function connectWebSocket(wsUrl, options = {}) {
|
|
43
|
+
const { protocol, timeout = 30_000, headers } = options;
|
|
25
44
|
return new Promise((resolve, reject) => {
|
|
26
|
-
const ws = new isomorphic_ws_1.default(wsUrl, protocol, {
|
|
45
|
+
const ws = new isomorphic_ws_1.default(wsUrl, protocol, {
|
|
46
|
+
maxPayload: exports.MAX_SOCKET_PAYLOAD_BYTES,
|
|
47
|
+
headers: { 'User-Agent': exports.DEFAULT_WEBSOCKET_USER_AGENT, ...headers }
|
|
48
|
+
});
|
|
27
49
|
const timeoutId = setTimeout(() => {
|
|
28
50
|
reject(new Error('[internal] WebSocket connection timeout'));
|
|
29
51
|
}, timeout);
|
package/dist/socket/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/socket/util.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/socket/util.ts"],"names":[],"mappings":";;;;;;AA6BA,oDAEC;AAaD,4CA0BC;AAtED,kEAAsC;AAEtC;;;;;;;;;GASG;AACU,QAAA,wBAAwB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1D;;;;;;;GAOG;AACU,QAAA,4BAA4B,GAAG,oBAAoB,CAAC;AAEjE;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,SAAiB,EAAE,OAAgB;IACtE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AASD;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,KAAa,EAAE,UAAmC,EAAE;IACnF,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,GAAG,IAAI,uBAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YACxC,UAAU,EAAE,gCAAwB;YACpC,OAAO,EAAE,EAAE,YAAY,EAAE,oCAA4B,EAAE,GAAG,OAAO,EAAE;SACpE,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,MAAM,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAC/D,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YAC/B,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,8EAA8E;YAC9E,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,4EAA4E;YAC5E,2EAA2E;YAC3E,MAAM,OAAO,GAAG,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC;YACxH,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.test.d.ts","sourceRoot":"","sources":["../../src/socket/util.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const util_js_1 = require("./util.js");
|
|
5
|
+
const constructorSpy = vitest_1.vi.fn();
|
|
6
|
+
// isomorphic-ws resolves to the `ws` package on Node; capture its constructor args.
|
|
7
|
+
// vitest hoists this mock above the static import above, so `util.ts` picks it up.
|
|
8
|
+
vitest_1.vi.mock('isomorphic-ws', () => ({
|
|
9
|
+
default: class MockWebSocket {
|
|
10
|
+
constructor(url, protocol, options) {
|
|
11
|
+
constructorSpy(url, protocol, options);
|
|
12
|
+
}
|
|
13
|
+
addEventListener() {
|
|
14
|
+
// no-op; the connect promise stays pending, which is fine for these assertions
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
18
|
+
(0, vitest_1.describe)('connectWebSocket User-Agent', () => {
|
|
19
|
+
(0, vitest_1.beforeEach)(() => {
|
|
20
|
+
vitest_1.vi.useFakeTimers();
|
|
21
|
+
constructorSpy.mockClear();
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.afterEach)(() => {
|
|
24
|
+
vitest_1.vi.clearAllTimers();
|
|
25
|
+
vitest_1.vi.useRealTimers();
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.it)('sends a default User-Agent and preserves maxPayload on the handshake', () => {
|
|
28
|
+
void (0, util_js_1.connectWebSocket)('wss://example.com/api/v1/rpc-ws');
|
|
29
|
+
(0, vitest_1.expect)(constructorSpy).toHaveBeenCalledWith('wss://example.com/api/v1/rpc-ws', undefined, vitest_1.expect.objectContaining({
|
|
30
|
+
maxPayload: util_js_1.MAX_SOCKET_PAYLOAD_BYTES,
|
|
31
|
+
headers: vitest_1.expect.objectContaining({ 'User-Agent': util_js_1.DEFAULT_WEBSOCKET_USER_AGENT })
|
|
32
|
+
}));
|
|
33
|
+
});
|
|
34
|
+
(0, vitest_1.it)('lets callers override the User-Agent via options.headers', () => {
|
|
35
|
+
void (0, util_js_1.connectWebSocket)('wss://example.com/api/v1/rpc-ws', { headers: { 'User-Agent': 'superblocks-cli/9.9.9' } });
|
|
36
|
+
(0, vitest_1.expect)(constructorSpy).toHaveBeenCalledWith('wss://example.com/api/v1/rpc-ws', undefined, vitest_1.expect.objectContaining({
|
|
37
|
+
headers: vitest_1.expect.objectContaining({ 'User-Agent': 'superblocks-cli/9.9.9' })
|
|
38
|
+
}));
|
|
39
|
+
});
|
|
40
|
+
(0, vitest_1.it)('forwards options.protocol as the WebSocket subprotocol', () => {
|
|
41
|
+
void (0, util_js_1.connectWebSocket)('wss://example.com/api/v1/rpc-ws', { protocol: 'editor' });
|
|
42
|
+
(0, vitest_1.expect)(constructorSpy).toHaveBeenCalledWith('wss://example.com/api/v1/rpc-ws', 'editor', vitest_1.expect.anything());
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
(0, vitest_1.describe)('buildClientUserAgent', () => {
|
|
46
|
+
(0, vitest_1.it)('joins component and version with a slash', () => {
|
|
47
|
+
(0, vitest_1.expect)((0, util_js_1.buildClientUserAgent)('superblocks-cli', '2.0.0-next.1')).toBe('superblocks-cli/2.0.0-next.1');
|
|
48
|
+
});
|
|
49
|
+
(0, vitest_1.it)('returns the bare component when no version is given', () => {
|
|
50
|
+
(0, vitest_1.expect)((0, util_js_1.buildClientUserAgent)('superblocks-dev-server')).toBe('superblocks-dev-server');
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=util.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.test.js","sourceRoot":"","sources":["../../src/socket/util.test.ts"],"names":[],"mappings":";;AAAA,mCAAyE;AAEzE,uCAA2H;AAE3H,MAAM,cAAc,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;AAE/B,oFAAoF;AACpF,mFAAmF;AACnF,WAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,aAAa;QAC1B,YAAY,GAAW,EAAE,QAAiB,EAAE,OAAgB;YAC1D,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,gBAAgB;YACd,+EAA+E;QACjF,CAAC;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,IAAA,iBAAQ,EAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,IAAA,mBAAU,EAAC,GAAG,EAAE;QACd,WAAE,CAAC,aAAa,EAAE,CAAC;QACnB,cAAc,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,IAAA,kBAAS,EAAC,GAAG,EAAE;QACb,WAAE,CAAC,cAAc,EAAE,CAAC;QACpB,WAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,KAAK,IAAA,0BAAgB,EAAC,iCAAiC,CAAC,CAAC;QAEzD,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,oBAAoB,CACzC,iCAAiC,EACjC,SAAS,EACT,eAAM,CAAC,gBAAgB,CAAC;YACtB,UAAU,EAAE,kCAAwB;YACpC,OAAO,EAAE,eAAM,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,sCAA4B,EAAE,CAAC;SACjF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,KAAK,IAAA,0BAAgB,EAAC,iCAAiC,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;QAEjH,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,oBAAoB,CACzC,iCAAiC,EACjC,SAAS,EACT,eAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,eAAM,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC;SAC5E,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,KAAK,IAAA,0BAAgB,EAAC,iCAAiC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEjF,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,iCAAiC,EAAE,QAAQ,EAAE,eAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9G,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,IAAA,WAAE,EAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,IAAA,eAAM,EAAC,IAAA,8BAAoB,EAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,IAAA,eAAM,EAAC,IAAA,8BAAoB,EAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -86,9 +86,16 @@ export type LifecycleMigration = {
|
|
|
86
86
|
filename: string;
|
|
87
87
|
sql: string;
|
|
88
88
|
};
|
|
89
|
+
export type LifecycleDispatchContinuation = {
|
|
90
|
+
currentState?: string;
|
|
91
|
+
physicalInstanceId?: string;
|
|
92
|
+
physicalTerraformResourceKey?: string;
|
|
93
|
+
reservationId?: string;
|
|
94
|
+
};
|
|
89
95
|
export type LifecycleDispatchPayload = {
|
|
90
96
|
bindingKey: string;
|
|
91
97
|
connectionMetadata?: Record<string, string | number | boolean>;
|
|
98
|
+
continuation?: LifecycleDispatchContinuation;
|
|
92
99
|
desiredSpec: DatabaseRequirement;
|
|
93
100
|
desiredSpecHash: string;
|
|
94
101
|
environment: LifecycleEnvironment;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,2CAA4C,CAAC;AACnF,eAAO,MAAM,6BAA6B,+DAAgE,CAAC;AAC3G,eAAO,MAAM,gBAAgB,+FAA4E,CAAC;AAC1G,eAAO,MAAM,0BAA0B,4CAA6C,CAAC;AAKrF,eAAO,MAAM,oBAAoB,mEAAoE,CAAC;AAKtG,eAAO,MAAM,sBAAsB,0CAA2C,CAAC;AAC/E,eAAO,MAAM,gBAAgB,sEAAuE,CAAC;AACrG,eAAO,MAAM,6BAA6B,uBAAuB,CAAC;AAUlE,eAAO,MAAM,iCAAiC,iCAAiC,CAAC;AAChF,eAAO,MAAM,8BAA8B,8BAA8B,CAAC;AAC1E,eAAO,MAAM,2CAA2C,0CAA0C,CAAC;AAEnG,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3E,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChF,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AACvF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,MAAM,kBAAkB,GAC1B,iCAAiC,GACjC,gBAAgB,GAChB,gBAAgB,GAChB,8BAA8B,GAC9B,kBAAkB,GAClB,kBAAkB,GAClB,iBAAiB,GAKjB,gBAAgB,CAAC;AAErB,eAAO,MAAM,oBAAoB,mGAAoG,CAAC;AACtI,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAIlC,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,uBAAuB,CAAC;CACzC,CAAC;AAKF,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG;IACvD,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC9D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAC/C,CAAC;AAKF,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,GAAG;IAC5D,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,oBAAoB,GAAG,yBAAyB,CAAC;AAE/E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,IAAI,oBAAoB,CAEhG;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;CACvB,CAAC;AAOF,eAAO,MAAM,mCAAmC,4CAA6C,CAAC;AAC9F,MAAM,MAAM,8BAA8B,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAElG,MAAM,MAAM,wBAAwB,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,aAAa,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,8BAA8B,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AAQF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAiBF,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC/D,YAAY,CAAC,EAAE,6BAA6B,CAAC;IAC7C,WAAW,EAAE,mBAAmB,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,oBAAoB,CAAC;IAClC,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAClC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACtD,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACzD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,QAAQ,CAAC,GAAG,MAAM,CAE9G;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAET;AAED,wBAAgB,0CAA0C,CAAC,KAAK,EAAE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAET;AAWD,wBAAsB,sBAAsB,CAAC,WAAW,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9F;AAOD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,oBAAoB,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,MAAM,CAST;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,IAAI,sBAAsB,CAE/F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAErD;AA8DD,eAAO,MAAM,kBAAkB,QAA+C,CAAC;AAK/E,eAAO,MAAM,8BAA8B,gIAYjC,CAAC;AAEX,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAWjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC;AACnF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,CAAU,CAAC;AAC3G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,6BAA6B,EAAE,GAAG,yBAAyB,CAAU,CAAC;AAC1G,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAU,CAAC;AACrF,0EAA0E;AAC1E,6DAA6D;AAC7D,mEAAmE;AACnE,sDAAsD;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,CAAU,CAAC;AACtG,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,oCAAoC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAU,CAAC;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,CAAU,CAAC;AACrG,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC;AAElE,uEAAuE;AACvE,4EAA4E;AAC5E,0EAA0E;AAC1E,yEAAyE;AACzE,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,4CAA4C;AAC5C,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAA8B,CAAC;AAChF,MAAM,CAAC,MAAM,8BAA8B,GAAG,2BAA2B,CAAC;AAC1E,MAAM,CAAC,MAAM,2CAA2C,GAAG,uCAAuC,CAAC;AAwBnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,OAAO,EAAE,mBAAmB,CAAU,CAAC;AAsDtI,MAAM,UAAU,sBAAsB,CAAC,OAAwB;IAC7D,OAAO,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC;AAC5C,CAAC;AAWD,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database-lifecycle/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,30 @@ import WebSocket from 'isomorphic-ws';
|
|
|
10
10
|
* option and don't enforce a receive limit.
|
|
11
11
|
*/
|
|
12
12
|
export declare const MAX_SOCKET_PAYLOAD_BYTES: number;
|
|
13
|
+
/**
|
|
14
|
+
* Default User-Agent for Node-originated WebSocket handshakes. The `ws` client
|
|
15
|
+
* sends no User-Agent by default (unlike browsers, axios, or undici's fetch),
|
|
16
|
+
* and AWS WAF's managed common rule set blocks UA-less requests
|
|
17
|
+
* (`NoUserAgent_HEADER`) with a 403 at the ALB. A non-empty UA keeps the
|
|
18
|
+
* handshake from being rejected; callers may override with a more specific,
|
|
19
|
+
* versioned identity. Ignored by browsers (native WebSocket sets its own UA).
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_WEBSOCKET_USER_AGENT = "superblocks-client";
|
|
22
|
+
/**
|
|
23
|
+
* Build a client User-Agent of the form `component/version`, or bare `component`
|
|
24
|
+
* when no version is supplied. Single source of truth for the identity strings
|
|
25
|
+
* Node WebSocket clients (CLI, dev server, ...) send on the handshake.
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildClientUserAgent(component: string, version?: string): string;
|
|
28
|
+
export interface ConnectWebSocketOptions {
|
|
29
|
+
protocol?: string | string[];
|
|
30
|
+
timeout?: number;
|
|
31
|
+
/** Extra handshake headers (Node only; ignored by browsers). Overrides the default User-Agent. */
|
|
32
|
+
headers?: Record<string, string>;
|
|
33
|
+
}
|
|
13
34
|
/**
|
|
14
35
|
* If the connection is not established within the timeout, the promise will be rejected.
|
|
15
36
|
* This can happen with bad network conditions, but is very rare.
|
|
16
37
|
*/
|
|
17
|
-
export declare function connectWebSocket(wsUrl: string,
|
|
38
|
+
export declare function connectWebSocket(wsUrl: string, options?: ConnectWebSocketOptions): Promise<WebSocket>;
|
|
18
39
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/socket/util.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,QAAoB,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/socket/util.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,QAAoB,CAAC;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,uBAAuB,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kGAAkG;IAClG,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,SAAS,CAAC,CA0BzG"}
|
package/dist-esm/socket/util.js
CHANGED
|
@@ -10,13 +10,34 @@ import WebSocket from 'isomorphic-ws';
|
|
|
10
10
|
* option and don't enforce a receive limit.
|
|
11
11
|
*/
|
|
12
12
|
export const MAX_SOCKET_PAYLOAD_BYTES = 100 * 1024 * 1024;
|
|
13
|
+
/**
|
|
14
|
+
* Default User-Agent for Node-originated WebSocket handshakes. The `ws` client
|
|
15
|
+
* sends no User-Agent by default (unlike browsers, axios, or undici's fetch),
|
|
16
|
+
* and AWS WAF's managed common rule set blocks UA-less requests
|
|
17
|
+
* (`NoUserAgent_HEADER`) with a 403 at the ALB. A non-empty UA keeps the
|
|
18
|
+
* handshake from being rejected; callers may override with a more specific,
|
|
19
|
+
* versioned identity. Ignored by browsers (native WebSocket sets its own UA).
|
|
20
|
+
*/
|
|
21
|
+
export const DEFAULT_WEBSOCKET_USER_AGENT = 'superblocks-client';
|
|
22
|
+
/**
|
|
23
|
+
* Build a client User-Agent of the form `component/version`, or bare `component`
|
|
24
|
+
* when no version is supplied. Single source of truth for the identity strings
|
|
25
|
+
* Node WebSocket clients (CLI, dev server, ...) send on the handshake.
|
|
26
|
+
*/
|
|
27
|
+
export function buildClientUserAgent(component, version) {
|
|
28
|
+
return version ? `${component}/${version}` : component;
|
|
29
|
+
}
|
|
13
30
|
/**
|
|
14
31
|
* If the connection is not established within the timeout, the promise will be rejected.
|
|
15
32
|
* This can happen with bad network conditions, but is very rare.
|
|
16
33
|
*/
|
|
17
|
-
export function connectWebSocket(wsUrl,
|
|
34
|
+
export function connectWebSocket(wsUrl, options = {}) {
|
|
35
|
+
const { protocol, timeout = 30_000, headers } = options;
|
|
18
36
|
return new Promise((resolve, reject) => {
|
|
19
|
-
const ws = new WebSocket(wsUrl, protocol, {
|
|
37
|
+
const ws = new WebSocket(wsUrl, protocol, {
|
|
38
|
+
maxPayload: MAX_SOCKET_PAYLOAD_BYTES,
|
|
39
|
+
headers: { 'User-Agent': DEFAULT_WEBSOCKET_USER_AGENT, ...headers }
|
|
40
|
+
});
|
|
20
41
|
const timeoutId = setTimeout(() => {
|
|
21
42
|
reject(new Error('[internal] WebSocket connection timeout'));
|
|
22
43
|
}, timeout);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/socket/util.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1D;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/socket/util.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AAEjE;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,OAAgB;IACtE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,UAAmC,EAAE;IACnF,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE;YACxC,UAAU,EAAE,wBAAwB;YACpC,OAAO,EAAE,EAAE,YAAY,EAAE,4BAA4B,EAAE,GAAG,OAAO,EAAE;SACpE,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,MAAM,CAAC,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAC/D,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;YAC/B,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,8EAA8E;YAC9E,OAAO,CAAC,EAAE,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,4EAA4E;YAC5E,2EAA2E;YAC3E,MAAM,OAAO,GAAG,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC;YACxH,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.test.d.ts","sourceRoot":"","sources":["../../src/socket/util.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { buildClientUserAgent, connectWebSocket, DEFAULT_WEBSOCKET_USER_AGENT, MAX_SOCKET_PAYLOAD_BYTES } from './util.js';
|
|
3
|
+
const constructorSpy = vi.fn();
|
|
4
|
+
// isomorphic-ws resolves to the `ws` package on Node; capture its constructor args.
|
|
5
|
+
// vitest hoists this mock above the static import above, so `util.ts` picks it up.
|
|
6
|
+
vi.mock('isomorphic-ws', () => ({
|
|
7
|
+
default: class MockWebSocket {
|
|
8
|
+
constructor(url, protocol, options) {
|
|
9
|
+
constructorSpy(url, protocol, options);
|
|
10
|
+
}
|
|
11
|
+
addEventListener() {
|
|
12
|
+
// no-op; the connect promise stays pending, which is fine for these assertions
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}));
|
|
16
|
+
describe('connectWebSocket User-Agent', () => {
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
vi.useFakeTimers();
|
|
19
|
+
constructorSpy.mockClear();
|
|
20
|
+
});
|
|
21
|
+
afterEach(() => {
|
|
22
|
+
vi.clearAllTimers();
|
|
23
|
+
vi.useRealTimers();
|
|
24
|
+
});
|
|
25
|
+
it('sends a default User-Agent and preserves maxPayload on the handshake', () => {
|
|
26
|
+
void connectWebSocket('wss://example.com/api/v1/rpc-ws');
|
|
27
|
+
expect(constructorSpy).toHaveBeenCalledWith('wss://example.com/api/v1/rpc-ws', undefined, expect.objectContaining({
|
|
28
|
+
maxPayload: MAX_SOCKET_PAYLOAD_BYTES,
|
|
29
|
+
headers: expect.objectContaining({ 'User-Agent': DEFAULT_WEBSOCKET_USER_AGENT })
|
|
30
|
+
}));
|
|
31
|
+
});
|
|
32
|
+
it('lets callers override the User-Agent via options.headers', () => {
|
|
33
|
+
void connectWebSocket('wss://example.com/api/v1/rpc-ws', { headers: { 'User-Agent': 'superblocks-cli/9.9.9' } });
|
|
34
|
+
expect(constructorSpy).toHaveBeenCalledWith('wss://example.com/api/v1/rpc-ws', undefined, expect.objectContaining({
|
|
35
|
+
headers: expect.objectContaining({ 'User-Agent': 'superblocks-cli/9.9.9' })
|
|
36
|
+
}));
|
|
37
|
+
});
|
|
38
|
+
it('forwards options.protocol as the WebSocket subprotocol', () => {
|
|
39
|
+
void connectWebSocket('wss://example.com/api/v1/rpc-ws', { protocol: 'editor' });
|
|
40
|
+
expect(constructorSpy).toHaveBeenCalledWith('wss://example.com/api/v1/rpc-ws', 'editor', expect.anything());
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
describe('buildClientUserAgent', () => {
|
|
44
|
+
it('joins component and version with a slash', () => {
|
|
45
|
+
expect(buildClientUserAgent('superblocks-cli', '2.0.0-next.1')).toBe('superblocks-cli/2.0.0-next.1');
|
|
46
|
+
});
|
|
47
|
+
it('returns the bare component when no version is given', () => {
|
|
48
|
+
expect(buildClientUserAgent('superblocks-dev-server')).toBe('superblocks-dev-server');
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=util.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.test.js","sourceRoot":"","sources":["../../src/socket/util.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEzE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAE3H,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAE/B,oFAAoF;AACpF,mFAAmF;AACnF,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,aAAa;QAC1B,YAAY,GAAW,EAAE,QAAiB,EAAE,OAAgB;YAC1D,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,gBAAgB;YACd,+EAA+E;QACjF,CAAC;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,cAAc,CAAC,SAAS,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC9E,KAAK,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;QAEzD,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CACzC,iCAAiC,EACjC,SAAS,EACT,MAAM,CAAC,gBAAgB,CAAC;YACtB,UAAU,EAAE,wBAAwB;YACpC,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,4BAA4B,EAAE,CAAC;SACjF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,KAAK,gBAAgB,CAAC,iCAAiC,EAAE,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;QAEjH,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CACzC,iCAAiC,EACjC,SAAS,EACT,MAAM,CAAC,gBAAgB,CAAC;YACtB,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,uBAAuB,EAAE,CAAC;SAC5E,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,KAAK,gBAAgB,CAAC,iCAAiC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEjF,MAAM,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,iCAAiC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9G,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,MAAM,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACvG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superblocksteam/shared",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9598.0",
|
|
4
4
|
"description": "Superblocks Shared Resources",
|
|
5
5
|
"license": "Superblocks Community Software License",
|
|
6
6
|
"repository": "https://github.com/superblocksteam/shared.git",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@lezer/common": "0.16.1",
|
|
24
24
|
"@lezer/lr": "0.16.3",
|
|
25
25
|
"@opentelemetry/api": "^1.9.1",
|
|
26
|
-
"@opentelemetry/semantic-conventions": "^1.
|
|
26
|
+
"@opentelemetry/semantic-conventions": "^1.41.1",
|
|
27
27
|
"@superblocksteam/sabs-types": "0.154.0",
|
|
28
28
|
"@superblocksteam/types": "1.351.0",
|
|
29
29
|
"@types/esprima": "4.0.3",
|
|
@@ -154,6 +154,13 @@ export type LifecycleMigration = {
|
|
|
154
154
|
sql: string;
|
|
155
155
|
};
|
|
156
156
|
|
|
157
|
+
export type LifecycleDispatchContinuation = {
|
|
158
|
+
currentState?: string;
|
|
159
|
+
physicalInstanceId?: string;
|
|
160
|
+
physicalTerraformResourceKey?: string;
|
|
161
|
+
reservationId?: string;
|
|
162
|
+
};
|
|
163
|
+
|
|
157
164
|
// Canonical wire payload for a lifecycle dispatch sent from the server to a
|
|
158
165
|
// lifecycle worker. The worker's `DispatchPayload` struct in
|
|
159
166
|
// orchestrator/pkg/databaselifecycle/dispatch.go decodes this JSON shape;
|
|
@@ -172,6 +179,7 @@ export type LifecycleMigration = {
|
|
|
172
179
|
export type LifecycleDispatchPayload = {
|
|
173
180
|
bindingKey: string;
|
|
174
181
|
connectionMetadata?: Record<string, string | number | boolean>;
|
|
182
|
+
continuation?: LifecycleDispatchContinuation;
|
|
175
183
|
desiredSpec: DatabaseRequirement;
|
|
176
184
|
desiredSpecHash: string;
|
|
177
185
|
environment: LifecycleEnvironment;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
|
|
3
|
+
import { buildClientUserAgent, connectWebSocket, DEFAULT_WEBSOCKET_USER_AGENT, MAX_SOCKET_PAYLOAD_BYTES } from './util.js';
|
|
4
|
+
|
|
5
|
+
const constructorSpy = vi.fn();
|
|
6
|
+
|
|
7
|
+
// isomorphic-ws resolves to the `ws` package on Node; capture its constructor args.
|
|
8
|
+
// vitest hoists this mock above the static import above, so `util.ts` picks it up.
|
|
9
|
+
vi.mock('isomorphic-ws', () => ({
|
|
10
|
+
default: class MockWebSocket {
|
|
11
|
+
constructor(url: string, protocol: unknown, options: unknown) {
|
|
12
|
+
constructorSpy(url, protocol, options);
|
|
13
|
+
}
|
|
14
|
+
addEventListener(): void {
|
|
15
|
+
// no-op; the connect promise stays pending, which is fine for these assertions
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}));
|
|
19
|
+
|
|
20
|
+
describe('connectWebSocket User-Agent', () => {
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
vi.useFakeTimers();
|
|
23
|
+
constructorSpy.mockClear();
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
afterEach(() => {
|
|
27
|
+
vi.clearAllTimers();
|
|
28
|
+
vi.useRealTimers();
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
it('sends a default User-Agent and preserves maxPayload on the handshake', () => {
|
|
32
|
+
void connectWebSocket('wss://example.com/api/v1/rpc-ws');
|
|
33
|
+
|
|
34
|
+
expect(constructorSpy).toHaveBeenCalledWith(
|
|
35
|
+
'wss://example.com/api/v1/rpc-ws',
|
|
36
|
+
undefined,
|
|
37
|
+
expect.objectContaining({
|
|
38
|
+
maxPayload: MAX_SOCKET_PAYLOAD_BYTES,
|
|
39
|
+
headers: expect.objectContaining({ 'User-Agent': DEFAULT_WEBSOCKET_USER_AGENT })
|
|
40
|
+
})
|
|
41
|
+
);
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
it('lets callers override the User-Agent via options.headers', () => {
|
|
45
|
+
void connectWebSocket('wss://example.com/api/v1/rpc-ws', { headers: { 'User-Agent': 'superblocks-cli/9.9.9' } });
|
|
46
|
+
|
|
47
|
+
expect(constructorSpy).toHaveBeenCalledWith(
|
|
48
|
+
'wss://example.com/api/v1/rpc-ws',
|
|
49
|
+
undefined,
|
|
50
|
+
expect.objectContaining({
|
|
51
|
+
headers: expect.objectContaining({ 'User-Agent': 'superblocks-cli/9.9.9' })
|
|
52
|
+
})
|
|
53
|
+
);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
it('forwards options.protocol as the WebSocket subprotocol', () => {
|
|
57
|
+
void connectWebSocket('wss://example.com/api/v1/rpc-ws', { protocol: 'editor' });
|
|
58
|
+
|
|
59
|
+
expect(constructorSpy).toHaveBeenCalledWith('wss://example.com/api/v1/rpc-ws', 'editor', expect.anything());
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
describe('buildClientUserAgent', () => {
|
|
64
|
+
it('joins component and version with a slash', () => {
|
|
65
|
+
expect(buildClientUserAgent('superblocks-cli', '2.0.0-next.1')).toBe('superblocks-cli/2.0.0-next.1');
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it('returns the bare component when no version is given', () => {
|
|
69
|
+
expect(buildClientUserAgent('superblocks-dev-server')).toBe('superblocks-dev-server');
|
|
70
|
+
});
|
|
71
|
+
});
|
package/src/socket/util.ts
CHANGED
|
@@ -12,13 +12,43 @@ import WebSocket from 'isomorphic-ws';
|
|
|
12
12
|
*/
|
|
13
13
|
export const MAX_SOCKET_PAYLOAD_BYTES = 100 * 1024 * 1024;
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Default User-Agent for Node-originated WebSocket handshakes. The `ws` client
|
|
17
|
+
* sends no User-Agent by default (unlike browsers, axios, or undici's fetch),
|
|
18
|
+
* and AWS WAF's managed common rule set blocks UA-less requests
|
|
19
|
+
* (`NoUserAgent_HEADER`) with a 403 at the ALB. A non-empty UA keeps the
|
|
20
|
+
* handshake from being rejected; callers may override with a more specific,
|
|
21
|
+
* versioned identity. Ignored by browsers (native WebSocket sets its own UA).
|
|
22
|
+
*/
|
|
23
|
+
export const DEFAULT_WEBSOCKET_USER_AGENT = 'superblocks-client';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Build a client User-Agent of the form `component/version`, or bare `component`
|
|
27
|
+
* when no version is supplied. Single source of truth for the identity strings
|
|
28
|
+
* Node WebSocket clients (CLI, dev server, ...) send on the handshake.
|
|
29
|
+
*/
|
|
30
|
+
export function buildClientUserAgent(component: string, version?: string): string {
|
|
31
|
+
return version ? `${component}/${version}` : component;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface ConnectWebSocketOptions {
|
|
35
|
+
protocol?: string | string[];
|
|
36
|
+
timeout?: number;
|
|
37
|
+
/** Extra handshake headers (Node only; ignored by browsers). Overrides the default User-Agent. */
|
|
38
|
+
headers?: Record<string, string>;
|
|
39
|
+
}
|
|
40
|
+
|
|
15
41
|
/**
|
|
16
42
|
* If the connection is not established within the timeout, the promise will be rejected.
|
|
17
43
|
* This can happen with bad network conditions, but is very rare.
|
|
18
44
|
*/
|
|
19
|
-
export function connectWebSocket(wsUrl: string,
|
|
45
|
+
export function connectWebSocket(wsUrl: string, options: ConnectWebSocketOptions = {}): Promise<WebSocket> {
|
|
46
|
+
const { protocol, timeout = 30_000, headers } = options;
|
|
20
47
|
return new Promise((resolve, reject) => {
|
|
21
|
-
const ws = new WebSocket(wsUrl, protocol, {
|
|
48
|
+
const ws = new WebSocket(wsUrl, protocol, {
|
|
49
|
+
maxPayload: MAX_SOCKET_PAYLOAD_BYTES,
|
|
50
|
+
headers: { 'User-Agent': DEFAULT_WEBSOCKET_USER_AGENT, ...headers }
|
|
51
|
+
});
|
|
22
52
|
|
|
23
53
|
const timeoutId = setTimeout(() => {
|
|
24
54
|
reject(new Error('[internal] WebSocket connection timeout'));
|