@memberjunction/server 2.56.0 → 2.58.0
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/generated/generated.d.ts +391 -0
- package/dist/generated/generated.d.ts.map +1 -1
- package/dist/generated/generated.js +2587 -1
- package/dist/generated/generated.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/resolvers/AskSkipResolver.d.ts.map +1 -1
- package/dist/resolvers/AskSkipResolver.js +4 -0
- package/dist/resolvers/AskSkipResolver.js.map +1 -1
- package/dist/resolvers/FileResolver.d.ts.map +1 -1
- package/dist/resolvers/FileResolver.js +5 -6
- package/dist/resolvers/FileResolver.js.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.d.ts +1 -1
- package/dist/resolvers/RunAIPromptResolver.d.ts.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.js +11 -6
- package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
- package/package.json +30 -26
- package/src/generated/generated.ts +1714 -32
- package/src/index.ts +17 -2
- package/src/resolvers/AskSkipResolver.ts +4 -0
- package/src/resolvers/FileResolver.ts +11 -7
- package/src/resolvers/RunAIAgentResolver.ts +1 -1
- package/src/resolvers/RunAIPromptResolver.ts +12 -5
package/src/index.ts
CHANGED
|
@@ -40,6 +40,23 @@ LoadCoreEntitiesServerSubClasses(); // prevent tree shaking for this dynamic mod
|
|
|
40
40
|
import { LoadAgentManagementActions } from '@memberjunction/ai-agent-manager-actions';
|
|
41
41
|
LoadAgentManagementActions();
|
|
42
42
|
|
|
43
|
+
|
|
44
|
+
import { resolve } from 'node:path';
|
|
45
|
+
import { DataSourceInfo, raiseEvent } from './types.js';
|
|
46
|
+
import { LoadOpenAILLM } from '@memberjunction/ai-openai';
|
|
47
|
+
import { LoadAnthropicLLM } from '@memberjunction/ai-anthropic';
|
|
48
|
+
import { LoadGroqLLM } from '@memberjunction/ai-groq';
|
|
49
|
+
import { LoadCerebrasLLM } from '@memberjunction/ai-cerebras';
|
|
50
|
+
import { LoadMistralLLM } from '@memberjunction/ai-mistral';
|
|
51
|
+
// Load AI LLMs
|
|
52
|
+
// These imports are necessary to ensure the LLMs are registered in the MemberJunction AI
|
|
53
|
+
// system. They are not tree-shaken because they are dynamically loaded at runtime.
|
|
54
|
+
LoadOpenAILLM();
|
|
55
|
+
LoadAnthropicLLM();
|
|
56
|
+
LoadGroqLLM();
|
|
57
|
+
LoadCerebrasLLM();
|
|
58
|
+
LoadMistralLLM();
|
|
59
|
+
|
|
43
60
|
import { ExternalChangeDetectorEngine } from '@memberjunction/external-change-detection';
|
|
44
61
|
|
|
45
62
|
const cacheRefreshInterval = configInfo.databaseSettings.metadataCacheRefreshInterval;
|
|
@@ -80,8 +97,6 @@ export { GetReadOnlyDataSource, GetReadWriteDataSource } from './util.js';
|
|
|
80
97
|
|
|
81
98
|
export * from './generated/generated.js';
|
|
82
99
|
|
|
83
|
-
import { resolve } from 'node:path';
|
|
84
|
-
import { DataSourceInfo, raiseEvent } from './types.js';
|
|
85
100
|
|
|
86
101
|
export type MJServerOptions = {
|
|
87
102
|
onBeforeServe?: () => void | Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntityPermissionType, Metadata } from '@memberjunction/core';
|
|
1
|
+
import { EntityPermissionType, Metadata, FieldValueCollection } from '@memberjunction/core';
|
|
2
2
|
import { FileEntity, FileStorageProviderEntity } from '@memberjunction/core-entities';
|
|
3
3
|
import {
|
|
4
4
|
AppContext,
|
|
@@ -57,23 +57,27 @@ export class FileResolver extends FileResolverBase {
|
|
|
57
57
|
fileEntity.CheckPermissions(EntityPermissionType.Create, true);
|
|
58
58
|
|
|
59
59
|
// Check to see if there's already an object with that name
|
|
60
|
-
const [sameName] = await this.findBy(
|
|
60
|
+
const [sameName] = await this.findBy(
|
|
61
|
+
context.dataSource,
|
|
62
|
+
'Files',
|
|
63
|
+
{ Name: input.Name, ProviderID: input.ProviderID },
|
|
64
|
+
context.userPayload.userRecord
|
|
65
|
+
);
|
|
61
66
|
const NameExists = Boolean(sameName);
|
|
62
67
|
|
|
63
|
-
const
|
|
68
|
+
const success = fileEntity.NewRecord(FieldValueCollection.FromObject({ ...input, Status: 'Pending' }));
|
|
64
69
|
|
|
65
70
|
// If there's a problem creating the file record, the base resolver will return null
|
|
66
|
-
if (!
|
|
71
|
+
if (!success) {
|
|
67
72
|
return null;
|
|
68
73
|
}
|
|
69
74
|
|
|
70
75
|
// Create the upload URL and get the record updates (provider key, content type, etc)
|
|
71
|
-
const { updatedInput, UploadUrl } = await createUploadUrl(providerEntity,
|
|
76
|
+
const { updatedInput, UploadUrl } = await createUploadUrl(providerEntity, fileEntity);
|
|
72
77
|
|
|
73
78
|
// Save the file record with the updated input
|
|
74
79
|
const mapper = new FieldMapper();
|
|
75
|
-
|
|
76
|
-
fileEntity.SetMany(mapper.ReverseMapFields({ ...updatedInput }));
|
|
80
|
+
fileEntity.SetMany(mapper.ReverseMapFields({ ...updatedInput }), true, true);
|
|
77
81
|
await fileEntity.Save();
|
|
78
82
|
const File = mapper.MapFields({ ...fileEntity.GetAll() });
|
|
79
83
|
|
|
@@ -3,7 +3,7 @@ import { UserPayload } from '../types.js';
|
|
|
3
3
|
import { LogError, LogStatus } from '@memberjunction/core';
|
|
4
4
|
import { AIAgentEntity } from '@memberjunction/core-entities';
|
|
5
5
|
import { AgentRunner } from '@memberjunction/ai-agents';
|
|
6
|
-
import { ExecuteAgentResult } from '@memberjunction/
|
|
6
|
+
import { ExecuteAgentResult } from '@memberjunction/ai-core-plus';
|
|
7
7
|
import { AIEngine } from '@memberjunction/aiengine';
|
|
8
8
|
import { ResolverBase } from '../generic/ResolverBase.js';
|
|
9
9
|
import { PUSH_STATUS_UPDATES_TOPIC } from '../generic/PushStatusResolver.js';
|
|
@@ -2,7 +2,8 @@ import { Resolver, Mutation, Arg, Ctx, ObjectType, Field, Int } from 'type-graph
|
|
|
2
2
|
import { UserPayload } from '../types.js';
|
|
3
3
|
import { LogError, LogStatus, Metadata } from '@memberjunction/core';
|
|
4
4
|
import { AIPromptEntity } from '@memberjunction/core-entities';
|
|
5
|
-
import { AIPromptRunner
|
|
5
|
+
import { AIPromptRunner } from '@memberjunction/ai-prompts';
|
|
6
|
+
import { AIPromptParams } from '@memberjunction/ai-core-plus';
|
|
6
7
|
import { ResolverBase } from '../generic/ResolverBase.js';
|
|
7
8
|
|
|
8
9
|
@ObjectType()
|
|
@@ -45,8 +46,8 @@ export class RunAIPromptResolver extends ResolverBase {
|
|
|
45
46
|
@Arg('promptId') promptId: string,
|
|
46
47
|
@Ctx() { userPayload }: { userPayload: UserPayload },
|
|
47
48
|
@Arg('data', { nullable: true }) data?: string,
|
|
48
|
-
@Arg('
|
|
49
|
-
@Arg('
|
|
49
|
+
@Arg('overrideModelId', { nullable: true }) overrideModelId?: string,
|
|
50
|
+
@Arg('overrideVendorId', { nullable: true }) overrideVendorId?: string,
|
|
50
51
|
@Arg('configurationId', { nullable: true }) configurationId?: string,
|
|
51
52
|
@Arg('skipValidation', { nullable: true }) skipValidation?: boolean,
|
|
52
53
|
@Arg('templateData', { nullable: true }) templateData?: string,
|
|
@@ -137,12 +138,18 @@ export class RunAIPromptResolver extends ResolverBase {
|
|
|
137
138
|
promptParams.prompt = promptEntity;
|
|
138
139
|
promptParams.data = parsedData;
|
|
139
140
|
promptParams.templateData = parsedTemplateData;
|
|
140
|
-
promptParams.modelId = modelId;
|
|
141
|
-
promptParams.vendorId = vendorId;
|
|
142
141
|
promptParams.configurationId = configurationId;
|
|
143
142
|
promptParams.contextUser = currentUser;
|
|
144
143
|
promptParams.skipValidation = skipValidation || false;
|
|
145
144
|
|
|
145
|
+
// Set override if model or vendor ID provided
|
|
146
|
+
if (overrideModelId || overrideVendorId) {
|
|
147
|
+
promptParams.override = {
|
|
148
|
+
modelId: overrideModelId,
|
|
149
|
+
vendorId: overrideVendorId
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
146
153
|
// Parse and set conversation messages if provided
|
|
147
154
|
if (messages) {
|
|
148
155
|
try {
|