@memberjunction/server-bootstrap 6.1.0-edge.4 → 6.1.0-edge.6

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/dist/index.js CHANGED
@@ -14,146 +14,145 @@
14
14
  * See BaseServerMiddleware for details.
15
15
  */
16
16
  import { serve } from '@memberjunction/server';
17
+ import { MJ_SERVER_EXTENSIONS_EXPORT, describeServerExtensionMount, extractServerExtensionsFromPackageJson, normalizeServerExtensionConfigs, } from '@memberjunction/server-extensions-core';
18
+ import { FindWorkspacePackageDir, LoadDynamicPackages, resolvePackageJsonFromHost } from '@memberjunction/dynamic-packages';
19
+ import path from 'node:path';
17
20
  import { cosmiconfigSync } from 'cosmiconfig';
18
- import { importFromHost, isResolutionFailure } from './host-import.js';
21
+ import { readFileSync } from 'node:fs';
22
+ /** Process ID MJAPI identifies itself with to the dynamic-package loader (entry `Processes` filters match it). */
23
+ export const MJAPI_PROCESS_ID = 'mjapi';
19
24
  /**
20
- * Discovers and loads generated packages from the workspace based on configuration.
25
+ * Loads the host's generated packages (`codeGeneration.packages`) and the installed Open Apps'
26
+ * server packages (`dynamicPackages.server[]`, written by `mj app install`) through the shared,
27
+ * process-agnostic loader in @memberjunction/dynamic-packages — the same loader the `mj` CLI,
28
+ * the MCP/A2A servers and the test bootstraps use, so an app's entity subclasses register in
29
+ * every process, not only here. Generated packages load first, apps after, so an app's
30
+ * @RegisterClass wins via the ClassFactory's load-order priority.
21
31
  *
22
- * Generated packages (entities, actions, resolvers) register themselves via side effects when imported.
23
- * This function uses the mj.config.cjs to determine which packages to load.
32
+ * What stays MJAPI-specific is what happens AFTER a package is loaded:
24
33
  *
25
- * @param config - The loaded MemberJunction configuration
26
- */
27
- async function discoverAndLoadGeneratedPackages(configResult) {
28
- const codeGeneration = configResult.config?.codeGeneration;
29
- if (!codeGeneration?.packages) {
30
- // Common case for app deployments that import their generated package directly —
31
- // not actionable, so stay silent (was a verbose-only console.debug).
32
- return;
33
- }
34
- console.log('Loading generated packages...');
35
- const packages = codeGeneration.packages;
36
- // Attempt to import each configured generated package
37
- // These imports trigger class registration via @RegisterClass decorators
38
- const packageTypes = ['entities', 'actions', 'angularForms', 'graphqlResolvers'];
39
- for (const pkgType of packageTypes) {
40
- const pkgConfig = packages[pkgType];
41
- if (pkgConfig?.name) {
42
- const pkgName = pkgConfig.name;
43
- try {
44
- // Dynamic import to trigger side effects (class registration)
45
- await importFromHost(pkgName, configResult.configFilePath);
46
- console.log(` Loaded generated package: ${pkgName}`);
47
- }
48
- catch (error) {
49
- // Not finding a package is expected in some cases (e.g., no forms generated yet).
50
- // isResolutionFailure (not a bare code check) because ts-node's ESM shim throws
51
- // resolution failures with no code at all. Only claim "not found" when THIS package
52
- // is the error's QUOTED subject ("Cannot find package '<name>'") — a missing
53
- // TRANSITIVE dependency of a package that WAS found quotes the transitive name
54
- // instead (this package's name still appears UNQUOTED in the imported-from path,
55
- // which is why a bare includes(pkgName) check is not enough); its message is the
56
- // true cause and must reach the operator via the warn path.
57
- const message = error instanceof Error ? error.message : String(error);
58
- if (isResolutionFailure(error) && message.includes(`'${pkgName}'`)) {
59
- console.log(` Generated package not found (may not exist yet): ${pkgName}`);
60
- }
61
- else {
62
- console.warn(` Error loading generated package ${pkgName}:`, error);
63
- }
64
- }
65
- }
66
- }
67
- console.log('');
68
- }
69
- /**
70
- * Imports the server packages of installed Open Apps, declared in
71
- * `mj.config.cjs` under `dynamicPackages.server[]` by `mj app install`.
72
- *
73
- * Importing each package triggers its `@RegisterClass` decorators; if an entry
74
- * declares a `StartupExport`, that named export is invoked after import. This is
75
- * called AFTER {@link discoverAndLoadGeneratedPackages} (and after the bootstrap
76
- * manifests imported at module load), so an app's registrations land last and
77
- * therefore win via the ClassFactory's load-order priority — letting an app
78
- * override a base class.
34
+ * - Each package's exported `RESOLVER_PATHS` (absolute paths to its generated resolver files)
35
+ * are collected and returned. This is required for the app's GraphQL mutations/queries to
36
+ * actually enter the live schema: side-effect-importing a resolver class only registers
37
+ * type-graphql metadata, but `buildSchema` includes a resolver ONLY if it is PASSED in.
38
+ * `serve()` builds its resolver set by globbing the paths it is given — so the caller must
39
+ * hand these paths to `serve()`, or the app's entity-specific mutations (e.g. `CreateXxx`)
40
+ * never appear in the API. The app's own `packages/MJAPI/src/generated/generated.ts` does
41
+ * NOT regenerate the app's entities, so the package is the only source of these resolvers.
42
+ * - Each package's server-extension declarations (`MJ_SERVER_EXTENSIONS` export, falling back
43
+ * to `package.json` `memberjunction.serverExtensions`) are collected so `serve()` can mount
44
+ * Open App routes (webhooks, anonymous checkout, …) without the operator copying those
45
+ * blocks into the host `mj.config.cjs`. Host `serverExtensions[]` still overlays by DriverClass.
79
46
  *
80
- * It ALSO collects each package's exported `RESOLVER_PATHS` (absolute paths to the
81
- * package's generated resolver files) and returns them. This is required for the app's
82
- * GraphQL mutations/queries to actually enter the live schema: side-effect-importing a
83
- * resolver class only registers type-graphql metadata, but `buildSchema` includes a
84
- * resolver ONLY if it is PASSED in. `serve()` builds its resolver set by globbing the
85
- * paths it is given — so the caller must hand these paths to `serve()`, or the app's
86
- * entity-specific mutations (e.g. `CreateXxx`) never appear in the API. The app's own
87
- * `packages/MJAPI/src/generated/generated.ts` does NOT regenerate the app's entities, so
88
- * the package is the only source of these resolvers.
89
- *
90
- * Mirrors the generated-package loader's robustness contract: no-op when the
91
- * section is absent, per-package try/catch, tolerate `ERR_MODULE_NOT_FOUND`
47
+ * The loader's robustness contract is unchanged from the loader that used to live here: no-op
48
+ * when nothing is configured, per-package try/catch, tolerate a package that cannot be resolved
92
49
  * (e.g. before `npm install`), warn on anything else, and never crash boot.
93
50
  *
94
51
  * @param configResult - The loaded MemberJunction configuration
95
- * @returns absolute resolver-file paths to add to `serve()`'s resolver globs (empty when
96
- * no Open App server packages are installed — the common case).
52
+ * @returns absolute resolver-file paths to add to `serve()`'s resolver globs, plus
53
+ * server-extension configs discovered from those packages (empty when no
54
+ * Open App server packages are installed — the common case).
97
55
  */
