@superblocksteam/sdk 2.0.0-next.4 → 2.0.0-next.41
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/cli-replacement/dev.d.mts.map +1 -1
- package/dist/cli-replacement/dev.mjs +1 -0
- package/dist/cli-replacement/dev.mjs.map +1 -1
- package/dist/dev-utils/dev-tracer.d.ts.map +1 -1
- package/dist/dev-utils/dev-tracer.js +27 -1
- package/dist/dev-utils/dev-tracer.js.map +1 -1
- package/dist/socket/index.d.ts +1 -11
- package/dist/socket/index.d.ts.map +1 -1
- package/dist/socket/index.js +3 -42
- package/dist/socket/index.js.map +1 -1
- package/package.json +7 -4
- package/src/cli-replacement/dev.mts +1 -0
- package/src/dev-utils/dev-tracer.ts +29 -1
- package/src/socket/index.ts +4 -96
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.mts","sourceRoot":"","sources":["../../src/cli-replacement/dev.mts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AAwBpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA8D5D,wBAAsB,GAAG,CAAC,OAAO,EAAE;IAEjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAGnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,
|
|
1
|
+
{"version":3,"file":"dev.d.mts","sourceRoot":"","sources":["../../src/cli-replacement/dev.mts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AAwBpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA8D5D,wBAAsB,GAAG,CAAC,OAAO,EAAE;IAEjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAGnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,iBA4KA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.mjs","sourceRoot":"","sources":["../../src/cli-replacement/dev.mts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dev.mjs","sourceRoot":"","sources":["../../src/cli-replacement/dev.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-tracer.d.ts","sourceRoot":"","sources":["../../src/dev-utils/dev-tracer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dev-tracer.d.ts","sourceRoot":"","sources":["../../src/dev-utils/dev-tracer.ts"],"names":[],"mappings":"AAmEA,QAAA,MAAM,MAAM,qCAAyD,CAAC;AAEtE,eAAe,MAAM,CAAC"}
|
|
@@ -1,12 +1,38 @@
|
|
|
1
1
|
import { trace } from "@opentelemetry/api";
|
|
2
2
|
import { AsyncLocalStorageContextManager } from "@opentelemetry/context-async-hooks";
|
|
3
|
+
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
|
|
3
4
|
import { ExpressInstrumentation } from "@opentelemetry/instrumentation-express";
|
|
4
5
|
import { HttpInstrumentation } from "@opentelemetry/instrumentation-http";
|
|
6
|
+
import { Resource } from "@opentelemetry/resources";
|
|
5
7
|
import { NodeSDK } from "@opentelemetry/sdk-node";
|
|
8
|
+
import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
|
|
9
|
+
import { getLocalTokenWithUrl } from "@superblocksteam/util";
|
|
6
10
|
import packageJson from "../../package.json" with { type: "json" };
|
|
11
|
+
// NOTE: @joeyagreco - this is how the "env" facet is determined in datadog: https://docs.datadoghq.com/opentelemetry/setup/collector_exporter/#3---configure-your-application
|
|
12
|
+
const ATTR_DEPLOYMENT_ENVIRONMENT = "deployment.environment";
|
|
13
|
+
// NOTE: @joeyagreco - this can be used to determine if we are using mock-csb, staging-csb, prod-csb, etc
|
|
14
|
+
const ATTR_SUPERBLOCKS_BASE_URL = "superblocks.base_url";
|
|
15
|
+
let superblocksTracesUrl = undefined;
|
|
16
|
+
let superblocksHostname = "unknown";
|
|
17
|
+
try {
|
|
18
|
+
const tokenWithUrl = await getLocalTokenWithUrl();
|
|
19
|
+
const superblocksBaseUrl = new URL(tokenWithUrl.superblocksBaseUrl);
|
|
20
|
+
superblocksTracesUrl = superblocksBaseUrl.origin + "/api/v1/traces";
|
|
21
|
+
superblocksHostname = superblocksBaseUrl.hostname;
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
console.error("[tracing init] could not determine superblocks base url", e);
|
|
25
|
+
}
|
|
7
26
|
// Initialize the OpenTelemetry SDK
|
|
8
27
|
const sdk = new NodeSDK({
|
|
9
|
-
|
|
28
|
+
resource: Resource.default().merge(new Resource({
|
|
29
|
+
[ATTR_SERVICE_NAME]: "sdk-dev-server",
|
|
30
|
+
[ATTR_DEPLOYMENT_ENVIRONMENT]: process.env.SUPERBLOCKS_CLI_ENV,
|
|
31
|
+
[ATTR_SUPERBLOCKS_BASE_URL]: superblocksHostname,
|
|
32
|
+
})),
|
|
33
|
+
traceExporter: new OTLPTraceExporter({
|
|
34
|
+
url: superblocksTracesUrl, // OTLPTraceExporter defaults to sending traffic to http://localhost:4318/v1/traces
|
|
35
|
+
}),
|
|
10
36
|
contextManager: new AsyncLocalStorageContextManager(),
|
|
11
37
|
instrumentations: [
|
|
12
38
|
// Configure HTTP instrumentation with custom attributes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-tracer.js","sourceRoot":"","sources":["../../src/dev-utils/dev-tracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAGnE,mCAAmC;AACnC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"dev-tracer.js","sourceRoot":"","sources":["../../src/dev-utils/dev-tracer.ts"],"names":[],"mappings":"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"}
|
package/dist/socket/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import WebSocket from "ws";
|
|
3
|
-
import type { GenericMiddleware, ISocketClient, MethodHandlers, RequestContextBase, SocketTimeouts } from "../types/index.js";
|
|
1
|
+
import type { ISocketClient } from "../types/index.js";
|
|
4
2
|
import type { ServerMethods } from "@superblocksteam/shared";
|
|
5
3
|
export type StdISocketRPCClient = ISocketClient<ServerMethods>;
|
|
6
4
|
export declare function connectToISocketRPCServer({ superblocksBaseUrl, agentUrl, token, }: {
|
|
@@ -8,12 +6,4 @@ export declare function connectToISocketRPCServer({ superblocksBaseUrl, agentUrl
|
|
|
8
6
|
token: string;
|
|
9
7
|
agentUrl?: string;
|
|
10
8
|
}): Promise<StdISocketRPCClient>;
|
|
11
|
-
export declare class ISocketWithClientAuth<ImplementedMethods, CallableMethods, RequestContext extends RequestContextBase> extends ISocket<ImplementedMethods, CallableMethods, RequestContext> {
|
|
12
|
-
private readonly authorization?;
|
|
13
|
-
private hasSentAuth;
|
|
14
|
-
constructor(ws: WebSocket, authorization: string | undefined, requestHandlers: MethodHandlers<ImplementedMethods, CallableMethods, RequestContext>, globalMiddlewares: GenericMiddleware<CallableMethods, RequestContext>[], timeouts?: SocketTimeouts);
|
|
15
|
-
request<Params, Result>(method: string, params: Params): Promise<Result>;
|
|
16
|
-
}
|
|
17
|
-
export declare function connectISocket<CallableMethods, ImplementedMethods, RequestContext extends RequestContextBase = RequestContextBase>(wsUrl: string, authorization: string | undefined, requestHandlers: MethodHandlers<ImplementedMethods, CallableMethods, RequestContext>, globalMiddlewares: GenericMiddleware<CallableMethods, RequestContext>[], timeouts?: SocketTimeouts): Promise<ISocketClient<CallableMethods>>;
|
|
18
|
-
export declare function connectWebSocket(wsUrl: string): Promise<WebSocket>;
|
|
19
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAE/D,wBAAsB,yBAAyB,CAAC,EAC9C,kBAAkB,EAClB,QAAQ,EACR,KAAK,GACN,EAAE;IACD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA8B/B"}
|
package/dist/socket/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { connectISocket } from "@superblocksteam/shared";
|
|
2
|
+
import tracer from "../dev-utils/dev-tracer.js";
|
|
3
3
|
import { createRequestHandlers } from "./handlers.js";
|
|
4
4
|
export async function connectToISocketRPCServer({ superblocksBaseUrl, agentUrl, token, }) {
|
|
5
5
|
const requestHandlers = createRequestHandlers({
|
|
@@ -20,48 +20,9 @@ export async function connectToISocketRPCServer({ superblocksBaseUrl, agentUrl,
|
|
|
20
20
|
else if (wsUrl.hostname === "localhost") {
|
|
21
21
|
wsUrl.hostname = "127.0.0.1";
|
|
22
22
|
}
|
|
23
|
-
return await connectISocket(wsUrl.href, authorization, requestHandlers, [], {
|
|
23
|
+
return await connectISocket(wsUrl.href, authorization, requestHandlers, [], tracer, {
|
|
24
24
|
connectionTimeoutInSeconds: 6 * 60, // 6 minutes
|
|
25
25
|
noResponseTimeoutInSeconds: 5 * 60, // 5 minutes
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
|
-
// a subclass of ISocket that sends an auth token on the first request
|
|
29
|
-
// this is useful for client-side sockets that need to authenticate
|
|
30
|
-
// TODO(george): if we start using this for long-lived connections, we should add a way to refresh the token
|
|
31
|
-
export class ISocketWithClientAuth extends ISocket {
|
|
32
|
-
authorization;
|
|
33
|
-
hasSentAuth = false;
|
|
34
|
-
constructor(ws, authorization, requestHandlers, globalMiddlewares, timeouts) {
|
|
35
|
-
super(ws, requestHandlers, globalMiddlewares, timeouts);
|
|
36
|
-
this.authorization = authorization;
|
|
37
|
-
}
|
|
38
|
-
// override `request` from the base class to send `authorization` when appropriate
|
|
39
|
-
async request(method, params) {
|
|
40
|
-
// only send `authorization` on the first request
|
|
41
|
-
const authorization = this.hasSentAuth ? undefined : this.authorization;
|
|
42
|
-
const result = await super.request(method, params, authorization);
|
|
43
|
-
this.hasSentAuth = true;
|
|
44
|
-
return result;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
export async function connectISocket(wsUrl, authorization, requestHandlers, globalMiddlewares, timeouts) {
|
|
48
|
-
const ws = await connectWebSocket(wsUrl);
|
|
49
|
-
const isocket = new ISocketWithClientAuth(ws, authorization, requestHandlers, globalMiddlewares, timeouts);
|
|
50
|
-
return createISocketClient(isocket);
|
|
51
|
-
}
|
|
52
|
-
export function connectWebSocket(wsUrl) {
|
|
53
|
-
return new Promise((resolve, reject) => {
|
|
54
|
-
const ws = new WebSocket(wsUrl);
|
|
55
|
-
ws.addEventListener("open", () => {
|
|
56
|
-
// Resolve the promise with the WebSocket instance when the connection is open
|
|
57
|
-
resolve(ws);
|
|
58
|
-
});
|
|
59
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
60
|
-
// @ts-ignore
|
|
61
|
-
ws.addEventListener("error", (error) => {
|
|
62
|
-
// Reject the promise if there's an error
|
|
63
|
-
reject(error);
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
28
|
//# sourceMappingURL=index.js.map
|
package/dist/socket/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,MAAM,MAAM,4BAA4B,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAMtD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAC9C,kBAAkB,EAClB,QAAQ,EACR,KAAK,GAKN;IACC,MAAM,eAAe,GAAG,qBAAqB,CAAC;QAC5C,QAAQ;QACR,KAAK;KACN,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC/B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;IACzB,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACvE,KAAK,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAChC,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC1C,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,cAAc,CACzB,KAAK,CAAC,IAAI,EACV,aAAa,EACb,eAAe,EACf,EAAE,EACF,MAAM,EACN;QACE,0BAA0B,EAAE,CAAC,GAAG,EAAE,EAAE,YAAY;QAChD,0BAA0B,EAAE,CAAC,GAAG,EAAE,EAAE,YAAY;KACjD,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superblocksteam/sdk",
|
|
3
|
-
"version": "2.0.0-next.
|
|
3
|
+
"version": "2.0.0-next.41",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Superblocks JS SDK",
|
|
6
6
|
"homepage": "https://www.superblocks.com",
|
|
@@ -18,14 +18,17 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"@opentelemetry/api": "^1.9.0",
|
|
20
20
|
"@opentelemetry/context-async-hooks": "^2.0.1",
|
|
21
|
+
"@opentelemetry/exporter-trace-otlp-http": "^0.55.0",
|
|
21
22
|
"@opentelemetry/instrumentation-express": "^0.45.0",
|
|
22
23
|
"@opentelemetry/instrumentation-http": "^0.55.0",
|
|
24
|
+
"@opentelemetry/resources": "^1.28.0",
|
|
23
25
|
"@opentelemetry/sdk-node": "^0.55.0",
|
|
26
|
+
"@opentelemetry/semantic-conventions": "^1.28.0",
|
|
24
27
|
"@rollup/wasm-node": "^4.35.0",
|
|
25
28
|
"@superblocksteam/bucketeer-sdk": "0.4.1",
|
|
26
|
-
"@superblocksteam/shared": "0.
|
|
27
|
-
"@superblocksteam/util": "2.0.0-next.
|
|
28
|
-
"@superblocksteam/vite-plugin-file-sync": "2.0.0-next.
|
|
29
|
+
"@superblocksteam/shared": "0.9137.0",
|
|
30
|
+
"@superblocksteam/util": "2.0.0-next.41",
|
|
31
|
+
"@superblocksteam/vite-plugin-file-sync": "2.0.0-next.41",
|
|
29
32
|
"@vitejs/plugin-react": "^4.3.4",
|
|
30
33
|
"axios": "^1.4.0",
|
|
31
34
|
"chokidar": "^4.0.3",
|
|
@@ -1,14 +1,42 @@
|
|
|
1
1
|
import { trace } from "@opentelemetry/api";
|
|
2
2
|
import { AsyncLocalStorageContextManager } from "@opentelemetry/context-async-hooks";
|
|
3
|
+
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
|
|
3
4
|
import { ExpressInstrumentation } from "@opentelemetry/instrumentation-express";
|
|
4
5
|
import { HttpInstrumentation } from "@opentelemetry/instrumentation-http";
|
|
6
|
+
import { Resource } from "@opentelemetry/resources";
|
|
5
7
|
import { NodeSDK } from "@opentelemetry/sdk-node";
|
|
8
|
+
import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
|
|
9
|
+
import { getLocalTokenWithUrl } from "@superblocksteam/util";
|
|
6
10
|
import packageJson from "../../package.json" with { type: "json" };
|
|
7
11
|
import type { Span } from "@opentelemetry/api";
|
|
8
12
|
|
|
13
|
+
// NOTE: @joeyagreco - this is how the "env" facet is determined in datadog: https://docs.datadoghq.com/opentelemetry/setup/collector_exporter/#3---configure-your-application
|
|
14
|
+
const ATTR_DEPLOYMENT_ENVIRONMENT = "deployment.environment";
|
|
15
|
+
// NOTE: @joeyagreco - this can be used to determine if we are using mock-csb, staging-csb, prod-csb, etc
|
|
16
|
+
const ATTR_SUPERBLOCKS_BASE_URL = "superblocks.base_url";
|
|
17
|
+
let superblocksTracesUrl = undefined;
|
|
18
|
+
let superblocksHostname = "unknown";
|
|
19
|
+
try {
|
|
20
|
+
const tokenWithUrl = await getLocalTokenWithUrl();
|
|
21
|
+
const superblocksBaseUrl = new URL(tokenWithUrl.superblocksBaseUrl);
|
|
22
|
+
superblocksTracesUrl = superblocksBaseUrl.origin + "/api/v1/traces";
|
|
23
|
+
superblocksHostname = superblocksBaseUrl.hostname;
|
|
24
|
+
} catch (e) {
|
|
25
|
+
console.error("[tracing init] could not determine superblocks base url", e);
|
|
26
|
+
}
|
|
27
|
+
|
|
9
28
|
// Initialize the OpenTelemetry SDK
|
|
10
29
|
const sdk = new NodeSDK({
|
|
11
|
-
|
|
30
|
+
resource: Resource.default().merge(
|
|
31
|
+
new Resource({
|
|
32
|
+
[ATTR_SERVICE_NAME]: "sdk-dev-server",
|
|
33
|
+
[ATTR_DEPLOYMENT_ENVIRONMENT]: process.env.SUPERBLOCKS_CLI_ENV,
|
|
34
|
+
[ATTR_SUPERBLOCKS_BASE_URL]: superblocksHostname,
|
|
35
|
+
}),
|
|
36
|
+
),
|
|
37
|
+
traceExporter: new OTLPTraceExporter({
|
|
38
|
+
url: superblocksTracesUrl, // OTLPTraceExporter defaults to sending traffic to http://localhost:4318/v1/traces
|
|
39
|
+
}),
|
|
12
40
|
contextManager: new AsyncLocalStorageContextManager(),
|
|
13
41
|
instrumentations: [
|
|
14
42
|
// Configure HTTP instrumentation with custom attributes
|
package/src/socket/index.ts
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { connectISocket } from "@superblocksteam/shared";
|
|
2
|
+
import tracer from "../dev-utils/dev-tracer.js";
|
|
3
3
|
import { createRequestHandlers } from "./handlers.js";
|
|
4
|
-
import type {
|
|
5
|
-
GenericMiddleware,
|
|
6
|
-
ISocketClient,
|
|
7
|
-
MethodHandlers,
|
|
8
|
-
RequestContextBase,
|
|
9
|
-
SocketTimeouts,
|
|
10
|
-
} from "../types/index.js";
|
|
4
|
+
import type { ISocketClient } from "../types/index.js";
|
|
11
5
|
import type { ClientMethods, ServerMethods } from "@superblocksteam/shared";
|
|
12
6
|
|
|
13
7
|
export type StdISocketRPCClient = ISocketClient<ServerMethods>;
|
|
@@ -44,96 +38,10 @@ export async function connectToISocketRPCServer({
|
|
|
44
38
|
authorization,
|
|
45
39
|
requestHandlers,
|
|
46
40
|
[],
|
|
41
|
+
tracer,
|
|
47
42
|
{
|
|
48
43
|
connectionTimeoutInSeconds: 6 * 60, // 6 minutes
|
|
49
44
|
noResponseTimeoutInSeconds: 5 * 60, // 5 minutes
|
|
50
45
|
},
|
|
51
46
|
);
|
|
52
47
|
}
|
|
53
|
-
|
|
54
|
-
// a subclass of ISocket that sends an auth token on the first request
|
|
55
|
-
// this is useful for client-side sockets that need to authenticate
|
|
56
|
-
// TODO(george): if we start using this for long-lived connections, we should add a way to refresh the token
|
|
57
|
-
export class ISocketWithClientAuth<
|
|
58
|
-
ImplementedMethods,
|
|
59
|
-
CallableMethods,
|
|
60
|
-
RequestContext extends RequestContextBase,
|
|
61
|
-
> extends ISocket<ImplementedMethods, CallableMethods, RequestContext> {
|
|
62
|
-
private readonly authorization?: string;
|
|
63
|
-
private hasSentAuth = false;
|
|
64
|
-
|
|
65
|
-
constructor(
|
|
66
|
-
ws: WebSocket,
|
|
67
|
-
authorization: string | undefined,
|
|
68
|
-
requestHandlers: MethodHandlers<
|
|
69
|
-
ImplementedMethods,
|
|
70
|
-
CallableMethods,
|
|
71
|
-
RequestContext
|
|
72
|
-
>,
|
|
73
|
-
globalMiddlewares: GenericMiddleware<CallableMethods, RequestContext>[],
|
|
74
|
-
timeouts?: SocketTimeouts,
|
|
75
|
-
) {
|
|
76
|
-
super(ws, requestHandlers, globalMiddlewares, timeouts);
|
|
77
|
-
this.authorization = authorization;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// override `request` from the base class to send `authorization` when appropriate
|
|
81
|
-
async request<Params, Result>(
|
|
82
|
-
method: string,
|
|
83
|
-
params: Params,
|
|
84
|
-
): Promise<Result> {
|
|
85
|
-
// only send `authorization` on the first request
|
|
86
|
-
const authorization = this.hasSentAuth ? undefined : this.authorization;
|
|
87
|
-
const result = await super.request<Params, Result>(
|
|
88
|
-
method,
|
|
89
|
-
params,
|
|
90
|
-
authorization,
|
|
91
|
-
);
|
|
92
|
-
this.hasSentAuth = true;
|
|
93
|
-
return result;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export async function connectISocket<
|
|
98
|
-
CallableMethods,
|
|
99
|
-
ImplementedMethods,
|
|
100
|
-
RequestContext extends RequestContextBase = RequestContextBase,
|
|
101
|
-
>(
|
|
102
|
-
wsUrl: string,
|
|
103
|
-
authorization: string | undefined,
|
|
104
|
-
requestHandlers: MethodHandlers<
|
|
105
|
-
ImplementedMethods,
|
|
106
|
-
CallableMethods,
|
|
107
|
-
RequestContext
|
|
108
|
-
>,
|
|
109
|
-
globalMiddlewares: GenericMiddleware<CallableMethods, RequestContext>[],
|
|
110
|
-
timeouts?: SocketTimeouts,
|
|
111
|
-
): Promise<ISocketClient<CallableMethods>> {
|
|
112
|
-
const ws = await connectWebSocket(wsUrl);
|
|
113
|
-
const isocket = new ISocketWithClientAuth(
|
|
114
|
-
ws,
|
|
115
|
-
authorization,
|
|
116
|
-
requestHandlers,
|
|
117
|
-
globalMiddlewares,
|
|
118
|
-
timeouts,
|
|
119
|
-
);
|
|
120
|
-
return createISocketClient(isocket);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export function connectWebSocket(wsUrl: string): Promise<WebSocket> {
|
|
124
|
-
return new Promise((resolve, reject) => {
|
|
125
|
-
const ws = new WebSocket(wsUrl);
|
|
126
|
-
|
|
127
|
-
ws.addEventListener("open", () => {
|
|
128
|
-
// Resolve the promise with the WebSocket instance when the connection is open
|
|
129
|
-
resolve(ws);
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
133
|
-
// @ts-ignore
|
|
134
|
-
ws.addEventListener("error", (error: Error) => {
|
|
135
|
-
// Reject the promise if there's an error
|
|
136
|
-
reject(error);
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
}
|