@memberjunction/ng-conversations 5.37.0 → 5.38.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 (56) hide show
  1. package/README.md +2 -2
  2. package/dist/lib/components/conversation/conversation-agent-picker.component.d.ts +47 -0
  3. package/dist/lib/components/conversation/conversation-agent-picker.component.d.ts.map +1 -0
  4. package/dist/lib/components/conversation/conversation-agent-picker.component.js +253 -0
  5. package/dist/lib/components/conversation/conversation-agent-picker.component.js.map +1 -0
  6. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +148 -11
  7. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
  8. package/dist/lib/components/conversation/conversation-chat-area.component.js +498 -261
  9. package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
  10. package/dist/lib/components/conversation/conversation-empty-state.component.d.ts +2 -1
  11. package/dist/lib/components/conversation/conversation-empty-state.component.d.ts.map +1 -1
  12. package/dist/lib/components/conversation/conversation-empty-state.component.js +6 -3
  13. package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
  14. package/dist/lib/components/conversation/conversation-mode-picker.component.d.ts +57 -0
  15. package/dist/lib/components/conversation/conversation-mode-picker.component.d.ts.map +1 -0
  16. package/dist/lib/components/conversation/conversation-mode-picker.component.js +252 -0
  17. package/dist/lib/components/conversation/conversation-mode-picker.component.js.map +1 -0
  18. package/dist/lib/components/message/message-input.component.d.ts +51 -3
  19. package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
  20. package/dist/lib/components/message/message-input.component.js +107 -18
  21. package/dist/lib/components/message/message-input.component.js.map +1 -1
  22. package/dist/lib/components/message/message-item.component.d.ts +0 -13
  23. package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
  24. package/dist/lib/components/message/message-item.component.js +124 -150
  25. package/dist/lib/components/message/message-item.component.js.map +1 -1
  26. package/dist/lib/components/overlay/chat-overlay.component.d.ts +15 -0
  27. package/dist/lib/components/overlay/chat-overlay.component.d.ts.map +1 -1
  28. package/dist/lib/components/overlay/chat-overlay.component.js +123 -46
  29. package/dist/lib/components/overlay/chat-overlay.component.js.map +1 -1
  30. package/dist/lib/components/workspace/conversation-workspace.component.d.ts +11 -0
  31. package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
  32. package/dist/lib/components/workspace/conversation-workspace.component.js +13 -3
  33. package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
  34. package/dist/lib/conversations.module.d.ts +59 -58
  35. package/dist/lib/conversations.module.d.ts.map +1 -1
  36. package/dist/lib/conversations.module.js +8 -4
  37. package/dist/lib/conversations.module.js.map +1 -1
  38. package/dist/lib/models/conversation-state.model.d.ts +0 -27
  39. package/dist/lib/models/conversation-state.model.d.ts.map +1 -1
  40. package/dist/lib/models/conversation-state.model.js.map +1 -1
  41. package/dist/lib/services/conversation-agent.service.d.ts +1 -9
  42. package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
  43. package/dist/lib/services/conversation-agent.service.js +22 -121
  44. package/dist/lib/services/conversation-agent.service.js.map +1 -1
  45. package/dist/lib/services/conversation-attachment.service.d.ts.map +1 -1
  46. package/dist/lib/services/conversation-attachment.service.js +5 -26
  47. package/dist/lib/services/conversation-attachment.service.js.map +1 -1
  48. package/dist/lib/services/conversation-bridge.service.d.ts +13 -0
  49. package/dist/lib/services/conversation-bridge.service.d.ts.map +1 -1
  50. package/dist/lib/services/conversation-bridge.service.js +15 -0
  51. package/dist/lib/services/conversation-bridge.service.js.map +1 -1
  52. package/package.json +23 -22
  53. package/dist/lib/components/message/suggested-responses.component.d.ts +0 -55
  54. package/dist/lib/components/message/suggested-responses.component.d.ts.map +0 -1
  55. package/dist/lib/components/message/suggested-responses.component.js +0 -207
  56. package/dist/lib/components/message/suggested-responses.component.js.map +0 -1
@@ -19,7 +19,6 @@ import { MessageItemComponent } from './components/message/message-item.componen
19
19
  import { MessageListComponent } from './components/message/message-list.component';
20
20
  import { MessageInputComponent } from './components/message/message-input.component';
21
21
  import { MessageInputBoxComponent } from './components/message/message-input-box.component';
22
- import { SuggestedResponsesComponent } from './components/message/suggested-responses.component';
23
22
  import { DynamicFormsModule } from '@memberjunction/ng-forms';
24
23
  import { ActionableCommandsComponent } from './components/message/actionable-commands.component';
25
24
  import { MentionDropdownComponent } from './components/mention/mention-dropdown.component';
@@ -31,6 +30,8 @@ import { ConversationSidebarComponent } from './components/sidebar/conversation-
31
30
  import { ConversationListComponent } from './components/conversation/conversation-list.component';
32
31
  import { ConversationChatAreaComponent } from './components/conversation/conversation-chat-area.component';
33
32
  import { ConversationEmptyStateComponent } from './components/conversation/conversation-empty-state.component';
33
+ import { ConversationAgentPickerComponent } from './components/conversation/conversation-agent-picker.component';
34
+ import { ConversationModePickerComponent } from './components/conversation/conversation-mode-picker.component';
34
35
  import { ThreadPanelComponent } from './components/thread/thread-panel.component';
35
36
  import { CollectionTreeComponent } from './components/collection/collection-tree.component';
36
37
  import { CollectionViewComponent } from './components/collection/collection-view.component';
