@powerhousedao/switchboard 4.1.0-dev.100 → 4.1.0-dev.102
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/CHANGELOG.md +36 -0
- package/Dockerfile +5 -7
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +44 -27
- package/dist/src/server.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
## 4.1.0-dev.102 (2025-11-06)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- switching to tinybench for benchmarks ([5b915e025](https://github.com/powerhouse-inc/powerhouse/commit/5b915e025))
|
|
6
|
+
|
|
7
|
+
### 🩹 Fixes
|
|
8
|
+
|
|
9
|
+
- **switchboard:** removed duplicated document models in client initializer ([30b9dbeb3](https://github.com/powerhouse-inc/powerhouse/commit/30b9dbeb3))
|
|
10
|
+
- try again with a pnpm upgrade ([ec081f743](https://github.com/powerhouse-inc/powerhouse/commit/ec081f743))
|
|
11
|
+
- trying a completely fresh lockfile ([c9888939a](https://github.com/powerhouse-inc/powerhouse/commit/c9888939a))
|
|
12
|
+
- broke the build, fixing with reactorbuilder ([2c4ade4e6](https://github.com/powerhouse-inc/powerhouse/commit/2c4ade4e6))
|
|
13
|
+
- update atlas packages ([fa174d00e](https://github.com/powerhouse-inc/powerhouse/commit/fa174d00e))
|
|
14
|
+
|
|
15
|
+
### ❤️ Thank You
|
|
16
|
+
|
|
17
|
+
- Benjamin Jordan (@thegoldenmule)
|
|
18
|
+
- Guillermo Puente @gpuente
|
|
19
|
+
|
|
20
|
+
## 4.1.0-dev.101 (2025-11-05)
|
|
21
|
+
|
|
22
|
+
### 🚀 Features
|
|
23
|
+
|
|
24
|
+
- **codegen, vetra:** update codegen templates ([#2056](https://github.com/powerhouse-inc/powerhouse/pull/2056))
|
|
25
|
+
- pre-load local packages when building driveServer ([#2064](https://github.com/powerhouse-inc/powerhouse/pull/2064))
|
|
26
|
+
|
|
27
|
+
### 🩹 Fixes
|
|
28
|
+
|
|
29
|
+
- **switchboard:** use POSIX-compliant syntax ([ee0f56d1b](https://github.com/powerhouse-inc/powerhouse/commit/ee0f56d1b))
|
|
30
|
+
|
|
31
|
+
### ❤️ Thank You
|
|
32
|
+
|
|
33
|
+
- Frank
|
|
34
|
+
- Guillermo Puente Sandoval @gpuente
|
|
35
|
+
- Ryan Wolhuter @ryanwolhuter
|
|
36
|
+
|
|
1
37
|
## 4.1.0-dev.100 (2025-11-04)
|
|
2
38
|
|
|
3
39
|
### 🚀 Features
|
package/Dockerfile
CHANGED
|
@@ -37,13 +37,11 @@ ARG TAG=latest
|
|
|
37
37
|
ENV TAG=$TAG
|
|
38
38
|
# RUN apk add --no-cache openssl
|
|
39
39
|
RUN pnpm add -g ph-cmd@$TAG prisma
|
|
40
|
-
RUN
|
|
41
|
-
ph init project --dev --package-manager pnpm
|
|
42
|
-
|
|
43
|
-
ph init project --
|
|
44
|
-
|
|
45
|
-
ph init project --package-manager pnpm; \
|
|
46
|
-
fi
|
|
40
|
+
RUN case "$TAG" in \
|
|
41
|
+
*dev*) ph init project --dev --package-manager pnpm ;; \
|
|
42
|
+
*staging*) ph init project --staging --package-manager pnpm ;; \
|
|
43
|
+
*) ph init project --package-manager pnpm ;; \
|
|
44
|
+
esac
|
|
47
45
|
|
|
48
46
|
|
|
49
47
|
WORKDIR /app/project
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";AAiCA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAmOzE,eAAO,MAAM,gBAAgB,GAC3B,UAAS,kBAAuB,KAC/B,OAAO,CAAC,kBAAkB,CAgC5B,CAAC;AAEF,cAAc,YAAY,CAAC"}
|
package/dist/src/server.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import { VitePackageLoader,
|
|
2
|
+
import { ReactorBuilder, ReactorClientBuilder } from "@powerhousedao/reactor";
|
|
3
|
+
import { VitePackageLoader, getUniqueDocumentModels, initializeAndStartAPI, startViteServer, } from "@powerhousedao/reactor-api";
|
|
4
4
|
import * as Sentry from "@sentry/node";
|
|
5
|
-
import { DocumentAlreadyExistsError, InMemoryCache, ReactorBuilder, RedisCache, childLogger, driveDocumentModelModule, } from "document-drive";
|
|
5
|
+
import { DocumentAlreadyExistsError, InMemoryCache, ReactorBuilder as LegacyReactorBuilder, RedisCache, childLogger, driveDocumentModelModule, } from "document-drive";
|
|
6
6
|
import { FilesystemStorage } from "document-drive/storage/filesystem";
|
|
7
7
|
import { PrismaStorageFactory } from "document-drive/storage/prisma";
|
|
8
8
|
import { documentModelDocumentModelModule } from "document-model";
|
|
@@ -87,29 +87,40 @@ async function initServer(serverPort, options) {
|
|
|
87
87
|
const readModelPath = !dbPath || (isPostgresUrl(dbPath) && dbPath !== storagePath)
|
|
88
88
|
? ".ph/read-storage"
|
|
89
89
|
: dbPath;
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
90
|
+
const initializeDriveServer = async (documentModels) => {
|
|
91
|
+
const driveServer = new LegacyReactorBuilder(getUniqueDocumentModels([
|
|
92
|
+
documentModelDocumentModelModule,
|
|
93
|
+
driveDocumentModelModule,
|
|
94
|
+
...documentModels,
|
|
95
|
+
]))
|
|
96
|
+
.withStorage(storage)
|
|
97
|
+
.withCache(cache)
|
|
98
|
+
.withOptions({
|
|
99
|
+
featureFlags: {
|
|
100
|
+
enableDualActionCreate: options.reactorOptions?.enableDualActionCreate ?? false,
|
|
101
|
+
},
|
|
102
|
+
})
|
|
103
|
+
.build();
|
|
104
|
+
// init drive server
|
|
105
|
+
await driveServer.initialize();
|
|
106
|
+
return driveServer;
|
|
107
|
+
};
|
|
108
|
+
const initializeClient = async (driveServer, documentModels) => {
|
|
109
|
+
const builder = new ReactorBuilder()
|
|
110
|
+
.withDocumentModels(getUniqueDocumentModels([
|
|
111
|
+
documentModelDocumentModelModule,
|
|
112
|
+
driveDocumentModelModule,
|
|
113
|
+
...documentModels,
|
|
114
|
+
]))
|
|
115
|
+
.withLegacyStorage(storage)
|
|
116
|
+
.withFeatures({
|
|
117
|
+
legacyStorageEnabled: true,
|
|
118
|
+
});
|
|
119
|
+
const reactor = await builder.build();
|
|
120
|
+
const client = new ReactorClientBuilder().withReactor(reactor).build();
|
|
121
|
+
return client;
|
|
122
|
+
};
|
|
108
123
|
let defaultDriveUrl = undefined;
|
|
109
|
-
// Create default drive if provided
|
|
110
|
-
if (options.drive) {
|
|
111
|
-
defaultDriveUrl = await addDefaultDrive(driveServer, options.drive, serverPort);
|
|
112
|
-
}
|
|
113
124
|
// start vite server if dev mode is enabled
|
|
114
125
|
const vite = dev ? await startViteServer() : undefined;
|
|
115
126
|
// get paths to local document models
|
|
@@ -121,7 +132,7 @@ async function initServer(serverPort, options) {
|
|
|
121
132
|
// create loader
|
|
122
133
|
const packageLoader = vite ? await VitePackageLoader.build(vite) : undefined;
|
|
123
134
|
// Start the API with the reactor and options
|
|
124
|
-
const api = await
|
|
135
|
+
const api = await initializeAndStartAPI(initializeDriveServer, initializeClient, {
|
|
125
136
|
express: app,
|
|
126
137
|
port: serverPort,
|
|
127
138
|
dbPath: readModelPath,
|
|
@@ -129,10 +140,16 @@ async function initServer(serverPort, options) {
|
|
|
129
140
|
packageLoader,
|
|
130
141
|
packages: packages,
|
|
131
142
|
processorConfig: options.processorConfig,
|
|
132
|
-
configFile: options.configFile ??
|
|
143
|
+
configFile: options.configFile ??
|
|
144
|
+
path.join(process.cwd(), "powerhouse.config.json"),
|
|
133
145
|
mcp: options.mcp ?? true,
|
|
134
146
|
subgraphs: options.subgraphs,
|
|
135
147
|
});
|
|
148
|
+
const { driveServer } = api;
|
|
149
|
+
// Create default drive if provided
|
|
150
|
+
if (options.drive) {
|
|
151
|
+
defaultDriveUrl = await addDefaultDrive(driveServer, options.drive, serverPort);
|
|
152
|
+
}
|
|
136
153
|
// add vite middleware after express app is initialized if applicable
|
|
137
154
|
if (vite) {
|
|
138
155
|
api.app.use(vite.middlewares);
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|