@powerhousedao/switchboard 6.0.2-staging.2 → 6.0.2-staging.4
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/Auth.md +45 -27
- package/CHANGELOG.md +1417 -101
- package/README.md +13 -12
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +129 -0
- package/dist/index.mjs.map +1 -0
- package/dist/install-packages.d.mts +1 -0
- package/dist/install-packages.mjs +31 -0
- package/dist/install-packages.mjs.map +1 -0
- package/dist/migrate.d.mts +1 -0
- package/dist/migrate.mjs +55 -0
- package/dist/migrate.mjs.map +1 -0
- package/dist/server-BMtyzhoR.mjs +291 -0
- package/dist/server-BMtyzhoR.mjs.map +1 -0
- package/dist/server.d.mts +93 -0
- package/dist/server.d.mts.map +1 -0
- package/dist/server.mjs +4 -0
- package/dist/utils-DFl0ezBT.mjs +44 -0
- package/dist/utils-DFl0ezBT.mjs.map +1 -0
- package/dist/utils.d.mts +9 -0
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.mjs +2 -0
- package/package.json +33 -27
- package/tsconfig.json +6 -3
- package/tsdown.config.ts +16 -0
- package/vitest.config.ts +2 -6
- package/Dockerfile +0 -86
- package/dist/src/clients/redis.d.ts +0 -5
- package/dist/src/clients/redis.d.ts.map +0 -1
- package/dist/src/clients/redis.js +0 -48
- package/dist/src/clients/redis.js.map +0 -1
- package/dist/src/config.d.ts +0 -12
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -33
- package/dist/src/config.js.map +0 -1
- package/dist/src/feature-flags.d.ts +0 -2
- package/dist/src/feature-flags.d.ts.map +0 -1
- package/dist/src/feature-flags.js +0 -9
- package/dist/src/feature-flags.js.map +0 -1
- package/dist/src/index.d.ts +0 -3
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -49
- package/dist/src/index.js.map +0 -1
- package/dist/src/install-packages.d.ts +0 -2
- package/dist/src/install-packages.d.ts.map +0 -1
- package/dist/src/install-packages.js +0 -36
- package/dist/src/install-packages.js.map +0 -1
- package/dist/src/metrics.d.ts +0 -7
- package/dist/src/metrics.d.ts.map +0 -1
- package/dist/src/metrics.js +0 -34
- package/dist/src/metrics.js.map +0 -1
- package/dist/src/migrate.d.ts +0 -3
- package/dist/src/migrate.d.ts.map +0 -1
- package/dist/src/migrate.js +0 -65
- package/dist/src/migrate.js.map +0 -1
- package/dist/src/profiler.d.ts +0 -9
- package/dist/src/profiler.d.ts.map +0 -1
- package/dist/src/profiler.js +0 -43
- package/dist/src/profiler.js.map +0 -1
- package/dist/src/renown.d.ts +0 -24
- package/dist/src/renown.d.ts.map +0 -1
- package/dist/src/renown.js +0 -45
- package/dist/src/renown.js.map +0 -1
- package/dist/src/server.d.ts +0 -5
- package/dist/src/server.d.ts.map +0 -1
- package/dist/src/server.js +0 -282
- package/dist/src/server.js.map +0 -1
- package/dist/src/types.d.ts +0 -66
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js +0 -2
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils.d.ts +0 -5
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -62
- package/dist/src/utils.js.map +0 -1
- package/dist/test/metrics.test.d.ts +0 -2
- package/dist/test/metrics.test.d.ts.map +0 -1
- package/dist/test/metrics.test.js +0 -121
- package/dist/test/metrics.test.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -15
- package/dist/vitest.config.js.map +0 -1
- package/entrypoint.sh +0 -17
package/dist/src/index.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import * as Sentry from "@sentry/node";
|
|
3
|
-
import { childLogger } from "document-drive";
|
|
4
|
-
import { config } from "./config.js";
|
|
5
|
-
import { createMeterProviderFromEnv } from "./metrics.js";
|
|
6
|
-
import { initProfilerFromEnv } from "./profiler.js";
|
|
7
|
-
import { startSwitchboard } from "./server.js";
|
|
8
|
-
const logger = childLogger(["switchboard"]);
|
|
9
|
-
function ensureNodeVersion(minVersion = "24") {
|
|
10
|
-
const version = process.versions.node;
|
|
11
|
-
if (!version) {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
if (version < minVersion) {
|
|
15
|
-
console.error(`Node version ${minVersion} or higher is required. Current version: ${version}`);
|
|
16
|
-
process.exit(1);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
// Ensure minimum Node.js version
|
|
20
|
-
ensureNodeVersion("24");
|
|
21
|
-
const meterProvider = createMeterProviderFromEnv({
|
|
22
|
-
OTEL_EXPORTER_OTLP_ENDPOINT: process.env.OTEL_EXPORTER_OTLP_ENDPOINT,
|
|
23
|
-
OTEL_METRIC_EXPORT_INTERVAL: process.env.OTEL_METRIC_EXPORT_INTERVAL,
|
|
24
|
-
OTEL_SERVICE_NAME: process.env.OTEL_SERVICE_NAME,
|
|
25
|
-
});
|
|
26
|
-
async function shutdown() {
|
|
27
|
-
console.log("\nShutting down...");
|
|
28
|
-
// Flush final metrics before exit. Races against a 5s deadline so an
|
|
29
|
-
// unresponsive OTLP endpoint cannot exhaust terminationGracePeriodSeconds.
|
|
30
|
-
await Promise.race([
|
|
31
|
-
meterProvider?.shutdown().catch(() => undefined),
|
|
32
|
-
new Promise((resolve) => setTimeout(resolve, 5_000)),
|
|
33
|
-
]);
|
|
34
|
-
process.exit(0);
|
|
35
|
-
}
|
|
36
|
-
// SIGINT: Ctrl-C in development; SIGTERM: graceful shutdown in Docker/Kubernetes
|
|
37
|
-
process.on("SIGINT", shutdown);
|
|
38
|
-
process.on("SIGTERM", shutdown);
|
|
39
|
-
if (process.env.PYROSCOPE_SERVER_ADDRESS) {
|
|
40
|
-
try {
|
|
41
|
-
await initProfilerFromEnv(process.env);
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
Sentry.captureException(e);
|
|
45
|
-
logger.error("Error starting profiler: @error", e);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
startSwitchboard({ ...config, meterProvider }).catch(console.error);
|
|
49
|
-
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAE5C,SAAS,iBAAiB,CAAC,UAAU,GAAG,IAAI;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CACX,gBAAgB,UAAU,4CAA4C,OAAO,EAAE,CAChF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AACD,iCAAiC;AACjC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAExB,MAAM,aAAa,GAAG,0BAA0B,CAAC;IAC/C,2BAA2B,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;IACpE,2BAA2B,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;IACpE,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;CACjD,CAAC,CAAC;AAEH,KAAK,UAAU,QAAQ;IACrB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,qEAAqE;IACrE,2EAA2E;IAC3E,MAAM,OAAO,CAAC,IAAI,CAAC;QACjB,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAChD,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KAC3D,CAAC,CAAC;IACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,iFAAiF;AACjF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEhC,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,gBAAgB,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install-packages.d.ts","sourceRoot":"","sources":["../../src/install-packages.ts"],"names":[],"mappings":""}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { execSync } from "child_process";
|
|
2
|
-
import fs from "fs";
|
|
3
|
-
import path from "path";
|
|
4
|
-
// Get the list of packages to install from the environment variable
|
|
5
|
-
const pkgs = process.env.PH_PACKAGES?.split(",") || [];
|
|
6
|
-
// Skip if no packages to install
|
|
7
|
-
if (pkgs.length === 0 || (pkgs.length === 1 && pkgs[0] === "")) {
|
|
8
|
-
process.exit(0);
|
|
9
|
-
}
|
|
10
|
-
try {
|
|
11
|
-
// Read the package.json file to check existing dependencies
|
|
12
|
-
const packageJsonPath = path.join(process.cwd(), "package.json");
|
|
13
|
-
const packageJsonContent = fs.readFileSync(packageJsonPath, "utf-8");
|
|
14
|
-
const packageJson = JSON.parse(packageJsonContent);
|
|
15
|
-
// Get all installed dependencies
|
|
16
|
-
const installedDependencies = {
|
|
17
|
-
...(packageJson.dependencies || {}),
|
|
18
|
-
...(packageJson.devDependencies || {}),
|
|
19
|
-
};
|
|
20
|
-
for (const pkg of pkgs) {
|
|
21
|
-
if (pkg === "")
|
|
22
|
-
continue;
|
|
23
|
-
// Check if the package is already installed
|
|
24
|
-
if (installedDependencies[pkg]) {
|
|
25
|
-
console.log(`> Package ${pkg} is already installed, skipping`);
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
console.log(`> Installing ${pkg}`);
|
|
29
|
-
execSync(`pnpm add ${pkg}@latest`, { stdio: "inherit" });
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.error("Error in package installation:", error);
|
|
34
|
-
process.exit(1);
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=install-packages.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install-packages.js","sourceRoot":"","sources":["../../src/install-packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,oEAAoE;AACpE,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AAEvD,iCAAiC;AACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;IAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,IAAI,CAAC;IACH,4DAA4D;IAC5D,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;IACjE,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAgB,CAAC;IAElE,iCAAiC;IACjC,MAAM,qBAAqB,GAA2B;QACpD,GAAG,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;QACnC,GAAG,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;KACvC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,KAAK,EAAE;YAAE,SAAS;QAEzB,4CAA4C;QAC5C,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,iCAAiC,CAAC,CAAC;YAC/D,SAAS;QACX,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACnC,QAAQ,CAAC,YAAY,GAAG,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
package/dist/src/metrics.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { MeterProvider } from "@opentelemetry/sdk-metrics";
|
|
2
|
-
export declare function createMeterProviderFromEnv(env: {
|
|
3
|
-
OTEL_EXPORTER_OTLP_ENDPOINT?: string;
|
|
4
|
-
OTEL_METRIC_EXPORT_INTERVAL?: string;
|
|
5
|
-
OTEL_SERVICE_NAME?: string;
|
|
6
|
-
}): MeterProvider | undefined;
|
|
7
|
-
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/metrics.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAEd,MAAM,4BAA4B,CAAC;AAKpC,wBAAgB,0BAA0B,CAAC,GAAG,EAAE;IAC9C,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,aAAa,GAAG,SAAS,CA8B5B"}
|
package/dist/src/metrics.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { OTLPMetricExporter } from "@opentelemetry/exporter-metrics-otlp-http";
|
|
2
|
-
import { Resource } from "@opentelemetry/resources";
|
|
3
|
-
import { MeterProvider, PeriodicExportingMetricReader, } from "@opentelemetry/sdk-metrics";
|
|
4
|
-
import { childLogger } from "document-drive";
|
|
5
|
-
const logger = childLogger(["switchboard", "metrics"]);
|
|
6
|
-
export function createMeterProviderFromEnv(env) {
|
|
7
|
-
const endpoint = env.OTEL_EXPORTER_OTLP_ENDPOINT;
|
|
8
|
-
if (!endpoint)
|
|
9
|
-
return undefined;
|
|
10
|
-
const parsed = parseInt(env.OTEL_METRIC_EXPORT_INTERVAL ?? "", 10);
|
|
11
|
-
const exportIntervalMillis = Number.isFinite(parsed) && parsed > 0 ? parsed : 5_000;
|
|
12
|
-
const base = endpoint.replace(/\/$/, "");
|
|
13
|
-
const exporterUrl = base.endsWith("/v1/metrics")
|
|
14
|
-
? base
|
|
15
|
-
: `${base}/v1/metrics`;
|
|
16
|
-
logger.info(`Initializing OpenTelemetry metrics exporter at: ${endpoint}`);
|
|
17
|
-
const meterProvider = new MeterProvider({
|
|
18
|
-
resource: new Resource({
|
|
19
|
-
"service.name": env.OTEL_SERVICE_NAME ?? "switchboard",
|
|
20
|
-
}),
|
|
21
|
-
readers: [
|
|
22
|
-
new PeriodicExportingMetricReader({
|
|
23
|
-
exporter: new OTLPMetricExporter({
|
|
24
|
-
url: exporterUrl,
|
|
25
|
-
}),
|
|
26
|
-
exportIntervalMillis,
|
|
27
|
-
exportTimeoutMillis: Math.max(exportIntervalMillis - 250, 1),
|
|
28
|
-
}),
|
|
29
|
-
],
|
|
30
|
-
});
|
|
31
|
-
logger.info(`Metrics export enabled (interval: ${exportIntervalMillis}ms)`);
|
|
32
|
-
return meterProvider;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=metrics.js.map
|
package/dist/src/metrics.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EACL,aAAa,EACb,6BAA6B,GAC9B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AAEvD,MAAM,UAAU,0BAA0B,CAAC,GAI1C;IACC,MAAM,QAAQ,GAAG,GAAG,CAAC,2BAA2B,CAAC;IACjD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,2BAA2B,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,oBAAoB,GACxB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC9C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC;IAEzB,MAAM,CAAC,IAAI,CAAC,mDAAmD,QAAQ,EAAE,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;QACtC,QAAQ,EAAE,IAAI,QAAQ,CAAC;YACrB,cAAc,EAAE,GAAG,CAAC,iBAAiB,IAAI,aAAa;SACvD,CAAC;QACF,OAAO,EAAE;YACP,IAAI,6BAA6B,CAAC;gBAChC,QAAQ,EAAE,IAAI,kBAAkB,CAAC;oBAC/B,GAAG,EAAE,WAAW;iBACjB,CAAC;gBACF,oBAAoB;gBACpB,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,GAAG,EAAE,CAAC,CAAC;aAC7D,CAAC;SACH;KACF,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,qCAAqC,oBAAoB,KAAK,CAAC,CAAC;IAC5E,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
package/dist/src/migrate.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":""}
|
package/dist/src/migrate.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { Kysely, PostgresDialect } from "kysely";
|
|
3
|
-
import { Pool } from "pg";
|
|
4
|
-
import { runMigrations, getMigrationStatus, REACTOR_SCHEMA, } from "@powerhousedao/reactor";
|
|
5
|
-
import { getConfig } from "@powerhousedao/config/node";
|
|
6
|
-
function isPostgresUrl(url) {
|
|
7
|
-
return url.startsWith("postgresql://") || url.startsWith("postgres://");
|
|
8
|
-
}
|
|
9
|
-
async function main() {
|
|
10
|
-
const command = process.argv[2];
|
|
11
|
-
const config = getConfig();
|
|
12
|
-
const dbPath = process.env.PH_REACTOR_DATABASE_URL ??
|
|
13
|
-
process.env.DATABASE_URL ??
|
|
14
|
-
config.switchboard?.database?.url;
|
|
15
|
-
if (!dbPath || !isPostgresUrl(dbPath)) {
|
|
16
|
-
console.log("No PostgreSQL URL configured. Skipping migrations.");
|
|
17
|
-
console.log("(PGlite migrations are handled automatically on startup)");
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
console.log(`Database: ${dbPath}`);
|
|
21
|
-
const pool = new Pool({ connectionString: dbPath });
|
|
22
|
-
const db = new Kysely({
|
|
23
|
-
dialect: new PostgresDialect({ pool }),
|
|
24
|
-
});
|
|
25
|
-
try {
|
|
26
|
-
if (command === "status") {
|
|
27
|
-
console.log("\nChecking migration status...");
|
|
28
|
-
const migrations = await getMigrationStatus(db, REACTOR_SCHEMA);
|
|
29
|
-
console.log("\nMigration Status:");
|
|
30
|
-
console.log("=================");
|
|
31
|
-
for (const migration of migrations) {
|
|
32
|
-
const status = migration.executedAt
|
|
33
|
-
? `[OK] Executed at ${migration.executedAt.toISOString()}`
|
|
34
|
-
: "[--] Pending";
|
|
35
|
-
console.log(`${status} - ${migration.name}`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
console.log("\nRunning migrations...");
|
|
40
|
-
const result = await runMigrations(db, REACTOR_SCHEMA);
|
|
41
|
-
if (!result.success) {
|
|
42
|
-
console.error("Migration failed:", result.error?.message);
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
if (result.migrationsExecuted.length === 0) {
|
|
46
|
-
console.log("No migrations to run - database is up to date");
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
console.log(`Successfully executed ${result.migrationsExecuted.length} migration(s):`);
|
|
50
|
-
for (const name of result.migrationsExecuted) {
|
|
51
|
-
console.log(` - ${name}`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
console.error("Error:", error instanceof Error ? error.message : String(error));
|
|
58
|
-
process.exit(1);
|
|
59
|
-
}
|
|
60
|
-
finally {
|
|
61
|
-
await db.destroy();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
void main();
|
|
65
|
-
//# sourceMappingURL=migrate.js.map
|
package/dist/src/migrate.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"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"}
|
package/dist/src/profiler.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { PyroscopeConfig } from "@pyroscope/nodejs";
|
|
2
|
-
export declare function initProfilerFromEnv(env: typeof process.env): Promise<void>;
|
|
3
|
-
interface ProfilerFlags {
|
|
4
|
-
wallEnabled?: boolean;
|
|
5
|
-
heapEnabled?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare function initProfiler(options?: PyroscopeConfig, flags?: ProfilerFlags): Promise<void>;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=profiler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profiler.d.ts","sourceRoot":"","sources":["../../src/profiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,OAAO,CAAC,GAAG,iBAgChE;AAED,UAAU,aAAa;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,eAAe,EACzB,KAAK,GAAE,aAAyD,iBAqBjE"}
|
package/dist/src/profiler.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
export async function initProfilerFromEnv(env) {
|
|
2
|
-
const { PYROSCOPE_SERVER_ADDRESS: serverAddress, PYROSCOPE_APPLICATION_NAME: appName, PYROSCOPE_USER: basicAuthUser, PYROSCOPE_PASSWORD: basicAuthPassword, PYROSCOPE_WALL_ENABLED: wallEnabled, PYROSCOPE_HEAP_ENABLED: heapEnabled, } = env;
|
|
3
|
-
const options = {
|
|
4
|
-
serverAddress,
|
|
5
|
-
appName,
|
|
6
|
-
basicAuthUser,
|
|
7
|
-
basicAuthPassword,
|
|
8
|
-
// Wall profiling captures wall-clock time (includes async I/O waits)
|
|
9
|
-
// This shows GraphQL resolvers even when waiting for database
|
|
10
|
-
wall: {
|
|
11
|
-
samplingDurationMs: 10000, // 10 second sampling windows
|
|
12
|
-
samplingIntervalMicros: 10000, // 10ms sampling interval (100 samples/sec)
|
|
13
|
-
collectCpuTime: true, // Also collect CPU time alongside wall time
|
|
14
|
-
},
|
|
15
|
-
// Heap profiling for memory allocation tracking
|
|
16
|
-
heap: {
|
|
17
|
-
samplingIntervalBytes: 512 * 1024, // Sample every 512KB allocated
|
|
18
|
-
stackDepth: 64, // Capture deeper stacks for better context
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
return initProfiler(options, {
|
|
22
|
-
wallEnabled: wallEnabled !== "false",
|
|
23
|
-
heapEnabled: heapEnabled === "true",
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
export async function initProfiler(options, flags = { wallEnabled: true, heapEnabled: false }) {
|
|
27
|
-
console.log("Initializing Pyroscope profiler at:", options?.serverAddress);
|
|
28
|
-
console.log(" Wall profiling:", flags.wallEnabled ? "enabled" : "disabled");
|
|
29
|
-
console.log(" Heap profiling:", flags.heapEnabled ? "enabled" : "disabled");
|
|
30
|
-
const { default: Pyroscope } = await import("@pyroscope/nodejs");
|
|
31
|
-
Pyroscope.init(options);
|
|
32
|
-
// Start wall profiling (captures async I/O time - shows resolvers)
|
|
33
|
-
if (flags.wallEnabled) {
|
|
34
|
-
Pyroscope.startWallProfiling();
|
|
35
|
-
}
|
|
36
|
-
// Start CPU profiling (captures CPU-bound work)
|
|
37
|
-
Pyroscope.startCpuProfiling();
|
|
38
|
-
// Optionally start heap profiling (memory allocations)
|
|
39
|
-
if (flags.heapEnabled) {
|
|
40
|
-
Pyroscope.startHeapProfiling();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=profiler.js.map
|
package/dist/src/profiler.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profiler.js","sourceRoot":"","sources":["../../src/profiler.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAuB;IAC/D,MAAM,EACJ,wBAAwB,EAAE,aAAa,EACvC,0BAA0B,EAAE,OAAO,EACnC,cAAc,EAAE,aAAa,EAC7B,kBAAkB,EAAE,iBAAiB,EACrC,sBAAsB,EAAE,WAAW,EACnC,sBAAsB,EAAE,WAAW,GACpC,GAAG,GAAG,CAAC;IAER,MAAM,OAAO,GAAoB;QAC/B,aAAa;QACb,OAAO;QACP,aAAa;QACb,iBAAiB;QACjB,qEAAqE;QACrE,8DAA8D;QAC9D,IAAI,EAAE;YACJ,kBAAkB,EAAE,KAAK,EAAE,6BAA6B;YACxD,sBAAsB,EAAE,KAAK,EAAE,2CAA2C;YAC1E,cAAc,EAAE,IAAI,EAAE,4CAA4C;SACnE;QACD,gDAAgD;QAChD,IAAI,EAAE;YACJ,qBAAqB,EAAE,GAAG,GAAG,IAAI,EAAE,+BAA+B;YAClE,UAAU,EAAE,EAAE,EAAE,2CAA2C;SAC5D;KACF,CAAC;IACF,OAAO,YAAY,CAAC,OAAO,EAAE;QAC3B,WAAW,EAAE,WAAW,KAAK,OAAO;QACpC,WAAW,EAAE,WAAW,KAAK,MAAM;KACpC,CAAC,CAAC;AACL,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAyB,EACzB,QAAuB,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;IAEhE,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE7E,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACjE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAExB,mEAAmE;IACnE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,SAAS,CAAC,kBAAkB,EAAE,CAAC;IACjC,CAAC;IAED,gDAAgD;IAChD,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAE9B,uDAAuD;IACvD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,SAAS,CAAC,kBAAkB,EAAE,CAAC;IACjC,CAAC;AACH,CAAC"}
|
package/dist/src/renown.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { SignerConfig } from "@powerhousedao/reactor";
|
|
2
|
-
import { type IRenown } from "@renown/sdk/node";
|
|
3
|
-
export interface RenownOptions {
|
|
4
|
-
/** Path to the keypair file. Defaults to .ph/.keypair.json in cwd */
|
|
5
|
-
keypairPath?: string;
|
|
6
|
-
/** If true, won't generate a new keypair if none exists */
|
|
7
|
-
requireExisting?: boolean;
|
|
8
|
-
/** Base url of the Renown instance to use */
|
|
9
|
-
baseUrl?: string;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Initialize Renown for the Switchboard instance.
|
|
13
|
-
* This allows Switchboard to authenticate with remote services
|
|
14
|
-
* using the same identity established during `ph login`.
|
|
15
|
-
*/
|
|
16
|
-
export declare function initRenown(options?: RenownOptions): Promise<IRenown | null>;
|
|
17
|
-
/**
|
|
18
|
-
* Get the signer config for the given renown instance.
|
|
19
|
-
*
|
|
20
|
-
* @param renown - The renown instance
|
|
21
|
-
* @param requireSignature - If true, unsigned actions are rejected
|
|
22
|
-
*/
|
|
23
|
-
export declare function getRenownSignerConfig(renown: IRenown, requireSignature?: boolean): SignerConfig;
|
|
24
|
-
//# sourceMappingURL=renown.d.ts.map
|
package/dist/src/renown.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renown.d.ts","sourceRoot":"","sources":["../../src/renown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAML,KAAK,OAAO,EACb,MAAM,kBAAkB,CAAC;AAK1B,MAAM,WAAW,aAAa;IAC5B,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAqCzB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,OAAO,EACf,gBAAgB,CAAC,EAAE,OAAO,GACzB,YAAY,CAKd"}
|
package/dist/src/renown.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { createSignatureVerifier, DEFAULT_RENOWN_URL, NodeKeyStorage, RenownBuilder, RenownCryptoBuilder, } from "@renown/sdk/node";
|
|
2
|
-
import { childLogger } from "document-drive";
|
|
3
|
-
const logger = childLogger(["switchboard", "renown"]);
|
|
4
|
-
/**
|
|
5
|
-
* Initialize Renown for the Switchboard instance.
|
|
6
|
-
* This allows Switchboard to authenticate with remote services
|
|
7
|
-
* using the same identity established during `ph login`.
|
|
8
|
-
*/
|
|
9
|
-
export async function initRenown(options = {}) {
|
|
10
|
-
const { keypairPath, requireExisting = false, baseUrl = DEFAULT_RENOWN_URL, } = options;
|
|
11
|
-
const keyStorage = new NodeKeyStorage(keypairPath, {
|
|
12
|
-
logger,
|
|
13
|
-
});
|
|
14
|
-
// Check if we have an existing keypair
|
|
15
|
-
const existingKeyPair = await keyStorage.loadKeyPair();
|
|
16
|
-
if (!existingKeyPair && requireExisting) {
|
|
17
|
-
throw new Error("No existing keypair found and requireExisting is true. " +
|
|
18
|
-
'Run "ph login" to create one.');
|
|
19
|
-
}
|
|
20
|
-
if (!existingKeyPair) {
|
|
21
|
-
logger.info("No existing keypair found. A new one will be generated.");
|
|
22
|
-
}
|
|
23
|
-
const renownCrypto = await new RenownCryptoBuilder()
|
|
24
|
-
.withKeyPairStorage(keyStorage)
|
|
25
|
-
.build();
|
|
26
|
-
const renown = await new RenownBuilder("switchboard", {})
|
|
27
|
-
.withCrypto(renownCrypto)
|
|
28
|
-
.withBaseUrl(baseUrl)
|
|
29
|
-
.build();
|
|
30
|
-
logger.info("Switchboard identity initialized: @did", renownCrypto.did);
|
|
31
|
-
return renown;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Get the signer config for the given renown instance.
|
|
35
|
-
*
|
|
36
|
-
* @param renown - The renown instance
|
|
37
|
-
* @param requireSignature - If true, unsigned actions are rejected
|
|
38
|
-
*/
|
|
39
|
-
export function getRenownSignerConfig(renown, requireSignature) {
|
|
40
|
-
return {
|
|
41
|
-
signer: renown.signer,
|
|
42
|
-
verifier: createSignatureVerifier(requireSignature),
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=renown.js.map
|
package/dist/src/renown.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renown.js","sourceRoot":"","sources":["../../src/renown.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,mBAAmB,GAEpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAWtD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAyB,EAAE;IAE3B,MAAM,EACJ,WAAW,EACX,eAAe,GAAG,KAAK,EACvB,OAAO,GAAG,kBAAkB,GAC7B,GAAG,OAAO,CAAC;IAEZ,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,WAAW,EAAE;QACjD,MAAM;KACP,CAAC,CAAC;IAEH,uCAAuC;IACvC,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,CAAC;IAEvD,IAAI,CAAC,eAAe,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,yDAAyD;YACvD,+BAA+B,CAClC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,IAAI,mBAAmB,EAAE;SACjD,kBAAkB,CAAC,UAAU,CAAC;SAC9B,KAAK,EAAE,CAAC;IAEX,MAAM,MAAM,GAAG,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC;SACtD,UAAU,CAAC,YAAY,CAAC;SACxB,WAAW,CAAC,OAAO,CAAC;SACpB,KAAK,EAAE,CAAC;IAEX,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAExE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAe,EACf,gBAA0B;IAE1B,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,uBAAuB,CAAC,gBAAgB,CAAC;KACpD,CAAC;AACJ,CAAC"}
|
package/dist/src/server.d.ts
DELETED
package/dist/src/server.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";AA4CA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAqSzE,eAAO,MAAM,gBAAgB,GAC3B,UAAS,kBAAuB,KAC/B,OAAO,CAAC,kBAAkB,CAwD5B,CAAC;AAEF,cAAc,YAAY,CAAC"}
|