@powerhousedao/reactor-local 5.1.0 → 5.2.0-staging.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,2 @@
1
1
  export declare function initFeatureFlags(): Promise<import("@openfeature/server-sdk").Client>;
2
- export declare function isReactorv2Enabled(): Promise<boolean>;
3
- export declare function isDualActionCreateEnabled(): Promise<boolean>;
4
2
  //# sourceMappingURL=feature-flags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../src/feature-flags.ts"],"names":[],"mappings":"AAGA,wBAAsB,gBAAgB,sDAOrC;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG3D;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAMlE"}
1
+ {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../src/feature-flags.ts"],"names":[],"mappings":"AAGA,wBAAsB,gBAAgB,sDAOrC"}
@@ -6,12 +6,4 @@ export async function initFeatureFlags() {
6
6
  await OpenFeature.setProviderAndWait(provider);
7
7
  return OpenFeature.getClient();
8
8
  }
9
- export async function isReactorv2Enabled() {
10
- const client = OpenFeature.getClient();
11
- return await client.getBooleanValue("FEATURE_REACTORV2_ENABLED", false);
12
- }
13
- export async function isDualActionCreateEnabled() {
14
- const client = OpenFeature.getClient();
15
- return await client.getBooleanValue("FEATURE_DUAL_ACTION_CREATE_ENABLED", false);
16
- }
17
9
  //# sourceMappingURL=feature-flags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../../src/feature-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,uDAAuD;IACvD,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IAEtC,MAAM,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE/C,OAAO,WAAW,CAAC,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;IACvC,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;IACvC,OAAO,MAAM,MAAM,CAAC,eAAe,CACjC,oCAAoC,EACpC,KAAK,CACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../../src/feature-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,uDAAuD;IACvD,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IAEtC,MAAM,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE/C,OAAO,WAAW,CAAC,SAAS,EAAE,CAAC;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EACV,YAAY,EAEZ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAgDpB,QAAA,MAAM,WAAW,GACf,UAAU,kBAAkB,KAC3B,OAAO,CAAC,YAAY,CAqItB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,YAAY,EAEZ,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAgDpB,QAAA,MAAM,WAAW,GACf,UAAU,kBAAkB,KAC3B,OAAO,CAAC,YAAY,CA4ItB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -4,7 +4,6 @@ import { VitePackageLoader, startAPI, startViteServer, } from "@powerhousedao/re
4
4
  import { InMemoryCache, ReactorBuilder as LegacyReactorBuilder, logger, } from "document-drive";
5
5
  import dotenv from "dotenv";
6
6
  import path from "node:path";
7
- import { isDualActionCreateEnabled, isReactorv2Enabled, } from "./feature-flags.js";
8
7
  import { DefaultStartServerOptions } from "./types.js";
9
8
  import { addDefaultDrive, createStorage } from "./util.js";
10
9
  dotenv.config();
@@ -65,8 +64,6 @@ const startServer = async (options) => {
65
64
  if (dev) {
66
65
  packages.push(basePath);
67
66
  }
68
- const dualActionCreateEnabled = await isDualActionCreateEnabled();
69
- const reactorV2Enabled = await isReactorv2Enabled();
70
67
  // create document drive server with all available document models & storage
71
68
  const cache = new InMemoryCache();
72
69
  const storageImpl = createStorage(storage, cache);
@@ -75,7 +72,7 @@ const startServer = async (options) => {
75
72
  .withStorage(storageImpl)
76
73
  .withOptions({
77
74
  featureFlags: {
78
- enableDualActionCreate: dualActionCreateEnabled,
75
+ enableDualActionCreate: true,
79
76
  },
80
77
  });
81
78
  const driveServer = reactorBuilder.build();
@@ -86,9 +83,18 @@ const startServer = async (options) => {
86
83
  .withFeatures({
87
84
  legacyStorageEnabled: true,
88
85
  });
89
- const client = await new ReactorClientBuilder()
86
+ const clientModule = await new ReactorClientBuilder()
90
87
  .withReactorBuilder(builder)
91
- .build();
88
+ .buildModule();
89
+ const client = clientModule.client;
90
+ const syncManager = clientModule.reactorModule?.syncModule?.syncManager;
91
+ if (!syncManager) {
92
+ throw new Error("SyncManager not available from ReactorClientBuilder");
93
+ }
94
+ const registry = clientModule.reactorModule?.documentModelRegistry;
95
+ if (!registry) {
96
+ throw new Error("DocumentModelRegistry not available from ReactorClientBuilder");
97
+ }
92
98
  // init drive server + conditionally add a default drive
93
99
  await driveServer.initialize();
94
100
  const driveUrl = options?.disableDefaultDrive
@@ -97,7 +103,7 @@ const startServer = async (options) => {
97
103
  // create loader
98
104
  const packageLoader = vite ? VitePackageLoader.build(vite) : undefined;
99
105
  // start api
100
- const api = await startAPI(driveServer, client, {
106
+ const api = await startAPI(driveServer, client, registry, syncManager, {
101
107
  port: serverPort,
102
108
  dbPath,
103
109
  https: options?.https,
@@ -105,9 +111,6 @@ const startServer = async (options) => {
105
111
  configFile,
106
112
  packages,
107
113
  mcp,
108
- subgraphs: {
109
- isReactorv2Enabled: reactorV2Enabled,
110
- },
111
114
  // processors: {
112
115
  // "ph/common/drive-analytics": [DriveAnalyticsProcessorFactory],
113
116
  // },
@@ -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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"}