@memberjunction/server 5.50.0 → 6.1.0-edge.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 (116) hide show
  1. package/LICENSE +7 -0
  2. package/dist/agentSessions/SessionManager.d.ts +22 -1
  3. package/dist/agentSessions/SessionManager.d.ts.map +1 -1
  4. package/dist/agentSessions/SessionManager.js +18 -3
  5. package/dist/agentSessions/SessionManager.js.map +1 -1
  6. package/dist/auth/actingContextResolver.d.ts +44 -0
  7. package/dist/auth/actingContextResolver.d.ts.map +1 -0
  8. package/dist/auth/actingContextResolver.js +18 -0
  9. package/dist/auth/actingContextResolver.js.map +1 -0
  10. package/dist/auth/index.d.ts +1 -0
  11. package/dist/auth/index.d.ts.map +1 -1
  12. package/dist/auth/index.js +1 -0
  13. package/dist/auth/index.js.map +1 -1
  14. package/dist/auth/sessionUserClone.d.ts +32 -0
  15. package/dist/auth/sessionUserClone.d.ts.map +1 -0
  16. package/dist/auth/sessionUserClone.js +50 -0
  17. package/dist/auth/sessionUserClone.js.map +1 -0
  18. package/dist/context.d.ts +1 -1
  19. package/dist/context.d.ts.map +1 -1
  20. package/dist/context.js +43 -6
  21. package/dist/context.js.map +1 -1
  22. package/dist/generated/generated.d.ts +71 -0
  23. package/dist/generated/generated.d.ts.map +1 -1
  24. package/dist/generated/generated.js +383 -3
  25. package/dist/generated/generated.js.map +1 -1
  26. package/dist/generic/FireAndForgetHeartbeat.d.ts +5 -0
  27. package/dist/generic/FireAndForgetHeartbeat.d.ts.map +1 -1
  28. package/dist/generic/FireAndForgetHeartbeat.js +5 -4
  29. package/dist/generic/FireAndForgetHeartbeat.js.map +1 -1
  30. package/dist/generic/PushStatusResolver.d.ts +58 -0
  31. package/dist/generic/PushStatusResolver.d.ts.map +1 -1
  32. package/dist/generic/PushStatusResolver.js +42 -3
  33. package/dist/generic/PushStatusResolver.js.map +1 -1
  34. package/dist/generic/ResolverBase.d.ts +9 -0
  35. package/dist/generic/ResolverBase.d.ts.map +1 -1
  36. package/dist/generic/ResolverBase.js +31 -13
  37. package/dist/generic/ResolverBase.js.map +1 -1
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +4 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/multiTenancy/index.d.ts +19 -0
  43. package/dist/multiTenancy/index.d.ts.map +1 -1
  44. package/dist/multiTenancy/index.js +82 -5
  45. package/dist/multiTenancy/index.js.map +1 -1
  46. package/dist/realtimeWidget/widgetGuestElevation.d.ts +22 -0
  47. package/dist/realtimeWidget/widgetGuestElevation.d.ts.map +1 -1
  48. package/dist/realtimeWidget/widgetGuestElevation.js +36 -0
  49. package/dist/realtimeWidget/widgetGuestElevation.js.map +1 -1
  50. package/dist/resolvers/ActionResolver.d.ts.map +1 -1
  51. package/dist/resolvers/ActionResolver.js +12 -5
  52. package/dist/resolvers/ActionResolver.js.map +1 -1
  53. package/dist/resolvers/MCPResolver.d.ts.map +1 -1
  54. package/dist/resolvers/MCPResolver.js +13 -16
  55. package/dist/resolvers/MCPResolver.js.map +1 -1
  56. package/dist/resolvers/RealtimeClientSessionResolver.d.ts +22 -1
  57. package/dist/resolvers/RealtimeClientSessionResolver.d.ts.map +1 -1
  58. package/dist/resolvers/RealtimeClientSessionResolver.js +90 -30
  59. package/dist/resolvers/RealtimeClientSessionResolver.js.map +1 -1
  60. package/dist/resolvers/RemoteBrowserActionResolver.d.ts.map +1 -1
  61. package/dist/resolvers/RemoteBrowserActionResolver.js +19 -26
  62. package/dist/resolvers/RemoteBrowserActionResolver.js.map +1 -1
  63. package/dist/resolvers/ReportResolver.d.ts.map +1 -1
  64. package/dist/resolvers/ReportResolver.js +11 -3
  65. package/dist/resolvers/ReportResolver.js.map +1 -1
  66. package/dist/resolvers/RunAIAgentResolver.d.ts.map +1 -1
  67. package/dist/resolvers/RunAIAgentResolver.js +30 -40
  68. package/dist/resolvers/RunAIAgentResolver.js.map +1 -1
  69. package/dist/resolvers/RunTestResolver.d.ts.map +1 -1
  70. package/dist/resolvers/RunTestResolver.js +90 -112
  71. package/dist/resolvers/RunTestResolver.js.map +1 -1
  72. package/dist/resolvers/SearchKnowledgeResolver.js +3 -3
  73. package/dist/resolvers/SearchKnowledgeResolver.js.map +1 -1
  74. package/dist/resolvers/SearchKnowledgeStreamResolver.js +2 -2
  75. package/dist/resolvers/SearchKnowledgeStreamResolver.js.map +1 -1
  76. package/dist/resolvers/VersionHistoryResolver.d.ts.map +1 -1
  77. package/dist/resolvers/VersionHistoryResolver.js +8 -12
  78. package/dist/resolvers/VersionHistoryResolver.js.map +1 -1
  79. package/dist/services/TaskOrchestrator.d.ts.map +1 -1
  80. package/dist/services/TaskOrchestrator.js +17 -15
  81. package/dist/services/TaskOrchestrator.js.map +1 -1
  82. package/package.json +100 -100
  83. package/src/__tests__/RealtimeBridgeResolver.test.ts +6 -0
  84. package/src/__tests__/RealtimeClientSessionResolver.test.ts +420 -0
  85. package/src/__tests__/SessionManager.test.ts +106 -0
  86. package/src/__tests__/multiTenancy.security.test.ts +254 -22
  87. package/src/__tests__/multiTenancy.test.ts +22 -0
  88. package/src/__tests__/pushStatusResolver.filter.test.ts +56 -0
  89. package/src/__tests__/resolverBase.rls.test.ts +4 -0
  90. package/src/__tests__/search-knowledge-tags.test.ts +74 -6
  91. package/src/__tests__/sessionUserClone.test.ts +161 -0
  92. package/src/__tests__/widgetGuestElevation.test.ts +70 -2
  93. package/src/agentSessions/SessionManager.ts +32 -3
  94. package/src/auth/actingContextResolver.ts +56 -0
  95. package/src/auth/index.ts +1 -0
  96. package/src/auth/sessionUserClone.ts +50 -0
  97. package/src/context.ts +48 -6
  98. package/src/generated/generated.ts +276 -3
  99. package/src/generic/FireAndForgetHeartbeat.ts +10 -4
  100. package/src/generic/PushStatusResolver.ts +79 -4
  101. package/src/generic/ResolverBase.ts +33 -13
  102. package/src/index.ts +4 -2
  103. package/src/multiTenancy/index.ts +92 -5
  104. package/src/realtimeWidget/widgetGuestElevation.ts +41 -0
  105. package/src/resolvers/ActionResolver.ts +15 -7
  106. package/src/resolvers/MCPResolver.ts +13 -15
  107. package/src/resolvers/RealtimeClientSessionResolver.ts +99 -29
  108. package/src/resolvers/RemoteBrowserActionResolver.ts +19 -25
  109. package/src/resolvers/ReportResolver.ts +11 -3
  110. package/src/resolvers/RunAIAgentResolver.ts +30 -40
  111. package/src/resolvers/RunTestResolver.ts +90 -112
  112. package/src/resolvers/SearchKnowledgeResolver.ts +3 -3
  113. package/src/resolvers/SearchKnowledgeStreamResolver.ts +2 -2
  114. package/src/resolvers/VersionHistoryResolver.ts +10 -13
  115. package/src/resolvers/__tests__/ReportResolver.test.ts +279 -0
  116. package/src/services/TaskOrchestrator.ts +17 -17