98
56
  async function loadDynamicAppPackages(configResult) {
99
- const dynamicPackages = configResult.config?.dynamicPackages;
100
- const serverPackages = dynamicPackages?.server;
57
+ const report = await LoadDynamicPackages({
58
+ processId: MJAPI_PROCESS_ID,
59
+ tier: 'server',
60
+ config: configResult.config,
61
+ configFilePath: configResult.configFilePath,
62
+ });
101
63
  const resolverPaths = [];
102
- if (!serverPackages || serverPackages.length === 0) {
103
- // No installed Open App server packages — the common case. Stay silent, no paths.
104
- return resolverPaths;
105
- }
106
- console.log('Loading Open App server packages...');
107
- for (const entry of serverPackages) {
108
- const pkgName = entry?.PackageName;
109
- if (!pkgName || entry.Enabled === false) {
110
- continue;
64
+ const serverExtensions = [];
65
+ for (const loaded of report.Loaded) {
66
+ if (loaded.Source === 'generated') {
67
+ continue; // the host's own generated resolvers are globbed from the standard locations below
111
68
  }
112
- try {
113
- // Dynamic import to trigger side effects (class registration).
114
- const mod = await importFromHost(pkgName, configResult.configFilePath);
115
- // Invoke the declared startup export, if any (e.g. a registration kicker).
116
- const startup = entry.StartupExport ? mod[entry.StartupExport] : undefined;
117
- if (typeof startup === 'function') {
118
- await Promise.resolve(startup());
119
- }
120
- // Collect the package's exported resolver paths so serve() globs them into the schema.
121
- const pkgResolverPaths = mod.RESOLVER_PATHS;
122
- let added = 0;
123
- if (Array.isArray(pkgResolverPaths)) {
124
- for (const p of pkgResolverPaths) {
125
- if (typeof p === 'string' && p.length > 0) {
126
- resolverPaths.push(p);
127
- added++;
128
- }
129
- }
130
- }
131
- console.log(` Loaded Open App server package: ${pkgName}${entry.StartupExport ? ` (ran ${entry.StartupExport})` : ''}${added > 0 ? ` (+${added} resolver path${added === 1 ? '' : 's'})` : ''}`);
69
+ const added = collectResolverPaths(loaded, resolverPaths);
70
+ const extensions = collectServerExtensions(loaded, configResult.configFilePath);
71
+ serverExtensions.push(...extensions);
72
+ if (added > 0 || extensions.length > 0) {
73
+ console.log(` ${loaded.Entry.PackageName}:` +
74
+ `${added > 0 ? ` +${added} resolver path${added === 1 ? '' : 's'}` : ''}` +
75
+ `${extensions.length > 0 ? ` +${extensions.length} server extension${extensions.length === 1 ? '' : 's'}` : ''}`);
76
+ }
77
+ for (const ext of extensions) {
78
+ // Inventory is the consent surface: these routes mount BEFORE auth.
79
+ console.log(` ${describeServerExtensionMount(ext)}`);
132
80
  }
133
- catch (error) {
134
- // isResolutionFailure (not a bare code check) because ts-node's ESM shim throws
135
- // resolution failures with no code at all. The quoted-name guard keeps a missing
136
- // TRANSITIVE dependency on the warn path with its true cause: resolution errors QUOTE
137
- // the missing name, and a transitive failure quotes the transitive dep — this
138
- // package's name only appears unquoted in the imported-from path.
139
- const message = error instanceof Error ? error.message : String(error);
140
- if (isResolutionFailure(error) && message.includes(`'${pkgName}'`)) {
141
- console.log(` Open App server package not found (run 'npm install'?): ${pkgName}`);
81
+ }
82
+ if (report.Loaded.length > 0) {
83
+ console.log('');
84
+ }
85
+ return { resolverPaths, serverExtensions };
86
+ }
87
+ /** Appends the package's exported `RESOLVER_PATHS` strings to `into`; returns how many were added. */
88
+ function collectResolverPaths(loaded, into) {
89
+ const pkgResolverPaths = loaded.Module.RESOLVER_PATHS;
90
+ let added = 0;
91
+ if (Array.isArray(pkgResolverPaths)) {
92
+ for (const p of pkgResolverPaths) {
93
+ if (typeof p === 'string' && p.length > 0) {
94
+ into.push(p);
95
+ added++;
142
96
  }
143
- else {
144
- console.warn(` Error loading Open App server package ${pkgName}:`, error);
97
+ }
98
+ }
99
+ return added;
100
+ }
101
+ /**
102
+ * `package.json` of a package the loader imported by path from an Open App's own repository
103
+ * (`mj-app.json` beside the config). No resolution anchor can see such a package — that is why
104
+ * the loader fell back to its on-disk location — so the host-anchored lookup above returns null
105
+ * for it and its `memberjunction.serverExtensions` would never mount.
106
+ */
107
+ function workspacePackageJson(loaded) {
108
+ const home = loaded.WorkspaceHome;
109
+ if (!home) {
110
+ return null;
111
+ }
112
+ const dir = FindWorkspacePackageDir(home.RepoDir, home.SourceDirectory, loaded.Entry.PackageName);
113
+ return dir ? path.join(dir, 'package.json') : null;
114
+ }
115
+ /**
116
+ * Server extensions: runtime export wins; package.json is the static fallback for packages that
117
+ * declare metadata without a named export. Isolated in its own try so a collect failure still
118
+ * leaves the package's resolvers registered.
119
+ */
120
+ function collectServerExtensions(loaded, configFilePath) {
121
+ const pkgName = loaded.Entry.PackageName;
122
+ try {
123
+ // Read the export by property access rather than `in`: the loader hands back whatever
124
+ // `import()` produced, and a wrapped/proxied namespace (vitest's mocks are one) can answer
125
+ // `get` for an export while answering `has` with false.
126
+ const exported = loaded.Module[MJ_SERVER_EXTENSIONS_EXPORT];
127
+ let extensions = exported === undefined
128
+ ? []
129
+ : normalizeServerExtensionConfigs(exported, {
130
+ source: pkgName,
131
+ onInvalid: (message) => console.warn(` ${message}`),
132
+ });
133
+ if (extensions.length === 0) {
134
+ const pkgJsonPath = resolvePackageJsonFromHost(pkgName, configFilePath) ?? workspacePackageJson(loaded);
135
+ if (pkgJsonPath) {
136
+ const pkgJson = JSON.parse(readFileSync(pkgJsonPath, 'utf8'));
137
+ extensions = extractServerExtensionsFromPackageJson(pkgJson, {
138
+ source: `${pkgName} package.json`,
139
+ onInvalid: (message) => console.warn(` ${message}`),
140
+ });
145
141
  }
146
142
  }
143
+ return extensions;
144
+ }
145
+ catch (collectError) {
146
+ console.warn(` Error collecting serverExtensions from ${pkgName}:`, collectError);
147
+ return [];
147
148
  }
148
- console.log('');
149
- return resolverPaths;
150
149
  }
151
150
  /**
152
151
  * Creates and starts a MemberJunction API server with minimal configuration.
153
152
  *
154
153
  * This is the primary entry point for MJ 3.0 applications. It:
155
154
  * 1. Loads configuration from mj.config.cjs (or specified path)
156
- * 2. Auto-discovers and imports generated packages (triggering @RegisterClass decorators)
155
+ * 2. Auto-discovers and imports generated + installed Open App packages (triggering @RegisterClass decorators)
157
156
  * 3. Middleware is discovered via ClassFactory from @RegisterClass(BaseServerMiddleware, key) classes
158
157
  * 4. Builds the GraphQL schema with all registered resolvers
159
158
  * 5. Starts the server with proper lifecycle hooks
@@ -200,17 +199,15 @@ export async function createMJServer(options = {}) {
200
199
  hasUserConfig: configSearchResult && !configSearchResult.isEmpty,
201
200
  configFilePath: configSearchResult?.filepath
202
201
  };
203
- // Discover and load generated packages automatically
204
- // This triggers their @RegisterClass decorators to register entities, actions, etc.
205
- await discoverAndLoadGeneratedPackages(configResult);
206
- // Load installed Open App server packages (dynamicPackages.server[] from `mj app
207
- // install`). Done AFTER the generated packages so an app's @RegisterClass wins via
208
- // ClassFactory load-order priority. Without this, `mj app install` writes the
209
- // section but nothing consumes it — the app's server classes never load. The returned
210
- // resolver paths are the app packages' generated resolver files, which must be globbed
211
- // into the schema below (loading the classes alone does NOT put their mutations/queries
212
- // in the GraphQL schema — type-graphql only includes resolvers passed to serve()).
213
- const dynamicResolverPaths = await loadDynamicAppPackages(configResult);
202
+ // Load the host's generated packages and the installed Open App server packages
203
+ // (dynamicPackages.server[] from `mj app install`) — generated first, apps after, so an
204
+ // app's @RegisterClass wins via ClassFactory load-order priority. Without this, `mj app
205
+ // install` writes the section but nothing consumes it — the app's server classes never
206
+ // load. The returned resolver paths are the app packages' generated resolver files, which
207
+ // must be globbed into the schema below (loading the classes alone does NOT put their
208
+ // mutations/queries in the GraphQL schema — type-graphql only includes resolvers passed
209
+ // to serve()).
210
+ const { resolverPaths: dynamicResolverPaths, serverExtensions: dynamicServerExtensions } = await loadDynamicAppPackages(configResult);
214
211
  // Build resolver paths - auto-discover standard locations if not provided
215
212
  // This enables truly minimal MJAPI files without needing to specify paths
216
213
  const baseResolverPaths = options.resolverPaths || [
@@ -233,6 +230,8 @@ export async function createMJServer(options = {}) {
233
230
  const serverOptions = {
234
231
  onBeforeServe: options.beforeStart,
235
232
  restApiOptions: options.restApiOptions,
233
+ // Discovered only — serve() overlays host mj.config.cjs serverExtensions[] by DriverClass.
234
+ serverExtensions: dynamicServerExtensions,
236
235
  };
237
236
  // Start the MJ Server
238
237
  // The serve() function from @memberjunction/server handles:
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/server-bootstrap",
3
- "version": "6.1.0-edge.4",
3
+ "version": "6.1.0-edge.6",
4
4
  "description": "MemberJunction Server Bootstrap - Encapsulates all server initialization logic",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,126 +23,127 @@
23
23
  "author": "MemberJunction",
24
24
  "license": "BUSL-1.1",
25
25
  "dependencies": {
26
- "@memberjunction/action-runtime-host": "6.1.0-edge.4",
27
- "@memberjunction/actions": "6.1.0-edge.4",
28
- "@memberjunction/actions-apollo": "6.1.0-edge.4",
29
- "@memberjunction/actions-base": "6.1.0-edge.4",
30
- "@memberjunction/actions-bizapps-accounting": "6.1.0-edge.4",
31
- "@memberjunction/actions-bizapps-crm": "6.1.0-edge.4",
32
- "@memberjunction/actions-bizapps-formbuilders": "6.1.0-edge.4",
33
- "@memberjunction/actions-bizapps-lms": "6.1.0-edge.4",
34
- "@memberjunction/actions-bizapps-social": "6.1.0-edge.4",
35
- "@memberjunction/actions-content-autotag": "6.1.0-edge.4",
36
- "@memberjunction/ai-agent-harness": "6.1.0-edge.4",
37
- "@memberjunction/ai-agent-manager": "6.1.0-edge.4",
38
- "@memberjunction/ai-agents": "6.1.0-edge.4",
39
- "@memberjunction/ai-anthropic": "6.1.0-edge.4",
40
- "@memberjunction/ai-assemblyai": "6.1.0-edge.4",
41
- "@memberjunction/ai-azure": "6.1.0-edge.4",
42
- "@memberjunction/ai-bedrock": "6.1.0-edge.4",
43
- "@memberjunction/ai-betty-bot": "6.1.0-edge.4",
44
- "@memberjunction/ai-blackforestlabs": "6.1.0-edge.4",
45
- "@memberjunction/ai-bridge-livekit": "6.1.0-edge.4",
46
- "@memberjunction/ai-bridge-ringcentral": "6.1.0-edge.4",
47
- "@memberjunction/ai-bridge-server": "6.1.0-edge.4",
48
- "@memberjunction/ai-bridge-teams": "6.1.0-edge.4",
49
- "@memberjunction/ai-bridge-twilio": "6.1.0-edge.4",
50
- "@memberjunction/ai-bridge-vonage": "6.1.0-edge.4",
51
- "@memberjunction/ai-cerebras": "6.1.0-edge.4",
52
- "@memberjunction/ai-cohere": "6.1.0-edge.4",
53
- "@memberjunction/ai-core-plus": "6.1.0-edge.4",
54
- "@memberjunction/ai-elevenlabs": "6.1.0-edge.4",
55
- "@memberjunction/ai-engine-base": "6.1.0-edge.4",
56
- "@memberjunction/ai-fireworks": "6.1.0-edge.4",
57
- "@memberjunction/ai-form-builder": "6.1.0-edge.4",
58
- "@memberjunction/ai-gemini": "6.1.0-edge.4",
59
- "@memberjunction/ai-groq": "6.1.0-edge.4",
60
- "@memberjunction/ai-heygen": "6.1.0-edge.4",
61
- "@memberjunction/ai-huggingface": "6.1.0-edge.4",
62
- "@memberjunction/ai-inception": "6.1.0-edge.4",
63
- "@memberjunction/ai-inworld": "6.1.0-edge.4",
64
- "@memberjunction/ai-llamacpp": "6.1.0-edge.4",
65
- "@memberjunction/ai-lmstudio": "6.1.0-edge.4",
66
- "@memberjunction/ai-local-embeddings": "6.1.0-edge.4",
67
- "@memberjunction/ai-minimax": "6.1.0-edge.4",
68
- "@memberjunction/ai-mistral": "6.1.0-edge.4",
69
- "@memberjunction/ai-ollama": "6.1.0-edge.4",
70
- "@memberjunction/ai-openai": "6.1.0-edge.4",
71
- "@memberjunction/ai-openrouter": "6.1.0-edge.4",
72
- "@memberjunction/ai-prompts": "6.1.0-edge.4",
73
- "@memberjunction/ai-provider-bundle": "6.1.0-edge.4",
74
- "@memberjunction/ai-recommendations-rex": "6.1.0-edge.4",
75
- "@memberjunction/ai-reranker": "6.1.0-edge.4",
76
- "@memberjunction/ai-segmentation": "6.1.0-edge.4",
77
- "@memberjunction/ai-vector-dupe": "6.1.0-edge.4",
78
- "@memberjunction/ai-vectors-memory": "6.1.0-edge.4",
79
- "@memberjunction/ai-vectors-pgvector": "6.1.0-edge.4",
80
- "@memberjunction/ai-vectors-pinecone": "6.1.0-edge.4",
81
- "@memberjunction/ai-vectors-qdrant": "6.1.0-edge.4",
82
- "@memberjunction/ai-vectors-sqlserver": "6.1.0-edge.4",
83
- "@memberjunction/ai-vertex": "6.1.0-edge.4",
84
- "@memberjunction/ai-xai": "6.1.0-edge.4",
85
- "@memberjunction/ai-zhipu": "6.1.0-edge.4",
86
- "@memberjunction/archiving-action": "6.1.0-edge.4",
87
- "@memberjunction/archiving-engine": "6.1.0-edge.4",
88
- "@memberjunction/auth-providers": "6.1.0-edge.4",
89
- "@memberjunction/codegen-lib": "6.1.0-edge.4",
90
- "@memberjunction/communication-ms-graph": "6.1.0-edge.4",
91
- "@memberjunction/communication-sendgrid": "6.1.0-edge.4",
92
- "@memberjunction/communication-types": "6.1.0-edge.4",
93
- "@memberjunction/computer-use-engine": "6.1.0-edge.4",
94
- "@memberjunction/content-autotagging": "6.1.0-edge.4",
95
- "@memberjunction/core": "6.1.0-edge.4",
96
- "@memberjunction/core-actions": "6.1.0-edge.4",
97
- "@memberjunction/core-entities": "6.1.0-edge.4",
98
- "@memberjunction/core-entities-server": "6.1.0-edge.4",
99
- "@memberjunction/data-context-server": "6.1.0-edge.4",
100
- "@memberjunction/database-designer-actions": "6.1.0-edge.4",
101
- "@memberjunction/database-designer-core": "6.1.0-edge.4",
102
- "@memberjunction/doc-utils": "6.1.0-edge.4",
103
- "@memberjunction/encryption": "6.1.0-edge.4",
104
- "@memberjunction/entity-communications-base": "6.1.0-edge.4",
105
- "@memberjunction/esignature": "6.1.0-edge.4",
106
- "@memberjunction/esignature-docusign": "6.1.0-edge.4",
107
- "@memberjunction/esignature-dropboxsign": "6.1.0-edge.4",
108
- "@memberjunction/esignature-pandadoc": "6.1.0-edge.4",
109
- "@memberjunction/external-data-source-databricks": "6.1.0-edge.4",
110
- "@memberjunction/external-data-source-mongodb": "6.1.0-edge.4",
111
- "@memberjunction/external-data-source-mysql": "6.1.0-edge.4",
112
- "@memberjunction/external-data-source-oracle": "6.1.0-edge.4",
113
- "@memberjunction/external-data-source-postgres": "6.1.0-edge.4",
114
- "@memberjunction/external-data-source-snowflake": "6.1.0-edge.4",
115
- "@memberjunction/external-data-source-sqlserver": "6.1.0-edge.4",
116
- "@memberjunction/external-data-sources": "6.1.0-edge.4",
117
- "@memberjunction/geo-core": "6.1.0-edge.4",
118
- "@memberjunction/integration-actions": "6.1.0-edge.4",
119
- "@memberjunction/integration-engine": "6.1.0-edge.4",
120
- "@memberjunction/messaging-adapters": "6.1.0-edge.4",
121
- "@memberjunction/predictive-studio": "6.1.0-edge.4",
122
- "@memberjunction/queue": "6.1.0-edge.4",
123
- "@memberjunction/react-linter": "6.1.0-edge.4",
124
- "@memberjunction/record-comparison": "6.1.0-edge.4",
125
- "@memberjunction/record-set-processor": "6.1.0-edge.4",
126
- "@memberjunction/remote-browser-selfhost": "6.1.0-edge.4",
127
- "@memberjunction/remote-browser-server": "6.1.0-edge.4",
128
- "@memberjunction/scheduling-actions": "6.1.0-edge.4",
129
- "@memberjunction/scheduling-engine": "6.1.0-edge.4",
130
- "@memberjunction/scheduling-engine-base": "6.1.0-edge.4",
131
- "@memberjunction/search-engine": "6.1.0-edge.4",
132
- "@memberjunction/server": "6.1.0-edge.4",
133
- "@memberjunction/server-extensions-core": "6.1.0-edge.4",
134
- "@memberjunction/storage": "6.1.0-edge.4",
135
- "@memberjunction/tag-engine-base": "6.1.0-edge.4",
136
- "@memberjunction/task-graph": "6.1.0-edge.4",
137
- "@memberjunction/templates": "6.1.0-edge.4",
138
- "@memberjunction/testing-engine": "6.1.0-edge.4",
139
- "@memberjunction/testing-integration": "6.1.0-edge.4",
26
+ "@memberjunction/action-runtime-host": "6.1.0-edge.6",
27
+ "@memberjunction/actions": "6.1.0-edge.6",
28
+ "@memberjunction/actions-apollo": "6.1.0-edge.6",
29
+ "@memberjunction/actions-base": "6.1.0-edge.6",
30
+ "@memberjunction/actions-bizapps-accounting": "6.1.0-edge.6",
31
+ "@memberjunction/actions-bizapps-crm": "6.1.0-edge.6",
32
+ "@memberjunction/actions-bizapps-formbuilders": "6.1.0-edge.6",
33
+ "@memberjunction/actions-bizapps-lms": "6.1.0-edge.6",
34
+ "@memberjunction/actions-bizapps-social": "6.1.0-edge.6",
35
+ "@memberjunction/actions-content-autotag": "6.1.0-edge.6",
36
+ "@memberjunction/ai-agent-harness": "6.1.0-edge.6",
37
+ "@memberjunction/ai-agent-manager": "6.1.0-edge.6",
38
+ "@memberjunction/ai-agents": "6.1.0-edge.6",
39
+ "@memberjunction/ai-anthropic": "6.1.0-edge.6",
40
+ "@memberjunction/ai-assemblyai": "6.1.0-edge.6",
41
+ "@memberjunction/ai-azure": "6.1.0-edge.6",
42
+ "@memberjunction/ai-bedrock": "6.1.0-edge.6",
43
+ "@memberjunction/ai-betty-bot": "6.1.0-edge.6",
44
+ "@memberjunction/ai-blackforestlabs": "6.1.0-edge.6",
45
+ "@memberjunction/ai-bridge-livekit": "6.1.0-edge.6",
46
+ "@memberjunction/ai-bridge-ringcentral": "6.1.0-edge.6",
47
+ "@memberjunction/ai-bridge-server": "6.1.0-edge.6",
48
+ "@memberjunction/ai-bridge-teams": "6.1.0-edge.6",
49
+ "@memberjunction/ai-bridge-twilio": "6.1.0-edge.6",
50
+ "@memberjunction/ai-bridge-vonage": "6.1.0-edge.6",
51
+ "@memberjunction/ai-cerebras": "6.1.0-edge.6",
52
+ "@memberjunction/ai-cohere": "6.1.0-edge.6",
53
+ "@memberjunction/ai-core-plus": "6.1.0-edge.6",
54
+ "@memberjunction/ai-elevenlabs": "6.1.0-edge.6",
55
+ "@memberjunction/ai-engine-base": "6.1.0-edge.6",
56
+ "@memberjunction/ai-fireworks": "6.1.0-edge.6",
57
+ "@memberjunction/ai-form-builder": "6.1.0-edge.6",
58
+ "@memberjunction/ai-gemini": "6.1.0-edge.6",
59
+ "@memberjunction/ai-groq": "6.1.0-edge.6",
60
+ "@memberjunction/ai-heygen": "6.1.0-edge.6",
61
+ "@memberjunction/ai-huggingface": "6.1.0-edge.6",
62
+ "@memberjunction/ai-inception": "6.1.0-edge.6",
63
+ "@memberjunction/ai-inworld": "6.1.0-edge.6",
64
+ "@memberjunction/ai-llamacpp": "6.1.0-edge.6",
65
+ "@memberjunction/ai-lmstudio": "6.1.0-edge.6",
66
+ "@memberjunction/ai-local-embeddings": "6.1.0-edge.6",
67
+ "@memberjunction/ai-minimax": "6.1.0-edge.6",
68
+ "@memberjunction/ai-mistral": "6.1.0-edge.6",
69
+ "@memberjunction/ai-ollama": "6.1.0-edge.6",
70
+ "@memberjunction/ai-openai": "6.1.0-edge.6",
71
+ "@memberjunction/ai-openrouter": "6.1.0-edge.6",
72
+ "@memberjunction/ai-prompts": "6.1.0-edge.6",
73
+ "@memberjunction/ai-provider-bundle": "6.1.0-edge.6",
74
+ "@memberjunction/ai-recommendations-rex": "6.1.0-edge.6",
75
+ "@memberjunction/ai-reranker": "6.1.0-edge.6",
76
+ "@memberjunction/ai-segmentation": "6.1.0-edge.6",
77
+ "@memberjunction/ai-vector-dupe": "6.1.0-edge.6",
78
+ "@memberjunction/ai-vectors-memory": "6.1.0-edge.6",
79
+ "@memberjunction/ai-vectors-pgvector": "6.1.0-edge.6",
80
+ "@memberjunction/ai-vectors-pinecone": "6.1.0-edge.6",
81
+ "@memberjunction/ai-vectors-qdrant": "6.1.0-edge.6",
82
+ "@memberjunction/ai-vectors-sqlserver": "6.1.0-edge.6",
83
+ "@memberjunction/ai-vertex": "6.1.0-edge.6",
84
+ "@memberjunction/ai-xai": "6.1.0-edge.6",
85
+ "@memberjunction/ai-zhipu": "6.1.0-edge.6",
86
+ "@memberjunction/archiving-action": "6.1.0-edge.6",
87
+ "@memberjunction/archiving-engine": "6.1.0-edge.6",
88
+ "@memberjunction/auth-providers": "6.1.0-edge.6",
89
+ "@memberjunction/codegen-lib": "6.1.0-edge.6",
90
+ "@memberjunction/communication-ms-graph": "6.1.0-edge.6",
91
+ "@memberjunction/communication-sendgrid": "6.1.0-edge.6",
92
+ "@memberjunction/communication-types": "6.1.0-edge.6",
93
+ "@memberjunction/computer-use-engine": "6.1.0-edge.6",
94
+ "@memberjunction/content-autotagging": "6.1.0-edge.6",
95
+ "@memberjunction/core": "6.1.0-edge.6",
96
+ "@memberjunction/core-actions": "6.1.0-edge.6",
97
+ "@memberjunction/core-entities": "6.1.0-edge.6",
98
+ "@memberjunction/core-entities-server": "6.1.0-edge.6",
99
+ "@memberjunction/data-context-server": "6.1.0-edge.6",
100
+ "@memberjunction/database-designer-actions": "6.1.0-edge.6",
101
+ "@memberjunction/database-designer-core": "6.1.0-edge.6",
102
+ "@memberjunction/doc-utils": "6.1.0-edge.6",
103
+ "@memberjunction/dynamic-packages": "6.1.0-edge.6",
104
+ "@memberjunction/encryption": "6.1.0-edge.6",
105
+ "@memberjunction/entity-communications-base": "6.1.0-edge.6",
106
+ "@memberjunction/esignature": "6.1.0-edge.6",
107
+ "@memberjunction/esignature-docusign": "6.1.0-edge.6",
108
+ "@memberjunction/esignature-dropboxsign": "6.1.0-edge.6",
109
+ "@memberjunction/esignature-pandadoc": "6.1.0-edge.6",
110
+ "@memberjunction/external-data-source-databricks": "6.1.0-edge.6",
111
+ "@memberjunction/external-data-source-mongodb": "6.1.0-edge.6",
112
+ "@memberjunction/external-data-source-mysql": "6.1.0-edge.6",
113
+ "@memberjunction/external-data-source-oracle": "6.1.0-edge.6",
114
+ "@memberjunction/external-data-source-postgres": "6.1.0-edge.6",
115
+ "@memberjunction/external-data-source-snowflake": "6.1.0-edge.6",
116
+ "@memberjunction/external-data-source-sqlserver": "6.1.0-edge.6",
117
+ "@memberjunction/external-data-sources": "6.1.0-edge.6",
118
+ "@memberjunction/geo-core": "6.1.0-edge.6",
119
+ "@memberjunction/integration-actions": "6.1.0-edge.6",
120
+ "@memberjunction/integration-engine": "6.1.0-edge.6",
121
+ "@memberjunction/messaging-adapters": "6.1.0-edge.6",
122
+ "@memberjunction/predictive-studio": "6.1.0-edge.6",
123
+ "@memberjunction/queue": "6.1.0-edge.6",
124
+ "@memberjunction/react-linter": "6.1.0-edge.6",
125
+ "@memberjunction/record-comparison": "6.1.0-edge.6",
126
+ "@memberjunction/record-set-processor": "6.1.0-edge.6",
127
+ "@memberjunction/remote-browser-selfhost": "6.1.0-edge.6",
128
+ "@memberjunction/remote-browser-server": "6.1.0-edge.6",
129
+ "@memberjunction/scheduling-actions": "6.1.0-edge.6",
130
+ "@memberjunction/scheduling-engine": "6.1.0-edge.6",
131
+ "@memberjunction/scheduling-engine-base": "6.1.0-edge.6",
132
+ "@memberjunction/search-engine": "6.1.0-edge.6",
133
+ "@memberjunction/server": "6.1.0-edge.6",
134
+ "@memberjunction/server-extensions-core": "6.1.0-edge.6",
135
+ "@memberjunction/storage": "6.1.0-edge.6",
136
+ "@memberjunction/tag-engine-base": "6.1.0-edge.6",
137
+ "@memberjunction/task-graph": "6.1.0-edge.6",
138
+ "@memberjunction/templates": "6.1.0-edge.6",
139
+ "@memberjunction/testing-engine": "6.1.0-edge.6",
140
+ "@memberjunction/testing-integration": "6.1.0-edge.6",
140
141
  "cosmiconfig": "^9.0.0"
141
142
  },
142
143
  "devDependencies": {
143
144
  "@types/node": "^24.10.11",
144
145
  "typescript": "^5.9.3",
145
- "@memberjunction/global": "6.1.0-edge.4"
146
+ "@memberjunction/global": "6.1.0-edge.6"
146
147
  },
147
148
  "files": [
148
149
  "dist/**/*"
@@ -152,7 +153,7 @@
152
153
  "url": "https://github.com/MemberJunction/MJ"
153
154
  },
154
155
  "scripts": {
155
- "prebuild": "mj codegen manifest --output ./src/generated/mj-class-registrations.ts || echo 'Warning: mj codegen manifest not available, using existing manifest'",
156
+ "prebuild": "node ../../packages/MJCLI/bin/run.js codegen manifest --output ./src/generated/mj-class-registrations.ts || echo 'Warning: workspace CLI not built yet (build @memberjunction/cli first), using existing manifest'",
156
157
  "build": "tsc && tsc-alias -f",
157
158
  "watch": "tsc --watch",
158
159
  "clean": "rimraf dist",