@memberjunction/server 5.1.0 → 5.2.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/README.md +2 -1
- package/dist/entitySubclasses/{entityPermissions.server.d.ts → MJEntityPermissionEntityServer.server.d.ts} +2 -2
- package/dist/entitySubclasses/MJEntityPermissionEntityServer.server.d.ts.map +1 -0
- package/dist/entitySubclasses/{entityPermissions.server.js → MJEntityPermissionEntityServer.server.js} +9 -9
- package/dist/entitySubclasses/MJEntityPermissionEntityServer.server.js.map +1 -0
- package/dist/generic/ResolverBase.d.ts +2 -2
- package/dist/generic/ResolverBase.d.ts.map +1 -1
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/resolvers/AdhocQueryResolver.d.ts +28 -0
- package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -0
- package/dist/resolvers/AdhocQueryResolver.js +140 -0
- package/dist/resolvers/AdhocQueryResolver.js.map +1 -0
- package/dist/resolvers/CreateQueryResolver.js +2 -2
- package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
- package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
- package/dist/resolvers/RunTemplateResolver.js.map +1 -1
- package/dist/resolvers/UserViewResolver.js.map +1 -1
- package/dist/services/TaskOrchestrator.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +52 -52
- package/src/__tests__/AdhocQueryResolver.test.ts +175 -0
- package/src/entitySubclasses/{entityPermissions.server.ts → MJEntityPermissionEntityServer.server.ts} +3 -3
- package/src/generic/ResolverBase.ts +9 -9
- package/src/generic/RunViewResolver.ts +4 -4
- package/src/index.ts +1 -1
- package/src/resolvers/AdhocQueryResolver.ts +126 -0
- package/src/resolvers/CreateQueryResolver.ts +5 -5
- package/src/resolvers/RunAIAgentResolver.ts +4 -4
- package/src/resolvers/RunAIPromptResolver.ts +7 -7
- package/src/resolvers/RunTemplateResolver.ts +2 -2
- package/src/resolvers/UserViewResolver.ts +2 -2
- package/src/services/TaskOrchestrator.ts +5 -5
- package/src/types.ts +2 -2
- package/dist/entitySubclasses/entityPermissions.server.d.ts.map +0 -1
- package/dist/entitySubclasses/entityPermissions.server.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Resolver, Mutation, Query, Arg, Ctx, ObjectType, Field, Int } from 'type-graphql';
|
|
2
2
|
import { AppContext, UserPayload } from '../types.js';
|
|
3
3
|
import { DatabaseProviderBase, LogError, LogStatus, Metadata } from '@memberjunction/core';
|
|
4
|
-
import {
|
|
4
|
+
import { MJAIPromptEntityExtended, MJAIModelEntityExtended } from '@memberjunction/ai-core-plus';
|
|
5
5
|
import { AIPromptRunner } from '@memberjunction/ai-prompts';
|
|
6
6
|
import { AIPromptParams } from '@memberjunction/ai-core-plus';
|
|
7
7
|
import { ResolverBase } from '../generic/ResolverBase.js';
|
|
@@ -156,7 +156,7 @@ export class RunAIPromptResolver extends ResolverBase {
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
// Load the AI prompt entity
|
|
159
|
-
const promptEntity = await p.GetEntityObject<
|
|
159
|
+
const promptEntity = await p.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts', currentUser);
|
|
160
160
|
await promptEntity.Load(promptId);
|
|
161
161
|
|
|
162
162
|
if (!promptEntity.IsSaved) {
|
|
@@ -402,7 +402,7 @@ export class RunAIPromptResolver extends ResolverBase {
|
|
|
402
402
|
preferredModels: string[] | undefined,
|
|
403
403
|
modelPower: string,
|
|
404
404
|
contextUser: any
|
|
405
|
-
): Promise<
|
|
405
|
+
): Promise<MJAIModelEntityExtended> {
|
|
406
406
|
// Ensure AI Engine is configured
|
|
407
407
|
await AIEngine.Instance.Config(false, contextUser);
|
|
408
408
|
|
|
@@ -413,7 +413,7 @@ export class RunAIPromptResolver extends ResolverBase {
|
|
|
413
413
|
);
|
|
414
414
|
|
|
415
415
|
// Filter to only models with valid API keys
|
|
416
|
-
const modelsWithKeys:
|
|
416
|
+
const modelsWithKeys: MJAIModelEntityExtended[] = [];
|
|
417
417
|
for (const model of allModels) {
|
|
418
418
|
const apiKey = GetAIAPIKey(model.DriverClass);
|
|
419
419
|
if (apiKey && apiKey.trim().length > 0) {
|
|
@@ -443,7 +443,7 @@ export class RunAIPromptResolver extends ResolverBase {
|
|
|
443
443
|
// Sort by PowerRank for power-based selection
|
|
444
444
|
modelsWithKeys.sort((a, b) => (b.PowerRank || 0) - (a.PowerRank || 0));
|
|
445
445
|
|
|
446
|
-
let selectedModel:
|
|
446
|
+
let selectedModel: MJAIModelEntityExtended;
|
|
447
447
|
switch (modelPower) {
|
|
448
448
|
case 'lowest':
|
|
449
449
|
selectedModel = modelsWithKeys[modelsWithKeys.length - 1];
|
|
@@ -466,7 +466,7 @@ export class RunAIPromptResolver extends ResolverBase {
|
|
|
466
466
|
* Helper method to select an embedding model by size
|
|
467
467
|
* @private
|
|
468
468
|
*/
|
|
469
|
-
private selectEmbeddingModelBySize(modelSize: string):
|
|
469
|
+
private selectEmbeddingModelBySize(modelSize: string): MJAIModelEntityExtended {
|
|
470
470
|
const localModels = AIEngine.Instance.LocalEmbeddingModels;
|
|
471
471
|
|
|
472
472
|
if (!localModels || localModels.length === 0) {
|
|
@@ -541,7 +541,7 @@ export class RunAIPromptResolver extends ResolverBase {
|
|
|
541
541
|
* Helper method to format simple prompt result
|
|
542
542
|
* @private
|
|
543
543
|
*/
|
|
544
|
-
private formatSimpleResult(chatResult: any, model:
|
|
544
|
+
private formatSimpleResult(chatResult: any, model: MJAIModelEntityExtended, executionTime: number): SimplePromptResult {
|
|
545
545
|
if (!chatResult || !chatResult.success) {
|
|
546
546
|
return {
|
|
547
547
|
success: false,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Resolver, Mutation, Arg, Ctx, ObjectType, Field } from 'type-graphql';
|
|
2
2
|
import { AppContext, UserPayload } from '../types.js';
|
|
3
3
|
import { LogError, LogStatus, Metadata, RunView } from '@memberjunction/core';
|
|
4
|
-
import { MJTemplateContentEntity,
|
|
4
|
+
import { MJTemplateContentEntity, MJTemplateEntityExtended } from '@memberjunction/core-entities';
|
|
5
5
|
import { TemplateEngineServer } from '@memberjunction/templates';
|
|
6
6
|
import { ResolverBase } from '../generic/ResolverBase.js';
|
|
7
7
|
import { GetReadWriteProvider } from '../util.js';
|
|
@@ -63,7 +63,7 @@ export class RunTemplateResolver extends ResolverBase {
|
|
|
63
63
|
|
|
64
64
|
const p = GetReadWriteProvider(providers);
|
|
65
65
|
// Load the template entity
|
|
66
|
-
const templateEntity = await p.GetEntityObject<
|
|
66
|
+
const templateEntity = await p.GetEntityObject<MJTemplateEntityExtended>('MJ: Templates', currentUser);
|
|
67
67
|
await templateEntity.Load(templateId);
|
|
68
68
|
|
|
69
69
|
if (!templateEntity.IsSaved) {
|
|
@@ -3,7 +3,7 @@ import { EntitySaveOptions, Metadata } from '@memberjunction/core';
|
|
|
3
3
|
import { AppContext, Arg, Ctx, Int, Query, Resolver, UserPayload } from '@memberjunction/server';
|
|
4
4
|
import { MJUserView_, MJUserViewResolverBase } from '../generated/generated.js';
|
|
5
5
|
import { UserResolver } from './UserResolver.js';
|
|
6
|
-
import { MJUserViewEntity,
|
|
6
|
+
import { MJUserViewEntity, MJUserViewEntityExtended } from '@memberjunction/core-entities';
|
|
7
7
|
import { GetReadOnlyProvider } from '../util.js';
|
|
8
8
|
|
|
9
9
|
@Resolver(MJUserView_)
|
|
@@ -54,7 +54,7 @@ export class UserViewResolver extends MJUserViewResolverBase {
|
|
|
54
54
|
// filter state which in turn will be used to update the where clause in the entity sub-class.
|
|
55
55
|
const p = GetReadOnlyProvider(providers, {allowFallbackToReadWrite: true});
|
|
56
56
|
const u = this.GetUserFromPayload(userPayload);
|
|
57
|
-
const viewEntity = <
|
|
57
|
+
const viewEntity = <MJUserViewEntityExtended>await p.GetEntityObject('MJ: User Views', u);
|
|
58
58
|
await viewEntity.Load(ID);
|
|
59
59
|
viewEntity.UpdateWhereClause();
|
|
60
60
|
|
|
@@ -5,7 +5,7 @@ import { ChatMessageRole } from '@memberjunction/ai';
|
|
|
5
5
|
import { PubSubEngine } from 'type-graphql';
|
|
6
6
|
import { UserPayload } from '../types.js';
|
|
7
7
|
import { PUSH_STATUS_UPDATES_TOPIC } from '../generic/PushStatusResolver.js';
|
|
8
|
-
import {
|
|
8
|
+
import { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Task definition from LLM response
|
|
@@ -268,9 +268,9 @@ export class TaskOrchestrator {
|
|
|
268
268
|
/**
|
|
269
269
|
* Find agent by name
|
|
270
270
|
*/
|
|
271
|
-
private async findAgentByName(agentName: string): Promise<
|
|
271
|
+
private async findAgentByName(agentName: string): Promise<MJAIAgentEntityExtended | null> {
|
|
272
272
|
const rv = new RunView();
|
|
273
|
-
const result = await rv.RunView<
|
|
273
|
+
const result = await rv.RunView<MJAIAgentEntityExtended>({
|
|
274
274
|
EntityName: 'MJ: AI Agents',
|
|
275
275
|
ExtraFilter: `Name='${agentName.replace(/'/g, "''")}'`,
|
|
276
276
|
ResultType: 'entity_object'
|
|
@@ -475,7 +475,7 @@ export class TaskOrchestrator {
|
|
|
475
475
|
|
|
476
476
|
// Load the agent entity
|
|
477
477
|
const md = new Metadata();
|
|
478
|
-
const agentEntity = await md.GetEntityObject<
|
|
478
|
+
const agentEntity = await md.GetEntityObject<MJAIAgentEntityExtended>('MJ: AI Agents', this.contextUser);
|
|
479
479
|
const loaded = await agentEntity.Load(task.AgentID!);
|
|
480
480
|
if (!loaded) {
|
|
481
481
|
throw new Error(`Agent with ID ${task.AgentID} not found`);
|
|
@@ -695,7 +695,7 @@ export class TaskOrchestrator {
|
|
|
695
695
|
private async createArtifactFromOutput(
|
|
696
696
|
output: { type: 'message' | 'payload', content: any },
|
|
697
697
|
conversationDetailId: string,
|
|
698
|
-
agent:
|
|
698
|
+
agent: MJAIAgentEntityExtended,
|
|
699
699
|
taskName: string
|
|
700
700
|
): Promise<void> {
|
|
701
701
|
try {
|
package/src/types.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AggregateExpression, DatabaseProviderBase, UserInfo } from '@memberjunction/core';
|
|
2
|
-
import {
|
|
2
|
+
import { MJUserViewEntityExtended } from '@memberjunction/core-entities';
|
|
3
3
|
import { GraphQLSchema } from 'graphql';
|
|
4
4
|
import sql from 'mssql';
|
|
5
5
|
import { getSystemUser } from './auth/index.js';
|
|
@@ -68,7 +68,7 @@ export type DirectiveBuilder = {
|
|
|
68
68
|
};
|
|
69
69
|
|
|
70
70
|
export type RunViewGenericParams = {
|
|
71
|
-
viewInfo:
|
|
71
|
+
viewInfo: MJUserViewEntityExtended;
|
|
72
72
|
provider: DatabaseProviderBase;
|
|
73
73
|
extraFilter: string;
|
|
74
74
|
orderBy: string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entityPermissions.server.d.ts","sourceRoot":"","sources":["../../src/entitySubclasses/entityPermissions.server.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE;;;;;;GAMG;AACH,qBACa,8BAA+B,SAAQ,wBAAwB;IAC1E,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAM;IAC/C,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAQ;IACvD,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;IAChE,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAgC;IACzE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAoB;IACrD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAqB;IACnD,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAA6B;IAGlE,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,MAAM;IAI3C,WAAkB,aAAa,IAAI,MAAM,EAAE,CAE1C;WAEa,UAAU,IAAI,IAAI;WAIlB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMhD,SAAS,CAAC,MAAM,CAAC,yBAAyB,IAAI,IAAI;IAUlD,SAAS,CAAC,MAAM,CAAC,oBAAoB,IAAI,IAAI;qBAMtB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B1C,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAO7C,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;CAQtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entityPermissions.server.js","sourceRoot":"","sources":["../../src/entitySubclasses/entityPermissions.server.ts"],"names":[],"mappings":"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"}
|