@superblocksteam/sdk 2.0.20 → 2.0.21-next.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/dist/cli-replacement/auth-hot-reload.d.mts +15 -0
- package/dist/cli-replacement/auth-hot-reload.d.mts.map +1 -0
- package/dist/cli-replacement/auth-hot-reload.mjs +121 -0
- package/dist/cli-replacement/auth-hot-reload.mjs.map +1 -0
- package/dist/cli-replacement/automatic-upgrades.d.ts +2 -2
- package/dist/cli-replacement/automatic-upgrades.d.ts.map +1 -1
- package/dist/cli-replacement/automatic-upgrades.js.map +1 -1
- package/dist/cli-replacement/dev.d.mts +7 -1
- package/dist/cli-replacement/dev.d.mts.map +1 -1
- package/dist/cli-replacement/dev.mjs +36 -25
- package/dist/cli-replacement/dev.mjs.map +1 -1
- package/dist/cli-replacement/socket-utils.d.mts +17 -0
- package/dist/cli-replacement/socket-utils.d.mts.map +1 -0
- package/dist/cli-replacement/socket-utils.mjs +118 -0
- package/dist/cli-replacement/socket-utils.mjs.map +1 -0
- package/dist/dev-utils/token-manager.d.ts +6 -0
- package/dist/dev-utils/token-manager.d.ts.map +1 -0
- package/dist/dev-utils/token-manager.js +7 -0
- package/dist/dev-utils/token-manager.js.map +1 -0
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/telemetry/index.d.ts +2 -2
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +12 -4
- package/dist/telemetry/index.js.map +1 -1
- package/dist/types/common.d.ts +15 -4
- package/dist/types/common.d.ts.map +1 -1
- package/dist/types/common.js.map +1 -1
- package/dist/utils/token-utils.d.mts +22 -0
- package/dist/utils/token-utils.d.mts.map +1 -0
- package/dist/utils/token-utils.mjs +21 -0
- package/dist/utils/token-utils.mjs.map +1 -0
- package/package.json +6 -5
- package/src/cli-replacement/auth-hot-reload.mts +167 -0
- package/src/cli-replacement/automatic-upgrades.ts +3 -3
- package/src/cli-replacement/dev.mts +71 -34
- package/src/cli-replacement/socket-utils.mts +145 -0
- package/src/dev-utils/token-manager.ts +8 -0
- package/src/index.ts +32 -1
- package/src/telemetry/index.ts +19 -6
- package/src/types/common.ts +22 -4
- package/src/utils/token-utils.mts +41 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACL,8BAA8B,EAC9B,QAAQ,EACR,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,OAAO,EACP,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,yCAAyC,EAC9C,KAAK,uBAAuB,EAC5B,KAAK,wCAAwC,EAC7C,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,mDAAmD,EACnD,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,QAAQ,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,kCAAkC,EAClC,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,OAAO,EACP,IAAI,EACJ,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,SAAS,EACT,qBAAqB,EACrB,WAAW,EACX,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,GACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,13 @@ export { DEFAULT_BRANCH, DEPLOYED_MODE, FileStructureType, LATEST_EDITS_MODE, MO
|
|
|
7
7
|
export { AUTO_UPGRADE_EXIT_CODE } from "./cli-replacement/automatic-upgrades.js";
|
|
8
8
|
export { RESTART_EXIT_CODE } from "./dev-utils/dev-server.mjs";
|
|
9
9
|
export { createDevServer } from "./dev-utils/dev-server.mjs";
|
|
10
|
-
export {
|
|
10
|
+
export { TokenManager } from "./dev-utils/token-manager.js";
|
|
11
|
+
export { tryDecodeJwtToken, } from "./utils/token-utils.mjs";
|
|
11
12
|
export { fetchAndWriteApplication } from "./cli-replacement/init.js";
|
|
12
13
|
export { ExportViewMode } from "@superblocksteam/shared";
|
|
14
|
+
export { getAllSocketFiles, getSocketFileForPid, socketDirectoryExists, getSocketDirectory, cleanupSocketFile, isSocketAlive, } from "./cli-replacement/socket-utils.mjs";
|
|
15
|
+
export { dev } from "./cli-replacement/dev.mjs";
|
|
16
|
+
export { getLogger } from "./telemetry/logging.js";
|
|
17
|
+
export { AuthHotReloadServer, isAuthHotReloadEnabled, } from "./cli-replacement/auth-hot-reload.mjs";
|
|
18
|
+
export { configureTelemetry } from "./telemetry/index.js";
|
|
13
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACL,8BAA8B,EAC9B,QAAQ,EACR,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,OAAO,EACP,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAclB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,mDAAmD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACL,8BAA8B,EAC9B,QAAQ,EACR,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,8BAA8B,EAC9B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,OAAO,EACP,eAAe,EACf,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAclB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,WAAW,EACX,SAAS,EACT,cAAc,EACd,OAAO,EACP,WAAW,EACX,oBAAoB,EACpB,mDAAmD,GAiCpD,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,kCAAkC,EAClC,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,OAAO,EACP,IAAI,EACJ,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,SAAS,EACT,qBAAqB,EACrB,WAAW,EACX,sBAAsB,EACtB,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EACL,iBAAiB,GAGlB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,GAEd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ApplicationConfigWithTokenConfigAndUserInfo } from "../types/index.js";
|
|
2
2
|
import type { Tracer } from "@opentelemetry/api";
|
|
3
3
|
import type { Logger } from "@opentelemetry/api-logs";
|
|
4
|
-
export declare function configureTelemetry(applicationConfig:
|
|
4
|
+
export declare function configureTelemetry(applicationConfig: ApplicationConfigWithTokenConfigAndUserInfo): Promise<void>;
|
|
5
5
|
export declare function getLogger(): Logger;
|
|
6
6
|
export declare function getTracer(): Tracer;
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,2CAA2C,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AActD,wBAAsB,kBAAkB,CACtC,iBAAiB,EAAE,2CAA2C,iBA8D/D;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
|
package/dist/telemetry/index.js
CHANGED
|
@@ -15,10 +15,17 @@ import { ATTR_SUPERBLOCKS_BASE_URL, ATTR_SUPERBLOCKS_CLI_TOKEN, ATTR_SUPERBLOCKS
|
|
|
15
15
|
import { getConfiguration, SERVICE_NAME } from "./util.js";
|
|
16
16
|
let config = undefined;
|
|
17
17
|
let configured = false;
|
|
18
|
+
let sdkInstance = undefined;
|
|
19
|
+
async function shutdownTelemetry() {
|
|
20
|
+
if (sdkInstance) {
|
|
21
|
+
await sdkInstance.shutdown();
|
|
22
|
+
sdkInstance = undefined;
|
|
23
|
+
configured = false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
18
26
|
export async function configureTelemetry(applicationConfig) {
|
|
19
27
|
if (configured) {
|
|
20
|
-
|
|
21
|
-
throw new Error("TELEMETRY CONFIGURED TWICE");
|
|
28
|
+
await shutdownTelemetry();
|
|
22
29
|
}
|
|
23
30
|
configured = true;
|
|
24
31
|
config = await getConfiguration();
|
|
@@ -47,7 +54,7 @@ export async function configureTelemetry(applicationConfig) {
|
|
|
47
54
|
},
|
|
48
55
|
});
|
|
49
56
|
// Next, configure the OpenTelemetry traces, metrics, and logs
|
|
50
|
-
new NodeSDK({
|
|
57
|
+
sdkInstance = new NodeSDK({
|
|
51
58
|
resource: Resource.default().merge(new Resource({
|
|
52
59
|
[ATTR_SERVICE_NAME]: config.serviceName,
|
|
53
60
|
[ATTR_DEPLOYMENT_ENVIRONMENT_NAME]: process.env.SUPERBLOCKS_CLI_ENV,
|
|
@@ -68,7 +75,8 @@ export async function configureTelemetry(applicationConfig) {
|
|
|
68
75
|
],
|
|
69
76
|
contextManager: new AsyncLocalStorageContextManager(),
|
|
70
77
|
instrumentations: [new HttpInstrumentation(), new ExpressInstrumentation()],
|
|
71
|
-
})
|
|
78
|
+
});
|
|
79
|
+
sdkInstance.start();
|
|
72
80
|
}
|
|
73
81
|
export function getLogger() {
|
|
74
82
|
return logsAPI.getLogger(SERVICE_NAME, packageJson.version);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAK3D,IAAI,MAAM,GAAG,SAAS,CAAC;AACvB,IAAI,UAAU,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/common.d.ts
CHANGED
|
@@ -11,14 +11,22 @@ export interface FlagBootstrap {
|
|
|
11
11
|
"superblocks.git.split.large.steps.new.enabled"?: boolean;
|
|
12
12
|
"superblocks.git.split.large.step.lines"?: number;
|
|
13
13
|
}
|
|
14
|
-
export interface
|
|
14
|
+
export interface TokenConfig {
|
|
15
15
|
superblocksBaseUrl: string;
|
|
16
16
|
token: string;
|
|
17
|
+
}
|
|
18
|
+
export interface UserInfo {
|
|
19
|
+
userId: string;
|
|
20
|
+
userEmail: string;
|
|
21
|
+
organizationId: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ApplicationConfig {
|
|
17
24
|
id: string;
|
|
18
25
|
branchName: string;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
}
|
|
27
|
+
export interface ApplicationConfigWithUserInfo extends UserInfo, ApplicationConfig {
|
|
28
|
+
}
|
|
29
|
+
export interface ApplicationConfigWithTokenConfigAndUserInfo extends ApplicationConfigWithUserInfo, TokenConfig {
|
|
22
30
|
}
|
|
23
31
|
export type User = {
|
|
24
32
|
id: string;
|
|
@@ -122,4 +130,7 @@ export interface DeploymentDto {
|
|
|
122
130
|
deploymentTime: number;
|
|
123
131
|
}
|
|
124
132
|
export type ViewMode = "export-deployed" | "export-latest" | "export-live" | "export-commit";
|
|
133
|
+
export interface TokenUpdateEvent {
|
|
134
|
+
token: string;
|
|
135
|
+
}
|
|
125
136
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,2CAA2C,CAAC,EAAE,OAAO,CAAC;IACtD,+CAA+C,CAAC,EAAE,OAAO,CAAC;IAC1D,wCAAwC,CAAC,EAAE,MAAM,CAAC;CACnD;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"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"}
|
package/dist/types/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/types/common.ts"],"names":[],"mappings":"AAgFA,MAAM,CAAN,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,4CAA6B,CAAA;IAC7B,0DAA2C,CAAA;IAC3C,2DAA2D;IAC3D,4DAA6C,CAAA;IAC7C,8BAAe,CAAA;AACjB,CAAC,EAPW,WAAW,KAAX,WAAW,QAOtB;AAED,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,uDAAe,CAAA;IACf,mDAAa,CAAA;IACb,mDAAa,CAAA;AACf,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAID,MAAM,OAAO,OAAO;IAClB,EAAE,CAAS;IACX,GAAG,CAAS;IACZ,WAAW,CAAS;IACpB,WAAW,CAAS;IACpB,IAAI,CAAc;IAElB,YAAY,EACV,EAAE,EACF,GAAG,EACH,WAAW,EACX,WAAW,EACX,IAAI,GAOL;QACC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;AACnB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface JwtPayload {
|
|
2
|
+
user_email: string;
|
|
3
|
+
scope: string;
|
|
4
|
+
exp?: number;
|
|
5
|
+
}
|
|
6
|
+
interface TokenInfoSuccess {
|
|
7
|
+
isJwt: true;
|
|
8
|
+
userEmail: string;
|
|
9
|
+
scope: string;
|
|
10
|
+
expiresAt?: Date;
|
|
11
|
+
}
|
|
12
|
+
interface TokenInfoFailure {
|
|
13
|
+
isJwt: false;
|
|
14
|
+
}
|
|
15
|
+
export type TokenInfo = TokenInfoSuccess | TokenInfoFailure;
|
|
16
|
+
/**
|
|
17
|
+
* Utility function to decode and identify JWT tokens vs API keys
|
|
18
|
+
* Safely attempts to decode a token as JWT and returns metadata about it
|
|
19
|
+
*/
|
|
20
|
+
export declare function tryDecodeJwtToken(token: string): TokenInfo;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=token-utils.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-utils.d.mts","sourceRoot":"","sources":["../../src/utils/token-utils.mts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAGD,UAAU,gBAAgB;IACxB,KAAK,EAAE,IAAI,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAa1D"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jwtDecode } from "jwt-decode";
|
|
2
|
+
/**
|
|
3
|
+
* Utility function to decode and identify JWT tokens vs API keys
|
|
4
|
+
* Safely attempts to decode a token as JWT and returns metadata about it
|
|
5
|
+
*/
|
|
6
|
+
export function tryDecodeJwtToken(token) {
|
|
7
|
+
try {
|
|
8
|
+
const decoded = jwtDecode(token);
|
|
9
|
+
return {
|
|
10
|
+
isJwt: true,
|
|
11
|
+
userEmail: decoded.user_email,
|
|
12
|
+
scope: decoded.scope,
|
|
13
|
+
expiresAt: decoded.exp ? new Date(decoded.exp * 1000) : undefined,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// Not a valid JWT, assume it is an API key
|
|
18
|
+
return { isJwt: false };
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=token-utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-utils.mjs","sourceRoot":"","sources":["../../src/utils/token-utils.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAuBvC;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAa,KAAK,CAAC,CAAC;QAC7C,OAAO;YACL,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,OAAO,CAAC,UAAU;YAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAClE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;QAC3C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superblocksteam/sdk",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.21-next.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Superblocks JS SDK",
|
|
6
6
|
"homepage": "https://www.superblocks.com",
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"@opentelemetry/semantic-conventions": "^1.28.0",
|
|
34
34
|
"@rollup/wasm-node": "^4.35.0",
|
|
35
35
|
"@superblocksteam/bucketeer-sdk": "0.5.0",
|
|
36
|
-
"@superblocksteam/library": "2.0.
|
|
37
|
-
"@superblocksteam/library-shared": "2.0.
|
|
36
|
+
"@superblocksteam/library": "2.0.21-next.1",
|
|
37
|
+
"@superblocksteam/library-shared": "2.0.21-next.1",
|
|
38
38
|
"@superblocksteam/shared": "0.9260.0",
|
|
39
|
-
"@superblocksteam/util": "2.0.
|
|
40
|
-
"@superblocksteam/vite-plugin-file-sync": "2.0.
|
|
39
|
+
"@superblocksteam/util": "2.0.21-next.1",
|
|
40
|
+
"@superblocksteam/vite-plugin-file-sync": "2.0.21-next.1",
|
|
41
41
|
"@vitejs/plugin-react": "4.3.4",
|
|
42
42
|
"axios": "^1.4.0",
|
|
43
43
|
"chokidar": "^4.0.3",
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"fast-glob": "^3.3.3",
|
|
53
53
|
"form-data": "^4.0.0",
|
|
54
54
|
"fs-extra": "^11.3.0",
|
|
55
|
+
"jwt-decode": "^4.0.0",
|
|
55
56
|
"lodash-es": "^4.17.21",
|
|
56
57
|
"package-manager-detector": "^1.3.0",
|
|
57
58
|
"prettier": "^3.5.3",
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
import * as net from "node:net";
|
|
3
|
+
import * as path from "node:path";
|
|
4
|
+
import * as readline from "node:readline";
|
|
5
|
+
|
|
6
|
+
import { SuperblocksSdk } from "../index.js";
|
|
7
|
+
import { tryDecodeJwtToken } from "../utils/token-utils.mjs";
|
|
8
|
+
import {
|
|
9
|
+
ensureSocketDirectory,
|
|
10
|
+
cleanupDeadSocketFiles,
|
|
11
|
+
getSocketDirectory,
|
|
12
|
+
isSocketAlive,
|
|
13
|
+
} from "./socket-utils.mjs";
|
|
14
|
+
import type { TokenManager } from "../dev-utils/token-manager.js";
|
|
15
|
+
import type { Logger } from "../telemetry/logging.js";
|
|
16
|
+
|
|
17
|
+
export class AuthHotReloadServer {
|
|
18
|
+
private server: net.Server | null = null;
|
|
19
|
+
private socketPath: string;
|
|
20
|
+
private tokenManager: TokenManager;
|
|
21
|
+
private logger: Logger;
|
|
22
|
+
private superblocksBaseUrl: string;
|
|
23
|
+
|
|
24
|
+
constructor(
|
|
25
|
+
tokenManager: TokenManager,
|
|
26
|
+
logger: Logger,
|
|
27
|
+
superblocksBaseUrl: string,
|
|
28
|
+
) {
|
|
29
|
+
this.tokenManager = tokenManager;
|
|
30
|
+
this.logger = logger;
|
|
31
|
+
this.superblocksBaseUrl = superblocksBaseUrl;
|
|
32
|
+
this.socketPath = path.join(
|
|
33
|
+
getSocketDirectory(),
|
|
34
|
+
`superblocks-auth-${process.pid}.sock`,
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async start(): Promise<void> {
|
|
39
|
+
// Ensure socket directory exists
|
|
40
|
+
await ensureSocketDirectory();
|
|
41
|
+
|
|
42
|
+
// Clean up old socket files from dead processes first
|
|
43
|
+
await cleanupDeadSocketFiles(isSocketAlive, this.logger);
|
|
44
|
+
|
|
45
|
+
// Clean up any existing socket file for this process
|
|
46
|
+
try {
|
|
47
|
+
await fs.unlink(this.socketPath);
|
|
48
|
+
} catch {
|
|
49
|
+
// Ignore if file doesn't exist
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
this.server = net.createServer((socket) => {
|
|
53
|
+
this.logger.debug(
|
|
54
|
+
"Auth hot-reload client connected via Unix domain socket",
|
|
55
|
+
);
|
|
56
|
+
|
|
57
|
+
// Use readline interface for proper line buffering
|
|
58
|
+
const rl = readline.createInterface({
|
|
59
|
+
input: socket,
|
|
60
|
+
crlfDelay: Infinity, // Handle both \n and \r\n properly
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
rl.on("line", async (line) => {
|
|
64
|
+
try {
|
|
65
|
+
const parsedMessage = JSON.parse(line.trim());
|
|
66
|
+
|
|
67
|
+
if (parsedMessage.type === "updateToken" && parsedMessage.token) {
|
|
68
|
+
const tokenInfo = tryDecodeJwtToken(parsedMessage.token);
|
|
69
|
+
|
|
70
|
+
if (tokenInfo.isJwt) {
|
|
71
|
+
let expirationInfo = "";
|
|
72
|
+
if (tokenInfo.expiresAt) {
|
|
73
|
+
expirationInfo = ` (expires ${tokenInfo.expiresAt.toISOString()})`;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
this.logger.info(
|
|
77
|
+
`Received new JWT token via hot-reload for user: ${tokenInfo.userEmail}, scope: ${tokenInfo.scope}${expirationInfo}`,
|
|
78
|
+
);
|
|
79
|
+
} else {
|
|
80
|
+
this.logger.info(
|
|
81
|
+
"Received new access token (API key) via hot-reload",
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const sdk = new SuperblocksSdk(
|
|
86
|
+
parsedMessage.token,
|
|
87
|
+
this.superblocksBaseUrl,
|
|
88
|
+
"",
|
|
89
|
+
);
|
|
90
|
+
|
|
91
|
+
try {
|
|
92
|
+
await sdk.fetchCurrentUser();
|
|
93
|
+
this.logger.info("New token is valid");
|
|
94
|
+
this.tokenManager.updateToken(parsedMessage.token);
|
|
95
|
+
|
|
96
|
+
// Acknowledge the update
|
|
97
|
+
socket.write(JSON.stringify({ success: true }) + "\n");
|
|
98
|
+
} catch {
|
|
99
|
+
this.logger.warn(`Received invalid token, ignoring it`);
|
|
100
|
+
socket.write(JSON.stringify({ error: "Invalid token" }) + "\n");
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
} else {
|
|
104
|
+
socket.write(
|
|
105
|
+
JSON.stringify({ error: "Invalid message format" }) + "\n",
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
} catch (error) {
|
|
109
|
+
this.logger.error(
|
|
110
|
+
`Error processing auth hot-reload message: ${error}`,
|
|
111
|
+
);
|
|
112
|
+
socket.write(JSON.stringify({ error: "Invalid JSON" }) + "\n");
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
rl.on("error", (error) => {
|
|
117
|
+
this.logger.error(`Auth hot-reload readline error: ${error}`);
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
socket.on("error", (error) => {
|
|
121
|
+
this.logger.error(`Auth hot-reload socket error: ${error}`);
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
socket.on("close", () => {
|
|
125
|
+
rl.close();
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
|
|
129
|
+
return new Promise((resolve, reject) => {
|
|
130
|
+
this.server!.listen(this.socketPath, () => {
|
|
131
|
+
this.logger.info(
|
|
132
|
+
`Auth hot-reload server listening on: ${this.socketPath}`,
|
|
133
|
+
);
|
|
134
|
+
resolve();
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
this.server!.on("error", (error) => {
|
|
138
|
+
this.logger.error(`Auth hot-reload server error: ${error}`);
|
|
139
|
+
reject(error);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
async stop(): Promise<void> {
|
|
145
|
+
if (this.server) {
|
|
146
|
+
return new Promise((resolve) => {
|
|
147
|
+
this.server!.close(async () => {
|
|
148
|
+
// Clean up socket file
|
|
149
|
+
try {
|
|
150
|
+
await fs.unlink(this.socketPath);
|
|
151
|
+
} catch {
|
|
152
|
+
// Ignore errors when cleaning up
|
|
153
|
+
}
|
|
154
|
+
resolve();
|
|
155
|
+
});
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
getSocketPath(): string {
|
|
161
|
+
return this.socketPath;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export function isAuthHotReloadEnabled(): boolean {
|
|
166
|
+
return process.env.SUPERBLOCKS_AUTH_HOT_RELOAD === "true";
|
|
167
|
+
}
|
|
@@ -11,7 +11,7 @@ import valid from "semver/functions/valid.js";
|
|
|
11
11
|
import { getTracer } from "../telemetry/index.js";
|
|
12
12
|
import { getErrorMeta, getLogger } from "../telemetry/logging.js";
|
|
13
13
|
import type { ResponseMeta } from "../socket/handlers.js";
|
|
14
|
-
import type {
|
|
14
|
+
import type { ApplicationConfigWithTokenConfigAndUserInfo } from "../types/common.js";
|
|
15
15
|
import type { LockService } from "@superblocksteam/vite-plugin-file-sync/lock-service";
|
|
16
16
|
|
|
17
17
|
export const AUTO_UPGRADE_EXIT_CODE = 99;
|
|
@@ -39,7 +39,7 @@ interface CheckVersionsSuccessResponse {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
async function getRemoteVersions(
|
|
42
|
-
config:
|
|
42
|
+
config: ApplicationConfigWithTokenConfigAndUserInfo,
|
|
43
43
|
): Promise<Versions | undefined> {
|
|
44
44
|
const { token, superblocksBaseUrl, id } = config;
|
|
45
45
|
|
|
@@ -187,7 +187,7 @@ async function upgradeCliWithPackageManager(
|
|
|
187
187
|
|
|
188
188
|
export async function checkVersionsAndWritePackageJson(
|
|
189
189
|
lockService: LockService,
|
|
190
|
-
config:
|
|
190
|
+
config: ApplicationConfigWithTokenConfigAndUserInfo,
|
|
191
191
|
): Promise<{
|
|
192
192
|
cliUpdated: boolean;
|
|
193
193
|
upgradePromises: Promise<void>[];
|