@@ -73,7 +74,6 @@ const COMPONENTS = [
73
74
  MessageListComponent,
74
75
  MessageInputComponent,
75
76
  MessageInputBoxComponent,
76
- SuggestedResponsesComponent,
77
77
  ActionableCommandsComponent,
78
78
  MentionDropdownComponent,
79
79
  MentionEditorComponent,
@@ -84,6 +84,8 @@ const COMPONENTS = [
84
84
  ConversationListComponent,
85
85
  ConversationChatAreaComponent,
86
86
  ConversationEmptyStateComponent,
87
+ ConversationAgentPickerComponent,
88
+ ConversationModePickerComponent,
87
89
  ThreadPanelComponent,
88
90
  CollectionTreeComponent,
89
91
  CollectionViewComponent,
@@ -182,7 +184,6 @@ export class ConversationsModule {
182
184
  MessageListComponent,
183
185
  MessageInputComponent,
184
186
  MessageInputBoxComponent,
185
- SuggestedResponsesComponent,
186
187
  ActionableCommandsComponent,
187
188
  MentionDropdownComponent,
188
189
  MentionEditorComponent,
@@ -193,6 +194,8 @@ export class ConversationsModule {
193
194
  ConversationListComponent,
194
195
  ConversationChatAreaComponent,
195
196
  ConversationEmptyStateComponent,
197
+ ConversationAgentPickerComponent,
198
+ ConversationModePickerComponent,
196
199
  ThreadPanelComponent,
197
200
  CollectionTreeComponent,
198
201
  CollectionViewComponent,
@@ -246,7 +249,6 @@ export class ConversationsModule {
246
249
  MessageListComponent,
247
250
  MessageInputComponent,
248
251
  MessageInputBoxComponent,
249
- SuggestedResponsesComponent,
250
252
  ActionableCommandsComponent,
251
253
  MentionDropdownComponent,
252
254
  MentionEditorComponent,
@@ -257,6 +259,8 @@ export class ConversationsModule {
257
259
  ConversationListComponent,
258
260
  ConversationChatAreaComponent,
259
261
  ConversationEmptyStateComponent,
262
+ ConversationAgentPickerComponent,
263
+ ConversationModePickerComponent,
260
264
  ThreadPanelComponent,
261
265
  CollectionTreeComponent,
262
266
  CollectionViewComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.module.js","sourceRoot":"","sources":["../../src/lib/conversations.module.ts"],"names":[],"mappings":"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","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\n// MJ UI Components\nimport { MJButtonDirective, MJDatepickerComponent, MJDialogComponent, MJDialogActionsComponent } from '@memberjunction/ng-ui-components';\n\n// MemberJunction modules\nimport { ContainerDirectivesModule } from '@memberjunction/ng-container-directives';\nimport { CodeEditorModule } from '@memberjunction/ng-code-editor';\nimport { ArtifactsModule } from '@memberjunction/ng-artifacts';\nimport { TestingModule } from '@memberjunction/ng-testing';\nimport { SharedGenericModule } from '@memberjunction/ng-shared-generic';\n\n// Markdown module\nimport { MarkdownModule } from '@memberjunction/ng-markdown';\n\n// Resource permissions (generic share dialog)\nimport { ResourcePermissionsModule } from '@memberjunction/ng-resource-permissions';\n\n// Components\nimport { MessageItemComponent } from './components/message/message-item.component';\nimport { MessageListComponent } from './components/message/message-list.component';\nimport { MessageInputComponent } from './components/message/message-input.component';\nimport { MessageInputBoxComponent } from './components/message/message-input-box.component';\nimport { SuggestedResponsesComponent } from './components/message/suggested-responses.component';\nimport { DynamicFormsModule } from '@memberjunction/ng-forms';\nimport { ActionableCommandsComponent } from './components/message/actionable-commands.component';\nimport { MentionDropdownComponent } from './components/mention/mention-dropdown.component';\nimport { MentionEditorComponent } from './components/mention/mention-editor.component';\nimport { ConversationMessageRatingComponent } from './components/message/conversation-message-rating.component';\nimport { ConversationWorkspaceComponent } from './components/workspace/conversation-workspace.component';\nimport { ConversationNavigationComponent } from './components/navigation/conversation-navigation.component';\nimport { ConversationSidebarComponent } from './components/sidebar/conversation-sidebar.component';\nimport { ConversationListComponent } from './components/conversation/conversation-list.component';\nimport { ConversationChatAreaComponent } from './components/conversation/conversation-chat-area.component';\nimport { ConversationEmptyStateComponent } from './components/conversation/conversation-empty-state.component';\nimport { ThreadPanelComponent } from './components/thread/thread-panel.component';\nimport { CollectionTreeComponent } from './components/collection/collection-tree.component';\nimport { CollectionViewComponent } from './components/collection/collection-view.component';\nimport { CollectionArtifactCardComponent } from './components/collection/collection-artifact-card.component';\nimport { LibraryFullViewComponent } from './components/library/library-full-view.component';\nimport { CollectionFormModalComponent } from './components/collection/collection-form-modal.component';\nimport { ArtifactCreateModalComponent } from './components/collection/artifact-create-modal.component';\nimport { CollectionsFullViewComponent } from './components/collection/collections-full-view.component';\nimport { ProjectSelectorComponent } from './components/project/project-selector.component';\nimport { ProjectFormModalComponent } from './components/project/project-form-modal.component';\nimport { TasksFullViewComponent } from './components/task/tasks-full-view.component';\nimport { TasksDropdownComponent } from './components/tasks/tasks-dropdown.component';\nimport { TaskWidgetComponent } from './components/tasks/task-widget.component';\nimport { AgentProcessPanelComponent } from './components/agent/agent-process-panel.component';\nimport { ActiveAgentIndicatorComponent } from './components/agent/active-agent-indicator.component';\nimport { ActiveTasksPanelComponent } from './components/active-tasks/active-tasks-panel.component';\nimport { ShareModalComponent } from './components/share/share-modal.component';\nimport { MembersModalComponent } from './components/members/members-modal.component';\nimport { ExportModalComponent } from './components/export/export-modal.component';\nimport { SearchPanelComponent } from './components/search/search-panel.component';\nimport { NotificationBadgeComponent } from './components/notification/notification-badge.component';\nimport { ActivityIndicatorComponent } from './components/notification/activity-indicator.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport { InputDialogComponent } from './components/dialogs/input-dialog.component';\nimport { RatingDialogComponent } from './components/dialogs/rating-dialog.component';\nimport { CollectionShareModalComponent } from './components/collection/collection-share-modal.component';\nimport { UserPickerComponent } from './components/shared/user-picker.component';\nimport { ArtifactCollectionPickerModalComponent } from './components/collection/artifact-collection-picker-modal.component';\nimport { ArtifactShareModalComponent } from './components/artifact/artifact-share-modal.component';\nimport { GlobalTasksPanelComponent } from './components/global-tasks/global-tasks-panel.component';\nimport { ImageViewerComponent } from './components/attachment/image-viewer.component';\nimport { PinnedMessagesPanelComponent } from './components/conversation/pinned-messages-panel.component';\nimport { ChatAgentsOverlayComponent } from './components/overlay/chat-overlay.component';\n\n// Directives\nimport { SearchShortcutDirective } from './directives/search-shortcut.directive';\n\n// Export all components (excluding standalone components)\nconst COMPONENTS = [\n MessageItemComponent,\n MessageListComponent,\n MessageInputComponent,\n MessageInputBoxComponent,\n SuggestedResponsesComponent,\n ActionableCommandsComponent,\n MentionDropdownComponent,\n MentionEditorComponent,\n ConversationMessageRatingComponent,\n ConversationWorkspaceComponent,\n ConversationNavigationComponent,\n ConversationSidebarComponent,\n ConversationListComponent,\n ConversationChatAreaComponent,\n ConversationEmptyStateComponent,\n ThreadPanelComponent,\n CollectionTreeComponent,\n CollectionViewComponent,\n CollectionArtifactCardComponent,\n LibraryFullViewComponent,\n CollectionFormModalComponent,\n ArtifactCreateModalComponent,\n CollectionsFullViewComponent,\n ProjectSelectorComponent,\n ProjectFormModalComponent,\n // TasksFullViewComponent - now standalone, imported below\n TasksDropdownComponent,\n TaskWidgetComponent,\n AgentProcessPanelComponent,\n ActiveAgentIndicatorComponent,\n ActiveTasksPanelComponent,\n ShareModalComponent,\n MembersModalComponent,\n ExportModalComponent,\n SearchPanelComponent,\n NotificationBadgeComponent,\n ActivityIndicatorComponent,\n ToastComponent,\n InputDialogComponent,\n RatingDialogComponent,\n GlobalTasksPanelComponent,\n ImageViewerComponent,\n PinnedMessagesPanelComponent,\n ChatAgentsOverlayComponent\n];\n\n@NgModule({\n declarations: [\n ...COMPONENTS,\n SearchShortcutDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n MJButtonDirective,\n MJDatepickerComponent,\n MJDialogComponent,\n MJDialogActionsComponent,\n ContainerDirectivesModule,\n CodeEditorModule,\n ArtifactsModule,\n TestingModule,\n SharedGenericModule,\n MarkdownModule,\n DynamicFormsModule,\n ResourcePermissionsModule,\n // Standalone components\n TasksFullViewComponent,\n CollectionShareModalComponent,\n UserPickerComponent,\n ArtifactCollectionPickerModalComponent,\n ArtifactShareModalComponent\n ],\n exports: [\n ...COMPONENTS,\n SearchShortcutDirective,\n // Standalone components\n TasksFullViewComponent\n ]\n})\nexport class ConversationsModule { }"]}
1
+ {"version":3,"file":"conversations.module.js","sourceRoot":"","sources":["../../src/lib/conversations.module.ts"],"names":[],"mappings":"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","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\n\n// MJ UI Components\nimport { MJButtonDirective, MJDatepickerComponent, MJDialogComponent, MJDialogActionsComponent } from '@memberjunction/ng-ui-components';\n\n// MemberJunction modules\nimport { ContainerDirectivesModule } from '@memberjunction/ng-container-directives';\nimport { CodeEditorModule } from '@memberjunction/ng-code-editor';\nimport { ArtifactsModule } from '@memberjunction/ng-artifacts';\nimport { TestingModule } from '@memberjunction/ng-testing';\nimport { SharedGenericModule } from '@memberjunction/ng-shared-generic';\n\n// Markdown module\nimport { MarkdownModule } from '@memberjunction/ng-markdown';\n\n// Resource permissions (generic share dialog)\nimport { ResourcePermissionsModule } from '@memberjunction/ng-resource-permissions';\n\n// Components\nimport { MessageItemComponent } from './components/message/message-item.component';\nimport { MessageListComponent } from './components/message/message-list.component';\nimport { MessageInputComponent } from './components/message/message-input.component';\nimport { MessageInputBoxComponent } from './components/message/message-input-box.component';\nimport { DynamicFormsModule } from '@memberjunction/ng-forms';\nimport { ActionableCommandsComponent } from './components/message/actionable-commands.component';\nimport { MentionDropdownComponent } from './components/mention/mention-dropdown.component';\nimport { MentionEditorComponent } from './components/mention/mention-editor.component';\nimport { ConversationMessageRatingComponent } from './components/message/conversation-message-rating.component';\nimport { ConversationWorkspaceComponent } from './components/workspace/conversation-workspace.component';\nimport { ConversationNavigationComponent } from './components/navigation/conversation-navigation.component';\nimport { ConversationSidebarComponent } from './components/sidebar/conversation-sidebar.component';\nimport { ConversationListComponent } from './components/conversation/conversation-list.component';\nimport { ConversationChatAreaComponent } from './components/conversation/conversation-chat-area.component';\nimport { ConversationEmptyStateComponent } from './components/conversation/conversation-empty-state.component';\nimport { ConversationAgentPickerComponent } from './components/conversation/conversation-agent-picker.component';\nimport { ConversationModePickerComponent } from './components/conversation/conversation-mode-picker.component';\nimport { ThreadPanelComponent } from './components/thread/thread-panel.component';\nimport { CollectionTreeComponent } from './components/collection/collection-tree.component';\nimport { CollectionViewComponent } from './components/collection/collection-view.component';\nimport { CollectionArtifactCardComponent } from './components/collection/collection-artifact-card.component';\nimport { LibraryFullViewComponent } from './components/library/library-full-view.component';\nimport { CollectionFormModalComponent } from './components/collection/collection-form-modal.component';\nimport { ArtifactCreateModalComponent } from './components/collection/artifact-create-modal.component';\nimport { CollectionsFullViewComponent } from './components/collection/collections-full-view.component';\nimport { ProjectSelectorComponent } from './components/project/project-selector.component';\nimport { ProjectFormModalComponent } from './components/project/project-form-modal.component';\nimport { TasksFullViewComponent } from './components/task/tasks-full-view.component';\nimport { TasksDropdownComponent } from './components/tasks/tasks-dropdown.component';\nimport { TaskWidgetComponent } from './components/tasks/task-widget.component';\nimport { AgentProcessPanelComponent } from './components/agent/agent-process-panel.component';\nimport { ActiveAgentIndicatorComponent } from './components/agent/active-agent-indicator.component';\nimport { ActiveTasksPanelComponent } from './components/active-tasks/active-tasks-panel.component';\nimport { ShareModalComponent } from './components/share/share-modal.component';\nimport { MembersModalComponent } from './components/members/members-modal.component';\nimport { ExportModalComponent } from './components/export/export-modal.component';\nimport { SearchPanelComponent } from './components/search/search-panel.component';\nimport { NotificationBadgeComponent } from './components/notification/notification-badge.component';\nimport { ActivityIndicatorComponent } from './components/notification/activity-indicator.component';\nimport { ToastComponent } from './components/toast/toast.component';\nimport { InputDialogComponent } from './components/dialogs/input-dialog.component';\nimport { RatingDialogComponent } from './components/dialogs/rating-dialog.component';\nimport { CollectionShareModalComponent } from './components/collection/collection-share-modal.component';\nimport { UserPickerComponent } from './components/shared/user-picker.component';\nimport { ArtifactCollectionPickerModalComponent } from './components/collection/artifact-collection-picker-modal.component';\nimport { ArtifactShareModalComponent } from './components/artifact/artifact-share-modal.component';\nimport { GlobalTasksPanelComponent } from './components/global-tasks/global-tasks-panel.component';\nimport { ImageViewerComponent } from './components/attachment/image-viewer.component';\nimport { PinnedMessagesPanelComponent } from './components/conversation/pinned-messages-panel.component';\nimport { ChatAgentsOverlayComponent } from './components/overlay/chat-overlay.component';\n\n// Directives\nimport { SearchShortcutDirective } from './directives/search-shortcut.directive';\n\n// Export all components (excluding standalone components)\nconst COMPONENTS = [\n MessageItemComponent,\n MessageListComponent,\n MessageInputComponent,\n MessageInputBoxComponent,\n ActionableCommandsComponent,\n MentionDropdownComponent,\n MentionEditorComponent,\n ConversationMessageRatingComponent,\n ConversationWorkspaceComponent,\n ConversationNavigationComponent,\n ConversationSidebarComponent,\n ConversationListComponent,\n ConversationChatAreaComponent,\n ConversationEmptyStateComponent,\n ConversationAgentPickerComponent,\n ConversationModePickerComponent,\n ThreadPanelComponent,\n CollectionTreeComponent,\n CollectionViewComponent,\n CollectionArtifactCardComponent,\n LibraryFullViewComponent,\n CollectionFormModalComponent,\n ArtifactCreateModalComponent,\n CollectionsFullViewComponent,\n ProjectSelectorComponent,\n ProjectFormModalComponent,\n // TasksFullViewComponent - now standalone, imported below\n TasksDropdownComponent,\n TaskWidgetComponent,\n AgentProcessPanelComponent,\n ActiveAgentIndicatorComponent,\n ActiveTasksPanelComponent,\n ShareModalComponent,\n MembersModalComponent,\n ExportModalComponent,\n SearchPanelComponent,\n NotificationBadgeComponent,\n ActivityIndicatorComponent,\n ToastComponent,\n InputDialogComponent,\n RatingDialogComponent,\n GlobalTasksPanelComponent,\n ImageViewerComponent,\n PinnedMessagesPanelComponent,\n ChatAgentsOverlayComponent\n];\n\n@NgModule({\n declarations: [\n ...COMPONENTS,\n SearchShortcutDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n RouterModule,\n MJButtonDirective,\n MJDatepickerComponent,\n MJDialogComponent,\n MJDialogActionsComponent,\n ContainerDirectivesModule,\n CodeEditorModule,\n ArtifactsModule,\n TestingModule,\n SharedGenericModule,\n MarkdownModule,\n DynamicFormsModule,\n ResourcePermissionsModule,\n // Standalone components\n TasksFullViewComponent,\n CollectionShareModalComponent,\n UserPickerComponent,\n ArtifactCollectionPickerModalComponent,\n ArtifactShareModalComponent\n ],\n exports: [\n ...COMPONENTS,\n SearchShortcutDirective,\n // Standalone components\n TasksFullViewComponent\n ]\n})\nexport class ConversationsModule { }"]}
@@ -99,31 +99,4 @@ export interface MentionParseResult {
99
99
  agentMention: Mention | null;
100
100
  userMentions: Mention[];
101
101
  }
102
- /**
103
- * Suggested response option for quick user replies
104
- * These are displayed as interactive buttons below AI messages to streamline conversation flow
105
- */
106
- export interface SuggestedResponse {
107
- /** Display text for the button or input placeholder */
108
- text: string;
109
- /** Whether to show an input field (uses text as placeholder) instead of a button */
110
- allowInput: boolean;
111
- /** Optional Font Awesome icon class (e.g., "fa fa-leaf", "fa fa-pencil") */
112
- iconClass?: string;
113
- /** Optional data payload to include when response is selected */
114
- data?: Record<string, any>;
115
- }
116
- /**
117
- * Parse result for suggested responses from a conversation detail
118
- */
119
- export interface ParsedSuggestedResponses {
120
- /** Array of suggested response objects */
121
- responses: SuggestedResponse[];
122
- /** Whether any response allows input */
123
- hasInputOption: boolean;
124
- /** The specific response that allows input (if any) */
125
- inputResponse: SuggestedResponse | null;
126
- /** All responses that are regular buttons (no input) */
127
- regularResponses: SuggestedResponse[];
128
- }
129
102
  //# sourceMappingURL=conversation-state.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-state.model.d.ts","sourceRoot":"","sources":["../../../src/lib/models/conversation-state.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-state.model.d.ts","sourceRoot":"","sources":["../../../src/lib/models/conversation-state.model.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,gCAAgC;IAC/C,sEAAsE;IACtE,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IACtC,kEAAkE;IAClE,QAAQ,CAAC,EAAE;QACT,0BAA0B;QAC1B,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,2CAA2C;QAC3C,OAAO,EAAE,uBAAuB,CAAC;KAClC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAC7D,yDAAyD;IACzD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE;QAC/B,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,OAAO,EAAE,uBAAuB,CAAC;KAClC,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,aAAa,GAAG,OAAO,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,OAAO,EAAE,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-state.model.js","sourceRoot":"","sources":["../../../src/lib/models/conversation-state.model.ts"],"names":[],"mappings":"","sourcesContent":["import {\n MJArtifactEntity,\n MJArtifactVersionEntity\n} from '@memberjunction/core-entities';\n\nimport {\n MJAIAgentRunEntityExtended\n} from \"@memberjunction/ai-core-plus\";\n\n/**\n * Peripheral data loaded for a conversation detail message\n * Contains related entities like agent runs and artifacts\n */\nexport interface ConversationDetailPeripheralData {\n /** Agent run information if this message was generated by an agent */\n agentRun?: MJAIAgentRunEntityExtended;\n /** Artifact information if this message has an output artifact */\n artifact?: {\n /** The artifact entity */\n artifact: MJArtifactEntity;\n /** The specific version of the artifact */\n version: MJArtifactVersionEntity;\n };\n}\n\n/**\n * Type-safe maps for peripheral data indexed by ConversationDetailID\n */\nexport interface PeripheralDataMaps {\n /** Map of ConversationDetailID -> AIAgentRun */\n agentRunsByDetailId: Map<string, MJAIAgentRunEntityExtended>;\n /** Map of ConversationDetailID -> {artifact, version} */\n artifactsByDetailId: Map<string, {\n artifact: MJArtifactEntity;\n version: MJArtifactVersionEntity;\n }>;\n}\n\n/**\n * Represents an active agent process\n */\nexport interface AgentProcess {\n id: string;\n agentId: string;\n agentName: string;\n agentColor: string;\n status: 'pending' | 'in_progress' | 'complete' | 'failed';\n message: string;\n progress?: number;\n startedAt: Date;\n}\n\n/**\n * Options for filtering tasks\n */\nexport interface TaskFilters {\n status?: string[];\n projectId?: string;\n assignedToUserId?: string;\n assignedToAgentId?: string;\n environmentId?: string;\n}\n\n/**\n * Options for creating public links\n */\nexport interface PublicLinkOptions {\n password?: string;\n expiresAt?: Date;\n maxViews?: number;\n}\n\n/**\n * Tab types for the main navigation\n */\nexport type NavigationTab = 'conversations' | 'collections' | 'tasks';\n\n/**\n * Layout modes for the workspace\n */\nexport type WorkspaceLayout = 'full' | 'compact' | 'embedded';\n\n/**\n * View modes for collections\n */\nexport type CollectionViewMode = 'grid' | 'list';\n\n/**\n * Sort options for artifacts\n */\nexport type ArtifactSortBy = 'name' | 'date' | 'type' | 'modified';\n\n/**\n * Grouping options for conversations\n */\nexport type ConversationGroupBy = 'project' | 'date' | 'none';\n\n/**\n * Type of entity being mentioned\n */\nexport type MentionType = 'agent' | 'user';\n\n/**\n * Represents a mention in a message (@Agent or @User)\n */\nexport interface Mention {\n type: MentionType;\n id: string;\n name: string;\n configurationId?: string; // Optional AI configuration preset ID for agents\n}\n\n/**\n * Result of parsing mentions from a message\n */\nexport interface MentionParseResult {\n mentions: Mention[];\n agentMention: Mention | null; // Single agent mention (first one found)\n userMentions: Mention[]; // All user mentions\n}\n\n/**\n * Suggested response option for quick user replies\n * These are displayed as interactive buttons below AI messages to streamline conversation flow\n */\nexport interface SuggestedResponse {\n /** Display text for the button or input placeholder */\n text: string;\n\n /** Whether to show an input field (uses text as placeholder) instead of a button */\n allowInput: boolean;\n\n /** Optional Font Awesome icon class (e.g., \"fa fa-leaf\", \"fa fa-pencil\") */\n iconClass?: string;\n\n /** Optional data payload to include when response is selected */\n data?: Record<string, any>;\n}\n\n/**\n * Parse result for suggested responses from a conversation detail\n */\nexport interface ParsedSuggestedResponses {\n /** Array of suggested response objects */\n responses: SuggestedResponse[];\n\n /** Whether any response allows input */\n hasInputOption: boolean;\n\n /** The specific response that allows input (if any) */\n inputResponse: SuggestedResponse | null;\n\n /** All responses that are regular buttons (no input) */\n regularResponses: SuggestedResponse[];\n}"]}
1
+ {"version":3,"file":"conversation-state.model.js","sourceRoot":"","sources":["../../../src/lib/models/conversation-state.model.ts"],"names":[],"mappings":"","sourcesContent":["import {\n MJArtifactEntity,\n MJArtifactVersionEntity\n} from '@memberjunction/core-entities';\n\nimport {\n MJAIAgentRunEntityExtended\n} from \"@memberjunction/ai-core-plus\";\n\n/**\n * Peripheral data loaded for a conversation detail message\n * Contains related entities like agent runs and artifacts\n */\nexport interface ConversationDetailPeripheralData {\n /** Agent run information if this message was generated by an agent */\n agentRun?: MJAIAgentRunEntityExtended;\n /** Artifact information if this message has an output artifact */\n artifact?: {\n /** The artifact entity */\n artifact: MJArtifactEntity;\n /** The specific version of the artifact */\n version: MJArtifactVersionEntity;\n };\n}\n\n/**\n * Type-safe maps for peripheral data indexed by ConversationDetailID\n */\nexport interface PeripheralDataMaps {\n /** Map of ConversationDetailID -> AIAgentRun */\n agentRunsByDetailId: Map<string, MJAIAgentRunEntityExtended>;\n /** Map of ConversationDetailID -> {artifact, version} */\n artifactsByDetailId: Map<string, {\n artifact: MJArtifactEntity;\n version: MJArtifactVersionEntity;\n }>;\n}\n\n/**\n * Represents an active agent process\n */\nexport interface AgentProcess {\n id: string;\n agentId: string;\n agentName: string;\n agentColor: string;\n status: 'pending' | 'in_progress' | 'complete' | 'failed';\n message: string;\n progress?: number;\n startedAt: Date;\n}\n\n/**\n * Options for filtering tasks\n */\nexport interface TaskFilters {\n status?: string[];\n projectId?: string;\n assignedToUserId?: string;\n assignedToAgentId?: string;\n environmentId?: string;\n}\n\n/**\n * Options for creating public links\n */\nexport interface PublicLinkOptions {\n password?: string;\n expiresAt?: Date;\n maxViews?: number;\n}\n\n/**\n * Tab types for the main navigation\n */\nexport type NavigationTab = 'conversations' | 'collections' | 'tasks';\n\n/**\n * Layout modes for the workspace\n */\nexport type WorkspaceLayout = 'full' | 'compact' | 'embedded';\n\n/**\n * View modes for collections\n */\nexport type CollectionViewMode = 'grid' | 'list';\n\n/**\n * Sort options for artifacts\n */\nexport type ArtifactSortBy = 'name' | 'date' | 'type' | 'modified';\n\n/**\n * Grouping options for conversations\n */\nexport type ConversationGroupBy = 'project' | 'date' | 'none';\n\n/**\n * Type of entity being mentioned\n */\nexport type MentionType = 'agent' | 'user';\n\n/**\n * Represents a mention in a message (@Agent or @User)\n */\nexport interface Mention {\n type: MentionType;\n id: string;\n name: string;\n configurationId?: string; // Optional AI configuration preset ID for agents\n}\n\n/**\n * Result of parsing mentions from a message\n */\nexport interface MentionParseResult {\n mentions: Mention[];\n agentMention: Mention | null; // Single agent mention (first one found)\n userMentions: Mention[]; // All user mentions\n}"]}
@@ -97,14 +97,6 @@ export declare class ConversationAgentService {
97
97
  * Load artifacts for messages (OUTPUT direction only)
98
98
  */
99
99
  private loadArtifactsForMessages;
100
- /**
101
- * Load attachments for messages and convert to AttachmentData format
102
- */
103
- private loadAttachmentsForMessages;
104
- /**
105
- * Convert a MJConversationDetailAttachmentEntity to AttachmentData format
106
- */
107
- private convertToAttachmentData;
108
100
  /**
109
101
  * Map ConversationDetail Role to agent message role
110
102
  */
@@ -132,7 +124,7 @@ export declare class ConversationAgentService {
132
124
  * @param agentConfigurationPresetId Optional ID of the AIAgentConfiguration preset (will be mapped to AIConfigurationID)
133
125
  * @returns The agent's execution result, or null if agent not found
134
126
  */
135
- invokeSubAgent(agentName: string, conversationId: string, message: MJConversationDetailEntity, conversationHistory: MJConversationDetailEntity[], reasoning: string, conversationDetailId: string, payload?: unknown, onProgress?: AgentExecutionProgressCallback, sourceArtifactId?: string, sourceArtifactVersionId?: string, agentConfigurationPresetId?: string): Promise<ExecuteAgentResult | null>;
127
+ invokeSubAgent(agentName: string, conversationId: string, message: MJConversationDetailEntity, conversationHistory: MJConversationDetailEntity[], reasoning: string, conversationDetailId: string, payload?: unknown, onProgress?: AgentExecutionProgressCallback, sourceArtifactId?: string, sourceArtifactVersionId?: string, agentConfigurationPresetId?: string, appContext?: Record<string, unknown> | null): Promise<ExecuteAgentResult | null>;
136
128
  /**
137
129
  * Check if user's latest message should continue with the previous agent or route through Sage.
138
130
  * Uses fast inference (<500ms) to determine intent and avoid unnecessary Sage overhead.
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-agent.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/conversation-agent.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-agent.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/conversation-agent.service.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { Injectable } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
3
  import { Metadata, RunView } from '@memberjunction/core';
4
4
  import { GraphQLAIClient } from '@memberjunction/graphql-dataprovider';
5
- import { ConversationUtility } from '@memberjunction/ai-core-plus';
6
5
  import { AIEngineBase, AIAgentPermissionHelper } from '@memberjunction/ai-engine-base';
7
6
  import { MJNotificationService } from '@memberjunction/ng-notifications';
8
7
  import { UUIDsEqual } from '@memberjunction/global';
@@ -238,57 +237,28 @@ export class ConversationAgentService {
238
237
  const messageIds = recentHistory.map(msg => msg.ID).filter(id => id); // Filter out any undefined IDs
239
238
  // Create lookup maps
240
239
  const artifactsByDetailId = new Map(); // DetailID -> array of artifact JSON strings
241
- const attachmentsByDetailId = new Map(); // DetailID -> array of AttachmentData
240
+ // attachmentsByDetailId removed artifact junction is the single source of truth
241
+ // after the backfill migration. Multimodal content handled server-side.
242
242
  if (messageIds.length > 0) {
243
243
  const rv = RunView.FromMetadataProvider(this.Provider);
244
- // Load artifacts and attachments in parallel
245
- const [artifactsLoaded, attachmentsLoaded] = await Promise.all([
246
- this.loadArtifactsForMessages(rv, messageIds, artifactsByDetailId),
247
- this.loadAttachmentsForMessages(rv, messageIds, attachmentsByDetailId)
248
- ]);
244
+ // Load artifacts for messages. Since the backfill migration
245
+ // (V202605271400__Backfill_Attachment_Artifacts) converted all legacy
246
+ // ConversationDetailAttachment rows to artifact pairs, the artifact
247
+ // junction is the single source of truth. Multimodal content (images,
248
+ // audio, video) is handled server-side by the resolver's artifact path.
249
+ const artifactsLoaded = await this.loadArtifactsForMessages(rv, messageIds, artifactsByDetailId);
249
250
  if (artifactsLoaded) {
250
251
  console.log(`📦 Loaded ${artifactsByDetailId.size} artifact groups for ${messageIds.length} messages`);
251
252
  }
252
- if (attachmentsLoaded) {
253
- console.log(`🖼️ Loaded ${attachmentsByDetailId.size} attachment groups for ${messageIds.length} messages`);
254
- }
255
253
  }
256
- // Build messages with proper multimodal content
254
+ // Build messages with artifact context
257
255
  for (const msg of recentHistory) {
258
256
  const messageText = msg.Message || '';
259
257
  const artifacts = artifactsByDetailId.get(msg.ID);
260
- const attachments = attachmentsByDetailId.get(msg.ID);
261
- // Build content - may be string or ChatMessageContentBlock[]
262
- let content;
263
- if (attachments && attachments.length > 0) {
264
- // Use BuildChatMessageContent to create proper content blocks for multimodal
265
- content = await ConversationUtility.BuildChatMessageContent(messageText, attachments);
266
- // Append artifacts to text content if present
267
- if (artifacts && artifacts.length > 0) {
268
- const artifactText = artifacts.map(json => `\n\n# Artifact\n${json}\n`).join('');
269
- if (typeof content === 'string') {
270
- content = content + artifactText;
271
- }
272
- else if (Array.isArray(content)) {
273
- // Find or create text block and append artifacts
274
- const textBlock = content.find(b => b.type === 'text');
275
- if (textBlock && textBlock.content) {
276
- textBlock.content += artifactText;
277
- }
278
- else {
279
- content.push({ type: 'text', content: artifactText });
280
- }
281
- }
282
- }
283
- }
284
- else {
285
- // No attachments - use simple string content
286
- content = messageText;
287
- // Append artifacts
288
- if (artifacts && artifacts.length > 0) {
289
- for (const artifactJson of artifacts) {
290
- content += `\n\n# Artifact\n${artifactJson}\n`;
291
- }
258
+ let content = messageText;
259
+ if (artifacts && artifacts.length > 0) {
260
+ for (const artifactJson of artifacts) {
261
+ content += `\n\n# Artifact\n${artifactJson}\n`;
292
262
  }
293
263
  }
294
264
  messages.push({
@@ -339,82 +309,6 @@ export class ConversationAgentService {
339
309
  }
340
310
  return false;
341
311
  }
342
- /**
343
- * Load attachments for messages and convert to AttachmentData format
344
- */
345
- async loadAttachmentsForMessages(rv, messageIds, attachmentsByDetailId) {
346
- console.log('[AgentService] loadAttachmentsForMessages - querying for messageIds:', messageIds);
347
- try {
348
- const filter = `ConversationDetailID IN ('${messageIds.join("','")}')`;
349
- console.log('[AgentService] loadAttachmentsForMessages - filter:', filter);
350
- const attachmentResult = await rv.RunView({
351
- EntityName: 'MJ: Conversation Detail Attachments',
352
- ExtraFilter: filter,
353
- OrderBy: 'DisplayOrder ASC, __mj_CreatedAt ASC',
354
- ResultType: 'entity_object'
355
- });
356
- console.log('[AgentService] loadAttachmentsForMessages - query result:', {
357
- success: attachmentResult.Success,
358
- count: attachmentResult.Results?.length || 0,
359
- error: attachmentResult.ErrorMessage
360
- });
361
- if (attachmentResult.Success && attachmentResult.Results && attachmentResult.Results.length > 0) {
362
- for (const att of attachmentResult.Results) {
363
- console.log('[AgentService] loadAttachmentsForMessages - processing attachment:', {
364
- id: att.ID,
365
- detailId: att.ConversationDetailID,
366
- mimeType: att.MimeType,
367
- hasInlineData: !!att.InlineData,
368
- hasFileID: !!att.FileID
369
- });
370
- // Convert to AttachmentData format
371
- const attachmentData = this.convertToAttachmentData(att);
372
- if (attachmentData) {
373
- const existing = attachmentsByDetailId.get(att.ConversationDetailID) || [];
374
- existing.push(attachmentData);
375
- attachmentsByDetailId.set(att.ConversationDetailID, existing);
376
- }
377
- }
378
- return true;
379
- }
380
- }
381
- catch (error) {
382
- console.error('Error loading attachments for conversation context:', error);
383
- }
384
- return false;
385
- }
386
- /**
387
- * Convert a MJConversationDetailAttachmentEntity to AttachmentData format
388
- */
389
- convertToAttachmentData(att) {
390
- // Get the content - either inline data or file URL
391
- let content = null;
392
- if (att.InlineData) {
393
- // Create data URL from inline base64 data
394
- content = `data:${att.MimeType};base64,${att.InlineData}`;
395
- }
396
- else if (att.FileID) {
397
- // TODO: Get pre-authenticated URL from MJStorage
398
- // For now, skip attachments stored in external storage
399
- console.warn(`Attachment ${att.ID} uses FileID storage - external URLs not yet supported`);
400
- return null;
401
- }
402
- if (!content) {
403
- return null;
404
- }
405
- // Determine attachment type from modality or MIME type
406
- const attachmentType = ConversationUtility.GetAttachmentTypeFromMime(att.MimeType);
407
- return {
408
- type: attachmentType,
409
- mimeType: att.MimeType,
410
- fileName: att.FileName ?? undefined,
411
- sizeBytes: att.FileSizeBytes ?? undefined,
412
- width: att.Width ?? undefined,
413
- height: att.Height ?? undefined,
414
- durationSeconds: att.DurationSeconds ?? undefined,
415
- content: content
416
- };
417
- }
418
312
  /**
419
313
  * Map ConversationDetail Role to agent message role
420
314
  */
@@ -453,7 +347,7 @@ export class ConversationAgentService {
453
347
  * @param agentConfigurationPresetId Optional ID of the AIAgentConfiguration preset (will be mapped to AIConfigurationID)
454
348
  * @returns The agent's execution result, or null if agent not found
455
349
  */
456
- async invokeSubAgent(agentName, conversationId, message, conversationHistory, reasoning, conversationDetailId, payload, onProgress, sourceArtifactId, sourceArtifactVersionId, agentConfigurationPresetId) {
350
+ async invokeSubAgent(agentName, conversationId, message, conversationHistory, reasoning, conversationDetailId, payload, onProgress, sourceArtifactId, sourceArtifactVersionId, agentConfigurationPresetId, appContext) {
457
351
  try {
458
352
  // Ensure AIEngineBase is configured
459
353
  await AIEngineBase.Instance.Config(false);
@@ -491,7 +385,14 @@ export class ConversationAgentService {
491
385
  Data: {
492
386
  conversationId: conversationId,
493
387
  latestMessageId: message.ID,
494
- invocationReason: reasoning
388
+ invocationReason: reasoning,
389
+ // Pass the embedder's appContext through to the agent runtime
390
+ // so direct-routed sub-agents (e.g. Form Builder invoked via the
391
+ // cockpit's `defaultAgentId`) see the same `appContext` block in
392
+ // their system prompt that Sage-routed agents do. Without this,
393
+ // the ActiveForm/Schema/OverrideID context the embedder
394
+ // assembles is dropped on the floor for direct routing.
395
+ ...(appContext ? { appContext } : {}),
495
396
  },
496
397
  ...(payload ? { Payload: payload } : {}),
497
398
  ...(aiConfigurationId ? { ConfigurationId: aiConfigurationId } : {}),