@@ -4,7 +4,7 @@ import { AgentRunner } from '@memberjunction/ai-agents';
4
4
  import { ChatMessageRole } from '@memberjunction/ai';
5
5
  import { PubSubEngine } from 'type-graphql';
6
6
  import { UserPayload } from '../types.js';
7
- import { PUSH_STATUS_UPDATES_TOPIC } from '../generic/PushStatusResolver.js';
7
+ import { publishStatusUpdate } from '../generic/PushStatusResolver.js';
8
8
  import { MJAIAgentEntityExtended } from '@memberjunction/ai-core-plus';
9
9
 
10
10
  /**
@@ -226,7 +226,10 @@ export class TaskOrchestrator {
226
226
  return;
227
227
  }
228
228
 
229
- const payload = {
229
+ LogStatus(`📡 Publishing task progress: ${taskName} - ${message} (${percentComplete}%) to session ${this.userPayload.sessionId}`);
230
+ publishStatusUpdate(this.pubSub, {
231
+ sessionId: this.userPayload.sessionId,
232
+ ownerUserId: this.userPayload.userRecord.ID,
230
233
  message: JSON.stringify({
231
234
  resolver: 'TaskOrchestrator',
232
235
  type: 'TaskProgress',
@@ -238,12 +241,8 @@ export class TaskOrchestrator {
238
241
  timestamp: new Date(),
239
242
  conversationDetailId: this.conversationDetailId
240
243
  }
241
- }),
242
- sessionId: this.userPayload.sessionId
243
- };
244
-
245
- LogStatus(`📡 Publishing task progress: ${taskName} - ${message} (${percentComplete}%) to session ${this.userPayload.sessionId}`);
246
- this.pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, payload);
244
+ })
245
+ });
247
246
 
248
247
  LogStatus(`[Task: ${taskName}] ${message} (${percentComplete}%)`);
249
248
  }
@@ -257,7 +256,10 @@ export class TaskOrchestrator {
257
256
  return;
258
257
  }
259
258
 
260
- const payload = {
259
+ LogStatus(`📡 Publishing agent progress: ${taskName} → ${agentStep} to session ${this.userPayload.sessionId}`);
260
+ publishStatusUpdate(this.pubSub, {
261
+ sessionId: this.userPayload.sessionId,
262
+ ownerUserId: this.userPayload.userRecord.ID,
261
263
  message: JSON.stringify({
262
264
  resolver: 'TaskOrchestrator',
263
265
  type: 'AgentProgress',
@@ -269,12 +271,8 @@ export class TaskOrchestrator {
269
271
  timestamp: new Date(),
270
272
  conversationDetailId: this.conversationDetailId
271
273
  }
272
- }),
273
- sessionId: this.userPayload.sessionId
274
- };
275
-
276
- LogStatus(`📡 Publishing agent progress: ${taskName} → ${agentStep} to session ${this.userPayload.sessionId}`);
277
- this.pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, payload);
274
+ })
275
+ });
278
276
 
279
277
  LogStatus(`[Task: ${taskName}] → ${agentStep}: ${agentMessage}`);
280
278
  }
@@ -851,8 +849,10 @@ export class TaskOrchestrator {
851
849
 
852
850
  // Publish real-time event if pubSub available
853
851
  if (this.pubSub && this.userPayload) {
854
- this.pubSub.publish(PUSH_STATUS_UPDATES_TOPIC, {
855
- userPayload: JSON.stringify(this.userPayload),
852
+ // NOTE (B49): normalized from a malformed no-sessionId payload
853
+ publishStatusUpdate(this.pubSub, {
854
+ sessionId: this.userPayload.sessionId,
855
+ ownerUserId: this.userPayload.userRecord.ID,
856
856
  message: JSON.stringify({
857
857
  type: 'notification',
858
858
  notificationId: notification.ID,