@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.
Files changed (41) hide show
  1. package/README.md +2 -1
  2. package/dist/entitySubclasses/{entityPermissions.server.d.ts → MJEntityPermissionEntityServer.server.d.ts} +2 -2
  3. package/dist/entitySubclasses/MJEntityPermissionEntityServer.server.d.ts.map +1 -0
  4. package/dist/entitySubclasses/{entityPermissions.server.js → MJEntityPermissionEntityServer.server.js} +9 -9
  5. package/dist/entitySubclasses/MJEntityPermissionEntityServer.server.js.map +1 -0
  6. package/dist/generic/ResolverBase.d.ts +2 -2
  7. package/dist/generic/ResolverBase.d.ts.map +1 -1
  8. package/dist/generic/ResolverBase.js.map +1 -1
  9. package/dist/generic/RunViewResolver.js.map +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/resolvers/AdhocQueryResolver.d.ts +28 -0
  15. package/dist/resolvers/AdhocQueryResolver.d.ts.map +1 -0
  16. package/dist/resolvers/AdhocQueryResolver.js +140 -0
  17. package/dist/resolvers/AdhocQueryResolver.js.map +1 -0
  18. package/dist/resolvers/CreateQueryResolver.js +2 -2
  19. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  20. package/dist/resolvers/RunAIPromptResolver.js.map +1 -1
  21. package/dist/resolvers/RunTemplateResolver.js.map +1 -1
  22. package/dist/resolvers/UserViewResolver.js.map +1 -1
  23. package/dist/services/TaskOrchestrator.js.map +1 -1
  24. package/dist/types.d.ts +2 -2
  25. package/dist/types.d.ts.map +1 -1
  26. package/package.json +52 -52
  27. package/src/__tests__/AdhocQueryResolver.test.ts +175 -0
  28. package/src/entitySubclasses/{entityPermissions.server.ts → MJEntityPermissionEntityServer.server.ts} +3 -3
  29. package/src/generic/ResolverBase.ts +9 -9
  30. package/src/generic/RunViewResolver.ts +4 -4
  31. package/src/index.ts +1 -1
  32. package/src/resolvers/AdhocQueryResolver.ts +126 -0
  33. package/src/resolvers/CreateQueryResolver.ts +5 -5
  34. package/src/resolvers/RunAIAgentResolver.ts +4 -4
  35. package/src/resolvers/RunAIPromptResolver.ts +7 -7
  36. package/src/resolvers/RunTemplateResolver.ts +2 -2
  37. package/src/resolvers/UserViewResolver.ts +2 -2
  38. package/src/services/TaskOrchestrator.ts +5 -5
  39. package/src/types.ts +2 -2
  40. package/dist/entitySubclasses/entityPermissions.server.d.ts.map +0 -1
  41. 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 { AIPromptEntityExtended, AIModelEntityExtended } from '@memberjunction/ai-core-plus';
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<AIPromptEntityExtended>('MJ: AI Prompts', currentUser);
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<AIModelEntityExtended> {
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: AIModelEntityExtended[] = [];
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: AIModelEntityExtended;
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): AIModelEntityExtended {
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: AIModelEntityExtended, executionTime: number): SimplePromptResult {
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, TemplateEntityExtended } from '@memberjunction/core-entities';
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<TemplateEntityExtended>('MJ: Templates', currentUser);
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, UserViewEntityExtended } from '@memberjunction/core-entities';
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 = <UserViewEntityExtended>await p.GetEntityObject('MJ: User Views', u);
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 { AIAgentEntityExtended } from '@memberjunction/ai-core-plus';
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<AIAgentEntityExtended | null> {
271
+ private async findAgentByName(agentName: string): Promise<MJAIAgentEntityExtended | null> {
272
272
  const rv = new RunView();
273
- const result = await rv.RunView<AIAgentEntityExtended>({
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<AIAgentEntityExtended>('MJ: AI Agents', this.contextUser);
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: AIAgentEntityExtended,
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 { UserViewEntityExtended } from '@memberjunction/core-entities';
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: UserViewEntityExtended;
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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"}