@powerhousedao/switchboard 6.0.0-dev.15 → 6.0.0-dev.150
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 +1210 -5
- package/README.md +13 -12
- package/dist/src/config.d.ts +1 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/index.js +33 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/metrics.d.ts +7 -0
- package/dist/src/metrics.d.ts.map +1 -0
- package/dist/src/metrics.js +34 -0
- package/dist/src/metrics.js.map +1 -0
- package/dist/src/profiler.d.ts +6 -1
- package/dist/src/profiler.d.ts.map +1 -1
- package/dist/src/profiler.js +31 -5
- package/dist/src/profiler.js.map +1 -1
- package/dist/src/renown.d.ts +24 -0
- package/dist/src/renown.d.ts.map +1 -0
- package/dist/src/renown.js +45 -0
- package/dist/src/renown.js.map +1 -0
- package/dist/src/server.d.ts +0 -1
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +162 -173
- package/dist/src/server.js.map +1 -1
- package/dist/src/types.d.ts +27 -18
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils.d.ts +2 -3
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +3 -32
- package/dist/src/utils.js.map +1 -1
- package/dist/test/metrics.test.d.ts +2 -0
- package/dist/test/metrics.test.d.ts.map +1 -0
- package/dist/test/metrics.test.js +121 -0
- package/dist/test/metrics.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/vitest.config.d.ts +3 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/dist/vitest.config.js +11 -0
- package/dist/vitest.config.js.map +1 -0
- package/package.json +35 -26
- package/test/metrics.test.ts +202 -0
- package/tsconfig.json +17 -4
- package/vitest.config.ts +11 -0
- 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/connect-crypto.d.ts +0 -41
- package/dist/src/connect-crypto.d.ts.map +0 -1
- package/dist/src/connect-crypto.js +0 -127
- package/dist/src/connect-crypto.js.map +0 -1
- package/entrypoint.sh +0 -17
package/dist/src/server.js
CHANGED
|
@@ -1,138 +1,89 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { ImportPackageLoader, httpsHooksPath, } from "@powerhousedao/reactor-api";
|
|
3
|
+
import { register } from "node:module";
|
|
4
|
+
// Register HTTP/HTTPS module loader hooks for dynamic package imports
|
|
5
|
+
register(httpsHooksPath, import.meta.url);
|
|
2
6
|
import { PGlite } from "@electric-sql/pglite";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
7
|
+
import { metrics } from "@opentelemetry/api";
|
|
8
|
+
import { getConfig } from "@powerhousedao/config/node";
|
|
9
|
+
import { ReactorInstrumentation } from "@powerhousedao/opentelemetry-instrumentation-reactor";
|
|
10
|
+
import { ChannelScheme, EventBus, ReactorBuilder, ReactorClientBuilder, driveCollectionId, parseDriveUrl, } from "@powerhousedao/reactor";
|
|
11
|
+
import { HttpPackageLoader, PackageManagementService, PackagesSubgraph, getUniqueDocumentModels, initializeAndStartAPI, } from "@powerhousedao/reactor-api";
|
|
12
|
+
import { VitePackageLoader, createViteLogger, startViteServer, } from "@powerhousedao/reactor-api/vite";
|
|
13
|
+
import { driveDocumentModelModule } from "@powerhousedao/shared/document-drive";
|
|
14
|
+
import { documentModels as vetraDocumentModels } from "@powerhousedao/vetra";
|
|
15
|
+
import { processorFactory as vetraProcessorFactory } from "@powerhousedao/vetra/processors";
|
|
6
16
|
import * as Sentry from "@sentry/node";
|
|
7
|
-
import {
|
|
8
|
-
import { RedisCache } from "document-drive/cache/redis";
|
|
9
|
-
import { FilesystemStorage } from "document-drive/storage/filesystem";
|
|
10
|
-
import { PrismaStorageFactory } from "document-drive/storage/prisma";
|
|
11
|
-
import { documentModelDocumentModelModule } from "document-model";
|
|
17
|
+
import { childLogger, documentModelDocumentModelModule } from "document-model";
|
|
12
18
|
import dotenv from "dotenv";
|
|
13
|
-
import express from "express";
|
|
14
19
|
import { Kysely, PostgresDialect } from "kysely";
|
|
15
20
|
import { PGliteDialect } from "kysely-pglite-dialect";
|
|
16
21
|
import path from "path";
|
|
17
22
|
import { Pool } from "pg";
|
|
18
|
-
import { initRedis } from "./clients/redis.js";
|
|
19
|
-
import { initConnectCrypto } from "./connect-crypto.js";
|
|
20
23
|
import { initFeatureFlags } from "./feature-flags.js";
|
|
21
|
-
import {
|
|
22
|
-
import { addDefaultDrive,
|
|
23
|
-
const
|
|
24
|
+
import { getRenownSignerConfig, initRenown } from "./renown.js";
|
|
25
|
+
import { addDefaultDrive, isPostgresUrl } from "./utils.js";
|
|
26
|
+
const defaultLogger = childLogger(["switchboard"]);
|
|
24
27
|
dotenv.config();
|
|
25
28
|
// Feature flag constants
|
|
26
29
|
const DOCUMENT_MODEL_SUBGRAPHS_ENABLED = "DOCUMENT_MODEL_SUBGRAPHS_ENABLED";
|
|
27
30
|
const DOCUMENT_MODEL_SUBGRAPHS_ENABLED_DEFAULT = true;
|
|
28
|
-
const
|
|
29
|
-
const
|
|
30
|
-
const ENABLE_DUAL_ACTION_CREATE = "ENABLE_DUAL_ACTION_CREATE";
|
|
31
|
-
const ENABLE_DUAL_ACTION_CREATE_DEFAULT = true;
|
|
32
|
-
// Create a monolith express app for all subgraphs
|
|
33
|
-
const app = express();
|
|
31
|
+
const REQUIRE_SIGNATURES = "REQUIRE_SIGNATURES";
|
|
32
|
+
const REQUIRE_SIGNATURES_DEFAULT = false;
|
|
34
33
|
if (process.env.SENTRY_DSN) {
|
|
35
|
-
|
|
34
|
+
defaultLogger.info("Initialized Sentry with env: @env", process.env.SENTRY_ENV);
|
|
36
35
|
Sentry.init({
|
|
37
36
|
dsn: process.env.SENTRY_DSN,
|
|
38
37
|
environment: process.env.SENTRY_ENV,
|
|
39
38
|
});
|
|
40
|
-
Sentry.setupExpressErrorHandler(app);
|
|
41
39
|
}
|
|
42
40
|
const DEFAULT_PORT = process.env.PORT ? Number(process.env.PORT) : 4001;
|
|
43
|
-
async function
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const prismaConnectError = "Can't reach database server at";
|
|
51
|
-
if (e instanceof Error && e.message.includes(prismaConnectError)) {
|
|
52
|
-
const dbUrl = connectionString;
|
|
53
|
-
const safeUrl = `${dbUrl.slice(0, dbUrl.indexOf(":") + 1)}{...}${dbUrl.slice(dbUrl.indexOf("@"), dbUrl.lastIndexOf("?"))}`;
|
|
54
|
-
logger.warn(`Can't reach database server at '${safeUrl}'`);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
logger.error(e);
|
|
58
|
-
}
|
|
59
|
-
throw e;
|
|
41
|
+
async function initServer(serverPort, options, renown) {
|
|
42
|
+
// Register the global MeterProvider before ReactorInstrumentation is
|
|
43
|
+
// constructed. setGlobalMeterProvider is a one-way door — once set it cannot
|
|
44
|
+
// be unset — so this must happen before initializeClient calls
|
|
45
|
+
// instrumentation.start() → createMetrics() → metrics.getMeter().
|
|
46
|
+
if (options.meterProvider) {
|
|
47
|
+
metrics.setGlobalMeterProvider(options.meterProvider);
|
|
60
48
|
}
|
|
61
|
-
}
|
|
62
|
-
async function initReactorStorage(cache, dbPath = "./.ph/drive-storage") {
|
|
63
|
-
const isPostgres = isPostgresUrl(dbPath);
|
|
64
|
-
try {
|
|
65
|
-
if (isPostgres) {
|
|
66
|
-
const connectionString = dbPath.includes("amazonaws") && !dbPath.includes("sslmode=no-verify")
|
|
67
|
-
? dbPath + "?sslmode=no-verify"
|
|
68
|
-
: dbPath;
|
|
69
|
-
const storage = await initPrismaStorage(connectionString, cache);
|
|
70
|
-
return { storage, storagePath: dbPath };
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
logger.warn("Falling back to filesystem storage");
|
|
75
|
-
}
|
|
76
|
-
// if url was postgres and connection failed, fallback to filesystem on default path
|
|
77
|
-
const filesystemPath = isPostgres ? "./.ph/drive-storage" : dbPath;
|
|
78
|
-
return {
|
|
79
|
-
storage: new FilesystemStorage(path.join(process.cwd(), filesystemPath)),
|
|
80
|
-
storagePath: filesystemPath,
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
async function initServer(serverPort, options, connectCrypto) {
|
|
84
|
-
const { dev, packages = [], remoteDrives = [] } = options;
|
|
49
|
+
const { dev, packages = [], remoteDrives = [], logger = defaultLogger, } = options;
|
|
85
50
|
const dbPath = options.dbPath ?? process.env.DATABASE_URL;
|
|
86
|
-
//
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
51
|
+
// use postgres url for read model storage if available, otherwise use local PGlite path
|
|
52
|
+
const readModelPath = dbPath || ".ph/read-storage";
|
|
53
|
+
// HTTP registry package loading
|
|
54
|
+
const configPath = options.configFile ?? path.join(process.cwd(), "powerhouse.config.json");
|
|
55
|
+
const config = getConfig(configPath);
|
|
56
|
+
const registryUrl = process.env.PH_REGISTRY_URL ?? config.packageRegistryUrl;
|
|
57
|
+
const registryPackages = process.env.PH_REGISTRY_PACKAGES;
|
|
58
|
+
let httpLoader;
|
|
59
|
+
if (registryUrl) {
|
|
60
|
+
httpLoader = new HttpPackageLoader({ registryUrl });
|
|
61
|
+
registryPackages?.split(",").forEach((p) => {
|
|
62
|
+
const name = p.trim();
|
|
63
|
+
if (!packages.includes(name)) {
|
|
64
|
+
packages.push(name);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
96
67
|
}
|
|
97
|
-
const
|
|
98
|
-
const
|
|
99
|
-
// if dbPath is not configured, or it was a postgres url but the connection failed,
|
|
100
|
-
// use default path for read model storage
|
|
101
|
-
const readModelPath = !dbPath || (isPostgresUrl(dbPath) && dbPath !== storagePath)
|
|
102
|
-
? ".ph/read-storage"
|
|
103
|
-
: dbPath;
|
|
104
|
-
const initializeDriveServer = async (documentModels) => {
|
|
105
|
-
const driveServer = new LegacyReactorBuilder(getUniqueDocumentModels([
|
|
106
|
-
documentModelDocumentModelModule,
|
|
107
|
-
driveDocumentModelModule,
|
|
108
|
-
...documentModels,
|
|
109
|
-
]))
|
|
110
|
-
.withStorage(storage)
|
|
111
|
-
.withCache(cache)
|
|
112
|
-
.withOptions({
|
|
113
|
-
featureFlags: {
|
|
114
|
-
enableDualActionCreate: options.reactorOptions?.enableDualActionCreate ?? false,
|
|
115
|
-
},
|
|
116
|
-
})
|
|
117
|
-
.build();
|
|
118
|
-
// init drive server
|
|
119
|
-
await driveServer.initialize();
|
|
120
|
-
return driveServer;
|
|
121
|
-
};
|
|
122
|
-
const initializeClient = async (driveServer, documentModels) => {
|
|
68
|
+
const reactorLogger = logger.child(["reactor"]);
|
|
69
|
+
const initializeClient = async (documentModels) => {
|
|
123
70
|
const eventBus = new EventBus();
|
|
124
71
|
const builder = new ReactorBuilder()
|
|
125
72
|
.withEventBus(eventBus)
|
|
126
73
|
.withDocumentModels(getUniqueDocumentModels([
|
|
127
74
|
documentModelDocumentModelModule,
|
|
128
75
|
driveDocumentModelModule,
|
|
76
|
+
...vetraDocumentModels,
|
|
129
77
|
...documentModels,
|
|
130
78
|
]))
|
|
131
|
-
.
|
|
132
|
-
.
|
|
133
|
-
.
|
|
134
|
-
|
|
135
|
-
|
|
79
|
+
.withChannelScheme(ChannelScheme.SWITCHBOARD)
|
|
80
|
+
.withSignalHandlers()
|
|
81
|
+
.withLogger(reactorLogger);
|
|
82
|
+
const maxSkipThreshold = parseInt(process.env.MAX_SKIP_THRESHOLD ?? "", 10);
|
|
83
|
+
if (!isNaN(maxSkipThreshold) && maxSkipThreshold > 0) {
|
|
84
|
+
builder.withExecutorConfig({ maxSkipThreshold });
|
|
85
|
+
logger.info(`Reactor maxSkipThreshold set to ${maxSkipThreshold}`);
|
|
86
|
+
}
|
|
136
87
|
const reactorDbUrl = process.env.PH_REACTOR_DATABASE_URL;
|
|
137
88
|
if (reactorDbUrl && isPostgresUrl(reactorDbUrl)) {
|
|
138
89
|
const connectionString = reactorDbUrl.includes("?")
|
|
@@ -154,85 +105,134 @@ async function initServer(serverPort, options, connectCrypto) {
|
|
|
154
105
|
builder.withKysely(kysely);
|
|
155
106
|
logger.info("Using PGlite for reactor storage");
|
|
156
107
|
}
|
|
108
|
+
if (httpLoader && options.dynamicModelLoading) {
|
|
109
|
+
builder.withDocumentModelLoader(httpLoader.documentModelLoader);
|
|
110
|
+
}
|
|
157
111
|
const clientBuilder = new ReactorClientBuilder().withReactorBuilder(builder);
|
|
158
|
-
if (
|
|
159
|
-
|
|
112
|
+
if (renown) {
|
|
113
|
+
const signerConfig = getRenownSignerConfig(renown, options.identity?.requireSignatures);
|
|
114
|
+
clientBuilder.withSigner(signerConfig);
|
|
160
115
|
}
|
|
161
116
|
const module = await clientBuilder.buildModule();
|
|
162
|
-
|
|
117
|
+
if (module.reactorModule) {
|
|
118
|
+
const instrumentation = new ReactorInstrumentation(module.reactorModule);
|
|
119
|
+
instrumentation.start();
|
|
120
|
+
reactorLogger.info("Reactor metrics instrumentation started");
|
|
121
|
+
}
|
|
163
122
|
return module;
|
|
164
123
|
};
|
|
165
124
|
let defaultDriveUrl = undefined;
|
|
166
125
|
// TODO get path from powerhouse config
|
|
167
126
|
// start vite server if dev mode is enabled
|
|
168
127
|
const basePath = process.cwd();
|
|
169
|
-
const
|
|
128
|
+
const viteLogger = createViteLogger(logger);
|
|
129
|
+
const vite = dev
|
|
130
|
+
? await startViteServer(process.cwd(), viteLogger)
|
|
131
|
+
: undefined;
|
|
170
132
|
// get paths to local document models
|
|
171
133
|
if (!options.disableLocalPackages) {
|
|
172
134
|
packages.push(basePath);
|
|
173
135
|
}
|
|
174
|
-
//
|
|
175
|
-
const
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
136
|
+
// create loaders
|
|
137
|
+
const packageLoaders = [];
|
|
138
|
+
if (vite) {
|
|
139
|
+
packageLoaders.push(VitePackageLoader.build(vite));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
packageLoaders.push(new ImportPackageLoader());
|
|
143
|
+
}
|
|
144
|
+
if (httpLoader) {
|
|
145
|
+
packageLoaders.push(httpLoader);
|
|
146
|
+
registryPackages?.split(",").forEach((p) => {
|
|
147
|
+
const name = p.trim();
|
|
148
|
+
if (!packages.includes(name)) {
|
|
149
|
+
packages.push(name);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
const apiLogger = logger.child(["reactor-api"]);
|
|
154
|
+
const api = await initializeAndStartAPI(initializeClient, {
|
|
182
155
|
port: serverPort,
|
|
183
156
|
dbPath: readModelPath,
|
|
184
157
|
https: options.https,
|
|
185
|
-
|
|
158
|
+
packageLoaders: packageLoaders.length > 0 ? packageLoaders : undefined,
|
|
186
159
|
packages: packages,
|
|
187
160
|
processorConfig: options.processorConfig,
|
|
161
|
+
processors: {
|
|
162
|
+
"@powerhousedao/vetra": [vetraProcessorFactory],
|
|
163
|
+
},
|
|
188
164
|
configFile: options.configFile ??
|
|
189
165
|
path.join(process.cwd(), "powerhouse.config.json"),
|
|
190
166
|
mcp: options.mcp ?? true,
|
|
167
|
+
logger: apiLogger,
|
|
191
168
|
enableDocumentModelSubgraphs: options.enableDocumentModelSubgraphs,
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
169
|
+
}, "switchboard");
|
|
170
|
+
if (process.env.SENTRY_DSN) {
|
|
171
|
+
// Register Sentry error handler after all routes are established.
|
|
172
|
+
// The adapter calls the framework-specific Sentry setup internally.
|
|
173
|
+
api.httpAdapter.setupSentryErrorHandler(Sentry);
|
|
174
|
+
}
|
|
175
|
+
const { client, graphqlManager, documentModelRegistry } = api;
|
|
176
|
+
// Wire up dynamic package management if HTTP loader is configured
|
|
177
|
+
if (httpLoader) {
|
|
178
|
+
const packageManagementService = new PackageManagementService({
|
|
179
|
+
defaultRegistryUrl: registryUrl,
|
|
180
|
+
httpLoader,
|
|
181
|
+
documentModelRegistry,
|
|
182
|
+
});
|
|
183
|
+
packageManagementService.setOnModelsChanged(() => {
|
|
184
|
+
graphqlManager.regenerateDocumentModelSubgraphs().catch(logger.error);
|
|
185
|
+
});
|
|
186
|
+
const packagesSubgraph = new PackagesSubgraph({
|
|
187
|
+
relationalDb: undefined,
|
|
188
|
+
analyticsStore: undefined,
|
|
189
|
+
reactorClient: client,
|
|
190
|
+
graphqlManager,
|
|
191
|
+
syncManager: api.syncManager,
|
|
192
|
+
path: graphqlManager.getBasePath(),
|
|
193
|
+
packageManagementService,
|
|
194
|
+
});
|
|
195
|
+
void graphqlManager
|
|
196
|
+
.registerSubgraphInstance(packagesSubgraph, "graphql", false)
|
|
197
|
+
.then(() => graphqlManager.updateRouter())
|
|
198
|
+
.catch((error) => {
|
|
199
|
+
logger.error("Failed to register packages subgraph: @error", error);
|
|
200
|
+
});
|
|
201
|
+
}
|
|
195
202
|
// Create default drive if provided
|
|
196
203
|
if (options.drive) {
|
|
197
|
-
if (!
|
|
198
|
-
throw new Error("Cannot create default drive without
|
|
204
|
+
if (!renown) {
|
|
205
|
+
throw new Error("Cannot create default drive without Renown identity");
|
|
199
206
|
}
|
|
200
|
-
defaultDriveUrl = await addDefaultDrive(
|
|
207
|
+
defaultDriveUrl = await addDefaultDrive(client, options.drive, serverPort);
|
|
201
208
|
}
|
|
202
209
|
// add vite middleware after express app is initialized if applicable
|
|
203
210
|
if (vite) {
|
|
204
|
-
api.
|
|
211
|
+
api.httpAdapter.mountRawMiddleware(vite.middlewares);
|
|
205
212
|
}
|
|
206
213
|
// Connect to remote drives AFTER packages are loaded
|
|
207
214
|
if (remoteDrives.length > 0) {
|
|
208
215
|
for (const remoteDriveUrl of remoteDrives) {
|
|
209
216
|
let driveId;
|
|
210
217
|
try {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
driveId = parsed.driveId;
|
|
221
|
-
const remoteName = `remote-drive-${driveId}-${crypto.randomUUID()}`;
|
|
222
|
-
await syncManager.add(remoteName, driveCollectionId("main", driveId), {
|
|
223
|
-
type: "gql",
|
|
224
|
-
parameters: { url: parsed.graphqlEndpoint },
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
|
-
logger.debug(`Remote drive ${remoteDriveUrl} synced`);
|
|
218
|
+
const { syncManager } = api;
|
|
219
|
+
const parsed = parseDriveUrl(remoteDriveUrl);
|
|
220
|
+
driveId = parsed.driveId;
|
|
221
|
+
const remoteName = `remote-drive-${driveId}-${crypto.randomUUID()}`;
|
|
222
|
+
await syncManager.add(remoteName, driveCollectionId("main", driveId), {
|
|
223
|
+
type: "gql",
|
|
224
|
+
parameters: { url: parsed.graphqlEndpoint },
|
|
225
|
+
});
|
|
226
|
+
logger.debug("Remote drive @remoteDriveUrl synced", remoteDriveUrl);
|
|
228
227
|
}
|
|
229
228
|
catch (error) {
|
|
230
|
-
if (error instanceof
|
|
231
|
-
|
|
229
|
+
if (error instanceof Error &&
|
|
230
|
+
error.message.includes("already exists")) {
|
|
231
|
+
logger.debug("Remote drive already added: @remoteDriveUrl", remoteDriveUrl);
|
|
232
232
|
driveId = remoteDriveUrl.split("/").pop();
|
|
233
233
|
}
|
|
234
234
|
else {
|
|
235
|
-
logger.error(
|
|
235
|
+
logger.error("Failed to connect to remote drive @remoteDriveUrl: @error", remoteDriveUrl, error);
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
finally {
|
|
@@ -247,8 +247,8 @@ async function initServer(serverPort, options, connectCrypto) {
|
|
|
247
247
|
return {
|
|
248
248
|
defaultDriveUrl,
|
|
249
249
|
api,
|
|
250
|
-
reactor:
|
|
251
|
-
|
|
250
|
+
reactor: client,
|
|
251
|
+
renown,
|
|
252
252
|
};
|
|
253
253
|
}
|
|
254
254
|
export const startSwitchboard = async (options = {}) => {
|
|
@@ -258,47 +258,36 @@ export const startSwitchboard = async (options = {}) => {
|
|
|
258
258
|
const enableDocumentModelSubgraphs = await featureFlags.getBooleanValue(DOCUMENT_MODEL_SUBGRAPHS_ENABLED, options.enableDocumentModelSubgraphs ??
|
|
259
259
|
DOCUMENT_MODEL_SUBGRAPHS_ENABLED_DEFAULT);
|
|
260
260
|
options.enableDocumentModelSubgraphs = enableDocumentModelSubgraphs;
|
|
261
|
-
const
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
options.
|
|
265
|
-
|
|
266
|
-
storageV2,
|
|
267
|
-
};
|
|
268
|
-
logger.info("Feature flags:", {
|
|
261
|
+
const requireSignatures = options.identity?.requireSignatures ??
|
|
262
|
+
(await featureFlags.getBooleanValue(REQUIRE_SIGNATURES, REQUIRE_SIGNATURES_DEFAULT));
|
|
263
|
+
options.identity = { ...options.identity, requireSignatures };
|
|
264
|
+
const logger = options.logger ?? defaultLogger;
|
|
265
|
+
logger.info("Feature flags: @flags", JSON.stringify({
|
|
269
266
|
DOCUMENT_MODEL_SUBGRAPHS_ENABLED: enableDocumentModelSubgraphs,
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
try {
|
|
275
|
-
await initProfilerFromEnv(process.env);
|
|
276
|
-
}
|
|
277
|
-
catch (e) {
|
|
278
|
-
Sentry.captureException(e);
|
|
279
|
-
logger.error("Error starting profiler", e);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
// Initialize ConnectCrypto if identity options are provided or keypair exists
|
|
283
|
-
let connectCrypto = null;
|
|
267
|
+
REQUIRE_SIGNATURES: requireSignatures,
|
|
268
|
+
}, null, 2));
|
|
269
|
+
// Initialize Renown if identity options are provided or keypair exists
|
|
270
|
+
let renown = null;
|
|
284
271
|
try {
|
|
285
|
-
|
|
272
|
+
renown = await initRenown(options.identity);
|
|
286
273
|
}
|
|
287
274
|
catch (e) {
|
|
288
|
-
logger.warn("Failed to initialize ConnectCrypto:", e);
|
|
275
|
+
logger.warn("Failed to initialize ConnectCrypto: @error", e);
|
|
289
276
|
if (options.identity?.requireExisting) {
|
|
290
277
|
throw new Error('Identity required but failed to initialize. Run "ph login" first.');
|
|
291
278
|
}
|
|
292
279
|
}
|
|
293
280
|
try {
|
|
294
|
-
return await initServer(serverPort, options,
|
|
281
|
+
return await initServer(serverPort, options, renown);
|
|
295
282
|
}
|
|
296
283
|
catch (e) {
|
|
297
284
|
Sentry.captureException(e);
|
|
298
|
-
logger.error("App crashed", e);
|
|
285
|
+
logger.error("App crashed: @error", e);
|
|
299
286
|
throw e;
|
|
300
287
|
}
|
|
301
288
|
};
|
|
302
|
-
export { getBearerToken, getConnectCrypto, getConnectDid, } from "./connect-crypto.js";
|
|
303
289
|
export * from "./types.js";
|
|
290
|
+
if (import.meta.main) {
|
|
291
|
+
await startSwitchboard();
|
|
292
|
+
}
|
|
304
293
|
//# sourceMappingURL=server.js.map
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { MeterProvider } from "@opentelemetry/api";
|
|
2
|
+
import type { IReactorClient } from "@powerhousedao/reactor";
|
|
3
|
+
import type { IRenown } from "@renown/sdk";
|
|
4
|
+
import type { DriveInput } from "@powerhousedao/shared/document-drive";
|
|
5
|
+
import type { ILogger } from "document-model";
|
|
3
6
|
export type StorageOptions = {
|
|
4
7
|
type: "filesystem" | "memory" | "postgres" | "browser";
|
|
5
8
|
filesystemPath?: string;
|
|
@@ -13,6 +16,10 @@ export type IdentityOptions = {
|
|
|
13
16
|
* Use this to ensure the switchboard only runs with an authenticated identity.
|
|
14
17
|
*/
|
|
15
18
|
requireExisting?: boolean;
|
|
19
|
+
/** Base url of the Renown instance to use */
|
|
20
|
+
baseUrl?: string;
|
|
21
|
+
/** If true, unsigned actions will be rejected */
|
|
22
|
+
requireSignatures?: boolean;
|
|
16
23
|
};
|
|
17
24
|
export type StartServerOptions = {
|
|
18
25
|
configFile?: string;
|
|
@@ -33,7 +40,7 @@ export type StartServerOptions = {
|
|
|
33
40
|
admins: string[];
|
|
34
41
|
};
|
|
35
42
|
/**
|
|
36
|
-
* Identity options for
|
|
43
|
+
* Identity options for Renown.
|
|
37
44
|
* When configured, the switchboard will load the keypair from `ph login`
|
|
38
45
|
* and can authenticate with remote services on behalf of the user.
|
|
39
46
|
*/
|
|
@@ -41,24 +48,26 @@ export type StartServerOptions = {
|
|
|
41
48
|
mcp?: boolean;
|
|
42
49
|
processorConfig?: Map<string, unknown>;
|
|
43
50
|
disableLocalPackages?: boolean;
|
|
44
|
-
reactorOptions?: {
|
|
45
|
-
/**
|
|
46
|
-
* When true, both legacy and new reactors will use CREATE/UPDATE operation
|
|
47
|
-
* flow for new documents.
|
|
48
|
-
*/
|
|
49
|
-
enableDualActionCreate?: boolean;
|
|
50
|
-
/**
|
|
51
|
-
* When true, the new Reactor uses only the new Kysely-based storage
|
|
52
|
-
* instead of the legacy document-drive storage.
|
|
53
|
-
*/
|
|
54
|
-
storageV2?: boolean;
|
|
55
|
-
};
|
|
56
51
|
enableDocumentModelSubgraphs?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* When true, enables dynamic loading of document models from the registry
|
|
54
|
+
* when an unknown document type is encountered during sync.
|
|
55
|
+
* Disabled by default — enable with DYNAMIC_MODEL_LOADING=true env var.
|
|
56
|
+
*/
|
|
57
|
+
dynamicModelLoading?: boolean;
|
|
58
|
+
logger?: ILogger;
|
|
59
|
+
/**
|
|
60
|
+
* OpenTelemetry MeterProvider to register as the global provider before
|
|
61
|
+
* ReactorInstrumentation starts. Must be provided here rather than set
|
|
62
|
+
* externally to guarantee the registration happens before
|
|
63
|
+
* instrumentation.start() reads the global provider via metrics.getMeter().
|
|
64
|
+
*/
|
|
65
|
+
meterProvider?: MeterProvider;
|
|
57
66
|
};
|
|
58
67
|
export type SwitchboardReactor = {
|
|
59
68
|
defaultDriveUrl: string | undefined;
|
|
60
|
-
reactor:
|
|
61
|
-
/** The
|
|
62
|
-
|
|
69
|
+
reactor: IReactorClient;
|
|
70
|
+
/** The Renown instance if identity was initialized */
|
|
71
|
+
renown: IRenown | null;
|
|
63
72
|
};
|
|
64
73
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;IACd,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,EAAE,cAAc,CAAC;IACxB,sDAAsD;IACtD,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB,CAAC"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { IReactorClient } from "@powerhousedao/reactor";
|
|
2
|
-
import type {
|
|
3
|
-
export declare function addDefaultDrive(
|
|
2
|
+
import type { DriveInput } from "@powerhousedao/shared/document-drive";
|
|
3
|
+
export declare function addDefaultDrive(client: IReactorClient, drive: DriveInput, serverPort: number): Promise<string>;
|
|
4
4
|
export declare function isPostgresUrl(url: string): boolean;
|
|
5
|
-
export declare function addRemoteDrive(driveServer: IDocumentDriveServer, remoteDriveUrl: string): Promise<DocumentDriveDocument>;
|
|
6
5
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGvE,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,mBA8DnB;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,WAExC"}
|
package/dist/src/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { driveCreateDocument, driveCreateState } from "document-drive";
|
|
2
|
-
import { generateId } from "document-model
|
|
3
|
-
export async function addDefaultDrive(
|
|
1
|
+
import { driveCreateDocument, driveCreateState, } from "@powerhousedao/shared/document-drive";
|
|
2
|
+
import { generateId } from "@powerhousedao/shared/document-model";
|
|
3
|
+
export async function addDefaultDrive(client, drive, serverPort) {
|
|
4
4
|
let driveId = drive.id;
|
|
5
5
|
if (!driveId || driveId.length === 0) {
|
|
6
6
|
driveId = drive.slug;
|
|
@@ -55,38 +55,9 @@ export async function addDefaultDrive(driveServer, client, drive, serverPort) {
|
|
|
55
55
|
throw e;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
-
// YIKES: this is a backward compatibility hack to emit a drive added event
|
|
59
|
-
// This should be removed once we are not supporting legacy write operations.
|
|
60
|
-
driveServer.eventEmitter.emit("driveAdded", document);
|
|
61
58
|
return `http://localhost:${serverPort}/d/${driveId}`;
|
|
62
59
|
}
|
|
63
60
|
export function isPostgresUrl(url) {
|
|
64
61
|
return url.startsWith("postgresql") || url.startsWith("postgres");
|
|
65
62
|
}
|
|
66
|
-
export async function addRemoteDrive(driveServer, remoteDriveUrl) {
|
|
67
|
-
return await driveServer.addRemoteDrive(remoteDriveUrl, {
|
|
68
|
-
availableOffline: true,
|
|
69
|
-
sharingType: "public",
|
|
70
|
-
listeners: [
|
|
71
|
-
{
|
|
72
|
-
block: true,
|
|
73
|
-
callInfo: {
|
|
74
|
-
data: remoteDriveUrl,
|
|
75
|
-
name: "switchboard-push",
|
|
76
|
-
transmitterType: "SwitchboardPush",
|
|
77
|
-
},
|
|
78
|
-
filter: {
|
|
79
|
-
branch: ["main"],
|
|
80
|
-
documentId: ["*"],
|
|
81
|
-
documentType: ["*"],
|
|
82
|
-
scope: ["global"],
|
|
83
|
-
},
|
|
84
|
-
label: "Switchboard Sync",
|
|
85
|
-
listenerId: generateId(),
|
|
86
|
-
system: true,
|
|
87
|
-
},
|
|
88
|
-
],
|
|
89
|
-
triggers: [],
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
63
|
//# sourceMappingURL=utils.js.map
|