@powerhousedao/switchboard 6.0.0-dev.12 → 6.0.0-dev.120
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 +1007 -5
- package/Dockerfile +2 -2
- 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 +146 -145
- 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 +34 -25
- package/test/metrics.test.ts +202 -0
- package/tsconfig.json +17 -4
- package/vitest.config.ts +11 -0
- 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/dist/src/server.js
CHANGED
|
@@ -1,87 +1,52 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { 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, VitePackageLoader, createViteLogger, getUniqueDocumentModels, initializeAndStartAPI, startViteServer, } from "@powerhousedao/reactor-api";
|
|
12
|
+
import { driveDocumentModelModule } from "@powerhousedao/shared/document-drive";
|
|
13
|
+
import { documentModels as vetraDocumentModels } from "@powerhousedao/vetra";
|
|
14
|
+
import { processorFactory as vetraProcessorFactory } from "@powerhousedao/vetra/processors";
|
|
6
15
|
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";
|
|
16
|
+
import { childLogger, documentModelDocumentModelModule } from "document-model";
|
|
12
17
|
import dotenv from "dotenv";
|
|
13
|
-
import express from "express";
|
|
14
18
|
import { Kysely, PostgresDialect } from "kysely";
|
|
15
19
|
import { PGliteDialect } from "kysely-pglite-dialect";
|
|
16
20
|
import path from "path";
|
|
17
21
|
import { Pool } from "pg";
|
|
18
22
|
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;
|
|
60
|
-
}
|
|
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");
|
|
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);
|
|
75
48
|
}
|
|
76
|
-
|
|
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
51
|
// start redis if configured
|
|
87
52
|
const redisUrl = process.env.REDIS_TLS_URL ?? process.env.REDIS_URL;
|
|
@@ -91,48 +56,46 @@ async function initServer(serverPort, options, connectCrypto) {
|
|
|
91
56
|
redis = await initRedis(redisUrl);
|
|
92
57
|
}
|
|
93
58
|
catch (e) {
|
|
94
|
-
logger.error(e);
|
|
59
|
+
logger.error("@error", e);
|
|
95
60
|
}
|
|
96
61
|
}
|
|
97
|
-
|
|
98
|
-
const
|
|
99
|
-
//
|
|
100
|
-
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
const
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
})
|
|
117
|
-
.build();
|
|
118
|
-
// init drive server
|
|
119
|
-
await driveServer.initialize();
|
|
120
|
-
return driveServer;
|
|
121
|
-
};
|
|
122
|
-
const initializeClient = async (driveServer, documentModels) => {
|
|
62
|
+
// use postgres url for read model storage if available, otherwise use local PGlite path
|
|
63
|
+
const readModelPath = dbPath || ".ph/read-storage";
|
|
64
|
+
// HTTP registry package loading
|
|
65
|
+
let httpDocumentModels = [];
|
|
66
|
+
const configPath = options.configFile ?? path.join(process.cwd(), "powerhouse.config.json");
|
|
67
|
+
const config = getConfig(configPath);
|
|
68
|
+
const registryUrl = process.env.PH_REGISTRY_URL ?? config.packageRegistryUrl;
|
|
69
|
+
const registryPackages = process.env.PH_REGISTRY_PACKAGES;
|
|
70
|
+
let httpLoader;
|
|
71
|
+
if (registryUrl) {
|
|
72
|
+
httpLoader = new HttpPackageLoader({ registryUrl });
|
|
73
|
+
}
|
|
74
|
+
if (httpLoader && registryPackages) {
|
|
75
|
+
const packageNames = registryPackages.split(",").map((p) => p.trim());
|
|
76
|
+
httpDocumentModels = await httpLoader.loadPackages(packageNames, logger);
|
|
77
|
+
logger.info(`Loaded ${httpDocumentModels.length} HTTP document models from ${packageNames.length} packages`);
|
|
78
|
+
}
|
|
79
|
+
const reactorLogger = logger.child(["reactor"]);
|
|
80
|
+
const initializeClient = async (documentModels) => {
|
|
123
81
|
const eventBus = new EventBus();
|
|
124
82
|
const builder = new ReactorBuilder()
|
|
125
83
|
.withEventBus(eventBus)
|
|
126
84
|
.withDocumentModels(getUniqueDocumentModels([
|
|
127
85
|
documentModelDocumentModelModule,
|
|
128
86
|
driveDocumentModelModule,
|
|
87
|
+
...vetraDocumentModels,
|
|
129
88
|
...documentModels,
|
|
89
|
+
...httpDocumentModels,
|
|
130
90
|
]))
|
|
131
|
-
.
|
|
132
|
-
.
|
|
133
|
-
.
|
|
134
|
-
|
|
135
|
-
|
|
91
|
+
.withChannelScheme(ChannelScheme.SWITCHBOARD)
|
|
92
|
+
.withSignalHandlers()
|
|
93
|
+
.withLogger(reactorLogger);
|
|
94
|
+
const maxSkipThreshold = parseInt(process.env.MAX_SKIP_THRESHOLD ?? "", 10);
|
|
95
|
+
if (!isNaN(maxSkipThreshold) && maxSkipThreshold > 0) {
|
|
96
|
+
builder.withExecutorConfig({ maxSkipThreshold });
|
|
97
|
+
logger.info(`Reactor maxSkipThreshold set to ${maxSkipThreshold}`);
|
|
98
|
+
}
|
|
136
99
|
const reactorDbUrl = process.env.PH_REACTOR_DATABASE_URL;
|
|
137
100
|
if (reactorDbUrl && isPostgresUrl(reactorDbUrl)) {
|
|
138
101
|
const connectionString = reactorDbUrl.includes("?")
|
|
@@ -154,70 +117,119 @@ async function initServer(serverPort, options, connectCrypto) {
|
|
|
154
117
|
builder.withKysely(kysely);
|
|
155
118
|
logger.info("Using PGlite for reactor storage");
|
|
156
119
|
}
|
|
120
|
+
if (httpLoader && options.dynamicModelLoading) {
|
|
121
|
+
builder.withDocumentModelLoader(httpLoader);
|
|
122
|
+
}
|
|
157
123
|
const clientBuilder = new ReactorClientBuilder().withReactorBuilder(builder);
|
|
158
|
-
if (
|
|
159
|
-
|
|
124
|
+
if (renown) {
|
|
125
|
+
const signerConfig = getRenownSignerConfig(renown, options.identity?.requireSignatures);
|
|
126
|
+
clientBuilder.withSigner(signerConfig);
|
|
160
127
|
}
|
|
161
128
|
const module = await clientBuilder.buildModule();
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
129
|
+
if (module.reactorModule) {
|
|
130
|
+
const instrumentation = new ReactorInstrumentation(module.reactorModule);
|
|
131
|
+
instrumentation.start();
|
|
132
|
+
reactorLogger.info("Reactor metrics instrumentation started");
|
|
165
133
|
}
|
|
166
|
-
return
|
|
134
|
+
return module;
|
|
167
135
|
};
|
|
168
136
|
let defaultDriveUrl = undefined;
|
|
169
137
|
// TODO get path from powerhouse config
|
|
170
138
|
// start vite server if dev mode is enabled
|
|
171
139
|
const basePath = process.cwd();
|
|
172
|
-
const
|
|
140
|
+
const viteLogger = createViteLogger(logger);
|
|
141
|
+
const vite = dev
|
|
142
|
+
? await startViteServer(process.cwd(), viteLogger)
|
|
143
|
+
: undefined;
|
|
173
144
|
// get paths to local document models
|
|
174
145
|
if (!options.disableLocalPackages) {
|
|
175
146
|
packages.push(basePath);
|
|
176
147
|
}
|
|
177
148
|
// create loader
|
|
178
149
|
const packageLoader = vite ? VitePackageLoader.build(vite) : undefined;
|
|
179
|
-
|
|
180
|
-
const api = await initializeAndStartAPI(
|
|
181
|
-
express: app,
|
|
150
|
+
const apiLogger = logger.child(["reactor-api"]);
|
|
151
|
+
const api = await initializeAndStartAPI(initializeClient, {
|
|
182
152
|
port: serverPort,
|
|
183
153
|
dbPath: readModelPath,
|
|
184
154
|
https: options.https,
|
|
185
155
|
packageLoader,
|
|
186
156
|
packages: packages,
|
|
187
157
|
processorConfig: options.processorConfig,
|
|
158
|
+
processors: {
|
|
159
|
+
"@powerhousedao/vetra": [vetraProcessorFactory],
|
|
160
|
+
},
|
|
188
161
|
configFile: options.configFile ??
|
|
189
162
|
path.join(process.cwd(), "powerhouse.config.json"),
|
|
190
163
|
mcp: options.mcp ?? true,
|
|
164
|
+
logger: apiLogger,
|
|
191
165
|
enableDocumentModelSubgraphs: options.enableDocumentModelSubgraphs,
|
|
192
|
-
});
|
|
193
|
-
|
|
166
|
+
}, "switchboard");
|
|
167
|
+
if (process.env.SENTRY_DSN) {
|
|
168
|
+
// Register Sentry error handler after all routes are established.
|
|
169
|
+
// The adapter calls the framework-specific Sentry setup internally.
|
|
170
|
+
api.httpAdapter.setupSentryErrorHandler(Sentry);
|
|
171
|
+
}
|
|
172
|
+
const { client, graphqlManager, documentModelRegistry } = api;
|
|
173
|
+
// Wire up dynamic package management if HTTP loader is configured
|
|
174
|
+
if (httpLoader) {
|
|
175
|
+
const packageManagementService = new PackageManagementService({
|
|
176
|
+
defaultRegistryUrl: registryUrl,
|
|
177
|
+
httpLoader,
|
|
178
|
+
documentModelRegistry,
|
|
179
|
+
});
|
|
180
|
+
packageManagementService.setOnModelsChanged(async () => {
|
|
181
|
+
await graphqlManager.regenerateDocumentModelSubgraphs();
|
|
182
|
+
});
|
|
183
|
+
const packagesSubgraph = new PackagesSubgraph({
|
|
184
|
+
relationalDb: undefined,
|
|
185
|
+
analyticsStore: undefined,
|
|
186
|
+
reactorClient: client,
|
|
187
|
+
graphqlManager,
|
|
188
|
+
syncManager: api.syncManager,
|
|
189
|
+
path: graphqlManager.getBasePath(),
|
|
190
|
+
packageManagementService,
|
|
191
|
+
});
|
|
192
|
+
void graphqlManager
|
|
193
|
+
.registerSubgraphInstance(packagesSubgraph, "graphql", false)
|
|
194
|
+
.then(() => graphqlManager.updateRouter())
|
|
195
|
+
.catch((error) => {
|
|
196
|
+
logger.error("Failed to register packages subgraph: @error", error);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
194
199
|
// Create default drive if provided
|
|
195
200
|
if (options.drive) {
|
|
196
|
-
if (!
|
|
197
|
-
throw new Error("Cannot create default drive without
|
|
201
|
+
if (!renown) {
|
|
202
|
+
throw new Error("Cannot create default drive without Renown identity");
|
|
198
203
|
}
|
|
199
|
-
defaultDriveUrl = await addDefaultDrive(
|
|
204
|
+
defaultDriveUrl = await addDefaultDrive(client, options.drive, serverPort);
|
|
200
205
|
}
|
|
201
206
|
// add vite middleware after express app is initialized if applicable
|
|
202
207
|
if (vite) {
|
|
203
|
-
api.
|
|
208
|
+
api.httpAdapter.mountRawMiddleware(vite.middlewares);
|
|
204
209
|
}
|
|
205
210
|
// Connect to remote drives AFTER packages are loaded
|
|
206
211
|
if (remoteDrives.length > 0) {
|
|
207
212
|
for (const remoteDriveUrl of remoteDrives) {
|
|
208
213
|
let driveId;
|
|
209
214
|
try {
|
|
210
|
-
const
|
|
211
|
-
|
|
212
|
-
|
|
215
|
+
const { syncManager } = api;
|
|
216
|
+
const parsed = parseDriveUrl(remoteDriveUrl);
|
|
217
|
+
driveId = parsed.driveId;
|
|
218
|
+
const remoteName = `remote-drive-${driveId}-${crypto.randomUUID()}`;
|
|
219
|
+
await syncManager.add(remoteName, driveCollectionId("main", driveId), {
|
|
220
|
+
type: "gql",
|
|
221
|
+
parameters: { url: parsed.graphqlEndpoint },
|
|
222
|
+
});
|
|
223
|
+
logger.debug("Remote drive @remoteDriveUrl synced", remoteDriveUrl);
|
|
213
224
|
}
|
|
214
225
|
catch (error) {
|
|
215
|
-
if (error instanceof
|
|
216
|
-
|
|
226
|
+
if (error instanceof Error &&
|
|
227
|
+
error.message.includes("already exists")) {
|
|
228
|
+
logger.debug("Remote drive already added: @remoteDriveUrl", remoteDriveUrl);
|
|
217
229
|
driveId = remoteDriveUrl.split("/").pop();
|
|
218
230
|
}
|
|
219
231
|
else {
|
|
220
|
-
logger.error(
|
|
232
|
+
logger.error("Failed to connect to remote drive @remoteDriveUrl: @error", remoteDriveUrl, error);
|
|
221
233
|
}
|
|
222
234
|
}
|
|
223
235
|
finally {
|
|
@@ -232,8 +244,8 @@ async function initServer(serverPort, options, connectCrypto) {
|
|
|
232
244
|
return {
|
|
233
245
|
defaultDriveUrl,
|
|
234
246
|
api,
|
|
235
|
-
reactor:
|
|
236
|
-
|
|
247
|
+
reactor: client,
|
|
248
|
+
renown,
|
|
237
249
|
};
|
|
238
250
|
}
|
|
239
251
|
export const startSwitchboard = async (options = {}) => {
|
|
@@ -243,47 +255,36 @@ export const startSwitchboard = async (options = {}) => {
|
|
|
243
255
|
const enableDocumentModelSubgraphs = await featureFlags.getBooleanValue(DOCUMENT_MODEL_SUBGRAPHS_ENABLED, options.enableDocumentModelSubgraphs ??
|
|
244
256
|
DOCUMENT_MODEL_SUBGRAPHS_ENABLED_DEFAULT);
|
|
245
257
|
options.enableDocumentModelSubgraphs = enableDocumentModelSubgraphs;
|
|
246
|
-
const
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
options.
|
|
250
|
-
|
|
251
|
-
storageV2,
|
|
252
|
-
};
|
|
253
|
-
logger.info("Feature flags:", {
|
|
258
|
+
const requireSignatures = options.identity?.requireSignatures ??
|
|
259
|
+
(await featureFlags.getBooleanValue(REQUIRE_SIGNATURES, REQUIRE_SIGNATURES_DEFAULT));
|
|
260
|
+
options.identity = { ...options.identity, requireSignatures };
|
|
261
|
+
const logger = options.logger ?? defaultLogger;
|
|
262
|
+
logger.info("Feature flags: @flags", JSON.stringify({
|
|
254
263
|
DOCUMENT_MODEL_SUBGRAPHS_ENABLED: enableDocumentModelSubgraphs,
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
try {
|
|
260
|
-
await initProfilerFromEnv(process.env);
|
|
261
|
-
}
|
|
262
|
-
catch (e) {
|
|
263
|
-
Sentry.captureException(e);
|
|
264
|
-
logger.error("Error starting profiler", e);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
// Initialize ConnectCrypto if identity options are provided or keypair exists
|
|
268
|
-
let connectCrypto = null;
|
|
264
|
+
REQUIRE_SIGNATURES: requireSignatures,
|
|
265
|
+
}, null, 2));
|
|
266
|
+
// Initialize Renown if identity options are provided or keypair exists
|
|
267
|
+
let renown = null;
|
|
269
268
|
try {
|
|
270
|
-
|
|
269
|
+
renown = await initRenown(options.identity);
|
|
271
270
|
}
|
|
272
271
|
catch (e) {
|
|
273
|
-
logger.warn("Failed to initialize ConnectCrypto:", e);
|
|
272
|
+
logger.warn("Failed to initialize ConnectCrypto: @error", e);
|
|
274
273
|
if (options.identity?.requireExisting) {
|
|
275
274
|
throw new Error('Identity required but failed to initialize. Run "ph login" first.');
|
|
276
275
|
}
|
|
277
276
|
}
|
|
278
277
|
try {
|
|
279
|
-
return await initServer(serverPort, options,
|
|
278
|
+
return await initServer(serverPort, options, renown);
|
|
280
279
|
}
|
|
281
280
|
catch (e) {
|
|
282
281
|
Sentry.captureException(e);
|
|
283
|
-
logger.error("App crashed", e);
|
|
282
|
+
logger.error("App crashed: @error", e);
|
|
284
283
|
throw e;
|
|
285
284
|
}
|
|
286
285
|
};
|
|
287
|
-
export { getBearerToken, getConnectCrypto, getConnectDid, } from "./connect-crypto.js";
|
|
288
286
|
export * from "./types.js";
|
|
287
|
+
if (import.meta.main) {
|
|
288
|
+
await startSwitchboard();
|
|
289
|
+
}
|
|
289
290
|
//# 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
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.test.d.ts","sourceRoot":"","sources":["../../test/metrics.test.ts"],"names":[],"mappings":""}
|