@memberjunction/ng-conversations 6.2.0-edge.4 → 6.2.0-edge.5

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 (95) hide show
  1. package/README.md +29 -0
  2. package/dist/lib/components/conversation/conversation-agent-picker.component.d.ts +1 -1
  3. package/dist/lib/components/conversation/conversation-agent-picker.component.js +3 -3
  4. package/dist/lib/components/conversation/conversation-agent-picker.component.js.map +1 -1
  5. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +75 -14
  6. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
  7. package/dist/lib/components/conversation/conversation-chat-area.component.js +711 -359
  8. package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
  9. package/dist/lib/components/message/message-input.component.js +9 -9
  10. package/dist/lib/components/message/message-input.component.js.map +1 -1
  11. package/dist/lib/components/message/message-item.component.d.ts +137 -16
  12. package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
  13. package/dist/lib/components/message/message-item.component.js +1361 -296
  14. package/dist/lib/components/message/message-item.component.js.map +1 -1
  15. package/dist/lib/components/message/message-list.component.d.ts +20 -2
  16. package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
  17. package/dist/lib/components/message/message-list.component.js +28 -4
  18. package/dist/lib/components/message/message-list.component.js.map +1 -1
  19. package/dist/lib/components/sidebar/routines-section.component.js +1 -1
  20. package/dist/lib/components/sidebar/routines-section.component.js.map +1 -1
  21. package/dist/lib/components/task/tasks-full-view.component.d.ts +152 -31
  22. package/dist/lib/components/task/tasks-full-view.component.d.ts.map +1 -1
  23. package/dist/lib/components/task/tasks-full-view.component.js +2227 -214
  24. package/dist/lib/components/task/tasks-full-view.component.js.map +1 -1
  25. package/dist/lib/components/tasks/tasks-dropdown.component.js +4 -4
  26. package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
  27. package/dist/lib/components/workspace/conversation-workspace.component.d.ts +11 -1
  28. package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
  29. package/dist/lib/components/workspace/conversation-workspace.component.js +25 -28
  30. package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
  31. package/dist/lib/services/agent-state.service.d.ts.map +1 -1
  32. package/dist/lib/services/agent-state.service.js +8 -8
  33. package/dist/lib/services/agent-state.service.js.map +1 -1
  34. package/dist/lib/services/browser-realtime-media-host.d.ts +7 -7
  35. package/dist/lib/services/browser-realtime-media-host.js +8 -78
  36. package/dist/lib/services/browser-realtime-media-host.js.map +1 -1
  37. package/dist/lib/services/conversation-agent.service.d.ts +16 -8
  38. package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
  39. package/dist/lib/services/conversation-agent.service.js +57 -27
  40. package/dist/lib/services/conversation-agent.service.js.map +1 -1
  41. package/dist/lib/services/conversation-naming.d.ts.map +1 -1
  42. package/dist/lib/services/conversation-naming.js +9 -2
  43. package/dist/lib/services/conversation-naming.js.map +1 -1
  44. package/dist/lib/services/conversation-tasks-filter.d.ts +15 -0
  45. package/dist/lib/services/conversation-tasks-filter.d.ts.map +1 -0
  46. package/dist/lib/services/conversation-tasks-filter.js +69 -0
  47. package/dist/lib/services/conversation-tasks-filter.js.map +1 -0
  48. package/dist/lib/services/realtime-audio-recorder.d.ts +94 -86
  49. package/dist/lib/services/realtime-audio-recorder.d.ts.map +1 -1
  50. package/dist/lib/services/realtime-audio-recorder.js +222 -195
  51. package/dist/lib/services/realtime-audio-recorder.js.map +1 -1
  52. package/dist/lib/services/realtime-session.service.d.ts +30 -2
  53. package/dist/lib/services/realtime-session.service.d.ts.map +1 -1
  54. package/dist/lib/services/realtime-session.service.js +33 -6
  55. package/dist/lib/services/realtime-session.service.js.map +1 -1
  56. package/dist/lib/services/recording/libopus-wasm-binary.d.ts +3 -0
  57. package/dist/lib/services/recording/libopus-wasm-binary.d.ts.map +1 -0
  58. package/dist/lib/services/recording/libopus-wasm-binary.js +489 -0
  59. package/dist/lib/services/recording/libopus-wasm-binary.js.map +1 -0
  60. package/dist/lib/services/recording/libopus-worker-source.d.ts +48 -0
  61. package/dist/lib/services/recording/libopus-worker-source.d.ts.map +1 -0
  62. package/dist/lib/services/recording/libopus-worker-source.js +170 -0
  63. package/dist/lib/services/recording/libopus-worker-source.js.map +1 -0
  64. package/dist/lib/services/recording/linear-resampler.d.ts +45 -0
  65. package/dist/lib/services/recording/linear-resampler.d.ts.map +1 -0
  66. package/dist/lib/services/recording/linear-resampler.js +85 -0
  67. package/dist/lib/services/recording/linear-resampler.js.map +1 -0
  68. package/dist/lib/services/recording/opus-packet-encoder.d.ts +50 -0
  69. package/dist/lib/services/recording/opus-packet-encoder.d.ts.map +1 -0
  70. package/dist/lib/services/recording/opus-packet-encoder.js +41 -0
  71. package/dist/lib/services/recording/opus-packet-encoder.js.map +1 -0
  72. package/dist/lib/services/recording/wasm-opus-encoder.d.ts +86 -0
  73. package/dist/lib/services/recording/wasm-opus-encoder.d.ts.map +1 -0
  74. package/dist/lib/services/recording/wasm-opus-encoder.js +232 -0
  75. package/dist/lib/services/recording/wasm-opus-encoder.js.map +1 -0
  76. package/dist/lib/services/recording/webcodecs-opus-encoder.d.ts +39 -0
  77. package/dist/lib/services/recording/webcodecs-opus-encoder.d.ts.map +1 -0
  78. package/dist/lib/services/recording/webcodecs-opus-encoder.js +101 -0
  79. package/dist/lib/services/recording/webcodecs-opus-encoder.js.map +1 -0
  80. package/dist/lib/services/search.service.d.ts.map +1 -1
  81. package/dist/lib/services/search.service.js +3 -16
  82. package/dist/lib/services/search.service.js.map +1 -1
  83. package/dist/lib/utils/distinct-artifacts.d.ts +9 -3
  84. package/dist/lib/utils/distinct-artifacts.d.ts.map +1 -1
  85. package/dist/lib/utils/distinct-artifacts.js +24 -5
  86. package/dist/lib/utils/distinct-artifacts.js.map +1 -1
  87. package/package.json +36 -36
  88. package/dist/lib/services/browser-recording-unload-guard.d.ts +0 -30
  89. package/dist/lib/services/browser-recording-unload-guard.d.ts.map +0 -1
  90. package/dist/lib/services/browser-recording-unload-guard.js +0 -43
  91. package/dist/lib/services/browser-recording-unload-guard.js.map +0 -1
  92. package/dist/lib/services/realtime-pcm-wav.d.ts +0 -79
  93. package/dist/lib/services/realtime-pcm-wav.d.ts.map +0 -1
  94. package/dist/lib/services/realtime-pcm-wav.js +0 -213
  95. package/dist/lib/services/realtime-pcm-wav.js.map +0 -1
@@ -2079,7 +2079,7 @@ export class MessageInputComponent extends BaseAngularComponent {
2079
2079
  */
2080
2080
  buildRoutingDecisionInput(message, continuityAgentId) {
2081
2081
  const history = this.ConversationHistory.filter(row => this.isWithinHistoryFloor(row) && !UUIDsEqual(row.ID, message.ID));
2082
- const findAgent = (agentId) => AIEngineBase.Instance.Agents.find(a => UUIDsEqual(a.ID, agentId));
2082
+ const findAgent = (agentId) => AIEngineBase.Instance.ReadableAgents.find(a => UUIDsEqual(a.ID, agentId));
2083
2083
  const runnable = this.mentionAutocomplete.GetAvailableAgents();
2084
2084
  const findRunnable = (agentId) => runnable.find(a => UUIDsEqual(a.ID, agentId));
2085
2085
  const manager = this.ConverationManagerAgent;
@@ -2287,15 +2287,15 @@ export class MessageInputComponent extends BaseAngularComponent {
2287
2287
  }
2288
2288
  /** True when the agent is in the client's agent catalog. */
2289
2289
  isKnownAgent(agentId) {
2290
- return AIEngineBase.Instance.Agents.some(a => UUIDsEqual(a.ID, agentId));
2290
+ return AIEngineBase.Instance.ReadableAgents.some(a => UUIDsEqual(a.ID, agentId));
2291
2291
  }
2292
2292
  /** The agent's name, when the client's agent catalog has it. */
2293
2293
  agentNameFor(agentId) {
2294
- return AIEngineBase.Instance.Agents.find(a => UUIDsEqual(a.ID, agentId))?.Name ?? null;
2294
+ return AIEngineBase.Instance.ReadableAgents.find(a => UUIDsEqual(a.ID, agentId))?.Name ?? null;
2295
2295
  }
2296
2296
  /** The ID of the agent with this name, or null when there is none. */
2297
2297
  agentIdByName(agentName) {
2298
- return AIEngineBase.Instance.Agents.find(a => a.Name === agentName)?.ID ?? null;
2298
+ return AIEngineBase.Instance.ReadableAgents.find(a => a.Name === agentName)?.ID ?? null;
2299
2299
  }
2300
2300
  /** True when the agent is MJ's conversation manager. */
2301
2301
  isConversationManager(agentId) {
@@ -2842,7 +2842,7 @@ export class MessageInputComponent extends BaseAngularComponent {
2842
2842
  let agentResponseMessage = null;
2843
2843
  try {
2844
2844
  // Look up the agent to get its ID
2845
- const agent = AIEngineBase.Instance.Agents.find(a => a.Name === agentName);
2845
+ const agent = AIEngineBase.Instance.ReadableAgents.find(a => a.Name === agentName);
2846
2846
  // The manager routes only among the allowed agents, but its answer is model output: hold
2847
2847
  // the host's list here too, before any row is written for the delegate.
2848
2848
  if (this.AllowedAgentIDs != null && !IsAgentAllowed(agent?.ID, this.AllowedAgentIDs)) {
@@ -2984,7 +2984,7 @@ export class MessageInputComponent extends BaseAngularComponent {
2984
2984
  return;
2985
2985
  }
2986
2986
  // Load the agent entity to get its name
2987
- const previousAgent = AIEngineBase.Instance.Agents.find(a => UUIDsEqual(a.ID, lastAIMessage.AgentID));
2987
+ const previousAgent = AIEngineBase.Instance.ReadableAgents.find(a => UUIDsEqual(a.ID, lastAIMessage.AgentID));
2988
2988
  if (!previousAgent) {
2989
2989
  console.warn('⚠️ Could not load previous agent - marking complete');
2990
2990
  await this.updateConversationDetail(userMessage, userMessage.Message, 'Complete');
@@ -3086,7 +3086,7 @@ export class MessageInputComponent extends BaseAngularComponent {
3086
3086
  await userMessage.Save();
3087
3087
  this.MessageSent.emit(userMessage);
3088
3088
  // Look up the agent to get its ID
3089
- const agent = AIEngineBase.Instance.Agents.find(a => a.Name === agentName);
3089
+ const agent = AIEngineBase.Instance.ReadableAgents.find(a => a.Name === agentName);
3090
3090
  // Create AI response message BEFORE invoking agent (for duration tracking)
3091
3091
  agentResponseMessage = await this.createTurnRow(conversationId, branchId);
3092
3092
  agentResponseMessage.Message = '⏳ Starting...'; // Initial message
@@ -3163,7 +3163,7 @@ export class MessageInputComponent extends BaseAngularComponent {
3163
3163
  */
3164
3164
  async continueWithAgent(userMessage, agentId, conversationId, branchId, targetArtifactVersionId) {
3165
3165
  // Load the agent entity to get its name
3166
- const agent = AIEngineBase.Instance.Agents.find(a => UUIDsEqual(a.ID, agentId));
3166
+ const agent = AIEngineBase.Instance.ReadableAgents.find(a => UUIDsEqual(a.ID, agentId));
3167
3167
  if (!agent) {
3168
3168
  if (!IsAgentAllowed(this.ConverationManagerAgent?.ID, this.AllowedAgentIDs)) {
3169
3169
  console.warn('⚠️ Could not load agent for continuation, and Sage is not allowed in this chat');
@@ -3458,7 +3458,7 @@ export class MessageInputComponent extends BaseAngularComponent {
3458
3458
  // (when the run produced an artifact); the shared dedupe key folds the two into one
3459
3459
  // toast, and this wording — the later of the two — is what stays on screen.
3460
3460
  const agent = task.agentId
3461
- ? AIEngineBase.Instance.Agents.find(a => UUIDsEqual(a.ID, task.agentId))
3461
+ ? AIEngineBase.Instance.ReadableAgents.find(a => UUIDsEqual(a.ID, task.agentId))
3462
3462
  : undefined;
3463
3463
  // The task carries the name from send time; the engine has the current one (the
3464
3464
  // first exchange auto-names the conversation). The placeholder a brand-new