@memberjunction/ng-conversations 2.107.0 → 2.109.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 (108) hide show
  1. package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts +67 -0
  2. package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts.map +1 -0
  3. package/dist/lib/components/collection/artifact-collection-picker-modal.component.js +725 -0
  4. package/dist/lib/components/collection/artifact-collection-picker-modal.component.js.map +1 -0
  5. package/dist/lib/components/collection/artifact-create-modal.component.d.ts +39 -0
  6. package/dist/lib/components/collection/artifact-create-modal.component.d.ts.map +1 -0
  7. package/dist/lib/components/collection/artifact-create-modal.component.js +351 -0
  8. package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -0
  9. package/dist/lib/components/collection/collection-form-modal.component.d.ts +3 -1
  10. package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -1
  11. package/dist/lib/components/collection/collection-form-modal.component.js +60 -10
  12. package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
  13. package/dist/lib/components/collection/collection-share-modal.component.d.ts +43 -0
  14. package/dist/lib/components/collection/collection-share-modal.component.d.ts.map +1 -0
  15. package/dist/lib/components/collection/collection-share-modal.component.js +728 -0
  16. package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -0
  17. package/dist/lib/components/collection/collection-tree.component.d.ts +8 -1
  18. package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -1
  19. package/dist/lib/components/collection/collection-tree.component.js +217 -115
  20. package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
  21. package/dist/lib/components/collection/collection-view.component.d.ts +2 -1
  22. package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
  23. package/dist/lib/components/collection/collection-view.component.js +52 -34
  24. package/dist/lib/components/collection/collection-view.component.js.map +1 -1
  25. package/dist/lib/components/collection/collections-full-view.component.d.ts +45 -9
  26. package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
  27. package/dist/lib/components/collection/collections-full-view.component.js +586 -220
  28. package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
  29. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +42 -15
  30. package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
  31. package/dist/lib/components/conversation/conversation-chat-area.component.js +336 -219
  32. package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
  33. package/dist/lib/components/message/message-input.component.d.ts +7 -1
  34. package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
  35. package/dist/lib/components/message/message-input.component.js +65 -10
  36. package/dist/lib/components/message/message-input.component.js.map +1 -1
  37. package/dist/lib/components/message/message-item.component.d.ts +39 -5
  38. package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
  39. package/dist/lib/components/message/message-item.component.js +259 -137
  40. package/dist/lib/components/message/message-item.component.js.map +1 -1
  41. package/dist/lib/components/message/message-list.component.d.ts +5 -1
  42. package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
  43. package/dist/lib/components/message/message-list.component.js +26 -12
  44. package/dist/lib/components/message/message-list.component.js.map +1 -1
  45. package/dist/lib/components/message/suggested-responses.component.d.ts +55 -0
  46. package/dist/lib/components/message/suggested-responses.component.d.ts.map +1 -0
  47. package/dist/lib/components/message/suggested-responses.component.js +207 -0
  48. package/dist/lib/components/message/suggested-responses.component.js.map +1 -0
  49. package/dist/lib/components/search/search-panel.component.d.ts.map +1 -1
  50. package/dist/lib/components/search/search-panel.component.js +245 -113
  51. package/dist/lib/components/search/search-panel.component.js.map +1 -1
  52. package/dist/lib/components/shared/user-picker.component.d.ts +29 -0
  53. package/dist/lib/components/shared/user-picker.component.d.ts.map +1 -0
  54. package/dist/lib/components/shared/user-picker.component.js +229 -0
  55. package/dist/lib/components/shared/user-picker.component.js.map +1 -0
  56. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +7 -1
  57. package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
  58. package/dist/lib/components/tasks/tasks-dropdown.component.js +36 -6
  59. package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
  60. package/dist/lib/components/workspace/conversation-workspace.component.d.ts +19 -2
  61. package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
  62. package/dist/lib/components/workspace/conversation-workspace.component.js +167 -58
  63. package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
  64. package/dist/lib/conversations.module.d.ts +52 -47
  65. package/dist/lib/conversations.module.d.ts.map +1 -1
  66. package/dist/lib/conversations.module.js +27 -4
  67. package/dist/lib/conversations.module.js.map +1 -1
  68. package/dist/lib/models/conversation-complete-query.model.d.ts +75 -0
  69. package/dist/lib/models/conversation-complete-query.model.d.ts.map +1 -0
  70. package/dist/lib/models/conversation-complete-query.model.js +19 -0
  71. package/dist/lib/models/conversation-complete-query.model.js.map +1 -0
  72. package/dist/lib/models/conversation-state.model.d.ts +27 -0
  73. package/dist/lib/models/conversation-state.model.d.ts.map +1 -1
  74. package/dist/lib/services/agent-state.service.d.ts.map +1 -1
  75. package/dist/lib/services/agent-state.service.js +5 -0
  76. package/dist/lib/services/agent-state.service.js.map +1 -1
  77. package/dist/lib/services/artifact-state.service.d.ts.map +1 -1
  78. package/dist/lib/services/artifact-state.service.js +14 -9
  79. package/dist/lib/services/artifact-state.service.js.map +1 -1
  80. package/dist/lib/services/collection-permission.service.d.ts +96 -0
  81. package/dist/lib/services/collection-permission.service.d.ts.map +1 -0
  82. package/dist/lib/services/collection-permission.service.js +303 -0
  83. package/dist/lib/services/collection-permission.service.js.map +1 -0
  84. package/dist/lib/services/collection-state.service.d.ts +34 -0
  85. package/dist/lib/services/collection-state.service.d.ts.map +1 -0
  86. package/dist/lib/services/collection-state.service.js +50 -0
  87. package/dist/lib/services/collection-state.service.js.map +1 -0
  88. package/dist/lib/services/conversation-agent.service.d.ts +9 -4
  89. package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
  90. package/dist/lib/services/conversation-agent.service.js +41 -12
  91. package/dist/lib/services/conversation-agent.service.js.map +1 -1
  92. package/dist/lib/services/data-cache.service.d.ts.map +1 -1
  93. package/dist/lib/services/data-cache.service.js +5 -0
  94. package/dist/lib/services/data-cache.service.js.map +1 -1
  95. package/dist/lib/services/mention-autocomplete.service.js +1 -1
  96. package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
  97. package/dist/lib/services/mention-parser.service.d.ts.map +1 -1
  98. package/dist/lib/services/mention-parser.service.js +0 -5
  99. package/dist/lib/services/mention-parser.service.js.map +1 -1
  100. package/dist/lib/services/search.service.d.ts +26 -3
  101. package/dist/lib/services/search.service.d.ts.map +1 -1
  102. package/dist/lib/services/search.service.js +172 -12
  103. package/dist/lib/services/search.service.js.map +1 -1
  104. package/dist/public-api.d.ts +3 -0
  105. package/dist/public-api.d.ts.map +1 -1
  106. package/dist/public-api.js +3 -0
  107. package/dist/public-api.js.map +1 -1
  108. package/package.json +12 -12
@@ -6,17 +6,18 @@ import { AIEngineBase } from '@memberjunction/ai-engine-base';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "../../services/conversation-state.service";
8
8
  import * as i2 from "../../services/artifact-state.service";
9
- import * as i3 from "@angular/common";
10
- import * as i4 from "@progress/kendo-angular-dialog";
11
- import * as i5 from "@memberjunction/ng-artifacts";
12
- import * as i6 from "../task/tasks-full-view.component";
13
- import * as i7 from "../navigation/conversation-navigation.component";
14
- import * as i8 from "../sidebar/conversation-sidebar.component";
15
- import * as i9 from "../conversation/conversation-chat-area.component";
16
- import * as i10 from "../collection/collections-full-view.component";
17
- import * as i11 from "../search/search-panel.component";
18
- import * as i12 from "../toast/toast.component";
19
- import * as i13 from "../../directives/search-shortcut.directive";
9
+ import * as i3 from "../../services/collection-state.service";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "@progress/kendo-angular-dialog";
12
+ import * as i6 from "@memberjunction/ng-artifacts";
13
+ import * as i7 from "../task/tasks-full-view.component";
14
+ import * as i8 from "../navigation/conversation-navigation.component";
15
+ import * as i9 from "../sidebar/conversation-sidebar.component";
16
+ import * as i10 from "../conversation/conversation-chat-area.component";
17
+ import * as i11 from "../collection/collections-full-view.component";
18
+ import * as i12 from "../search/search-panel.component";
19
+ import * as i13 from "../toast/toast.component";
20
+ import * as i14 from "../../directives/search-shortcut.directive";
20
21
  function ConversationWorkspaceComponent_div_4_Template(rf, ctx) { if (rf & 1) {
21
22
  i0.ɵɵelementStart(0, "div", 8);
22
23
  i0.ɵɵelement(1, "mj-conversation-sidebar", 9);
@@ -34,18 +35,19 @@ function ConversationWorkspaceComponent_div_5_Template(rf, ctx) { if (rf & 1) {
34
35
  i0.ɵɵelementEnd();
35
36
  } }
36
37
  function ConversationWorkspaceComponent_div_6_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "div", 11);
38
- i0.ɵɵelement(1, "mj-collections-full-view", 12);
39
- i0.ɵɵelementEnd();
38
+ const _r3 = i0.ɵɵgetCurrentView();
39
+ i0.ɵɵelementStart(0, "div", 11)(1, "mj-collections-full-view", 12);
40
+ i0.ɵɵlistener("collectionNavigated", function ConversationWorkspaceComponent_div_6_Template_mj_collections_full_view_collectionNavigated_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onCollectionNavigated($event)); });
41
+ i0.ɵɵelementEnd()();
40
42
  } if (rf & 2) {
41
43
  const ctx_r0 = i0.ɵɵnextContext();
42
44
  i0.ɵɵadvance();
43
45
  i0.ɵɵproperty("environmentId", ctx_r0.environmentId)("currentUser", ctx_r0.currentUser);
44
46
  } }
45
47
  function ConversationWorkspaceComponent_div_7_Template(rf, ctx) { if (rf & 1) {
46
- const _r3 = i0.ɵɵgetCurrentView();
48
+ const _r4 = i0.ɵɵgetCurrentView();
47
49
  i0.ɵɵelementStart(0, "div", 11)(1, "mj-tasks-full-view", 13);
48
- i0.ɵɵlistener("openEntityRecord", function ConversationWorkspaceComponent_div_7_Template_mj_tasks_full_view_openEntityRecord_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onOpenEntityRecordFromTasks($event)); });
50
+ i0.ɵɵlistener("openEntityRecord", function ConversationWorkspaceComponent_div_7_Template_mj_tasks_full_view_openEntityRecord_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onOpenEntityRecordFromTasks($event)); });
49
51
  i0.ɵɵelementEnd()();
50
52
  } if (rf & 2) {
51
53
  const ctx_r0 = i0.ɵɵnextContext();
@@ -53,9 +55,9 @@ function ConversationWorkspaceComponent_div_7_Template(rf, ctx) { if (rf & 1) {
53
55
  i0.ɵɵproperty("environmentId", ctx_r0.environmentId)("currentUser", ctx_r0.currentUser)("baseFilter", ctx_r0.tasksFilter)("activeTaskId", ctx_r0.activeTaskId);
54
56
  } }
55
57
  function ConversationWorkspaceComponent_div_8_Template(rf, ctx) { if (rf & 1) {
56
- const _r4 = i0.ɵɵgetCurrentView();
58
+ const _r5 = i0.ɵɵgetCurrentView();
57
59
  i0.ɵɵelementStart(0, "div", 11)(1, "mj-conversation-chat-area", 14);
58
- i0.ɵɵlistener("conversationRenamed", function ConversationWorkspaceComponent_div_8_Template_mj_conversation_chat_area_conversationRenamed_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onConversationRenamed($event)); })("openEntityRecord", function ConversationWorkspaceComponent_div_8_Template_mj_conversation_chat_area_openEntityRecord_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onOpenEntityRecord($event)); })("taskClicked", function ConversationWorkspaceComponent_div_8_Template_mj_conversation_chat_area_taskClicked_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onTaskClicked($event)); });
60
+ i0.ɵɵlistener("conversationRenamed", function ConversationWorkspaceComponent_div_8_Template_mj_conversation_chat_area_conversationRenamed_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onConversationRenamed($event)); })("openEntityRecord", function ConversationWorkspaceComponent_div_8_Template_mj_conversation_chat_area_openEntityRecord_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onOpenEntityRecord($event)); })("taskClicked", function ConversationWorkspaceComponent_div_8_Template_mj_conversation_chat_area_taskClicked_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onTaskClicked($event)); });
59
61
  i0.ɵɵelementEnd()();
60
62
  } if (rf & 2) {
61
63
  const ctx_r0 = i0.ɵɵnextContext();
@@ -63,20 +65,21 @@ function ConversationWorkspaceComponent_div_8_Template(rf, ctx) { if (rf & 1) {
63
65
  i0.ɵɵproperty("environmentId", ctx_r0.environmentId)("currentUser", ctx_r0.currentUser);
64
66
  } }
65
67
  function ConversationWorkspaceComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
66
- const _r5 = i0.ɵɵgetCurrentView();
68
+ const _r6 = i0.ɵɵgetCurrentView();
67
69
  i0.ɵɵelementStart(0, "div", 15);
68
- i0.ɵɵlistener("mousedown", function ConversationWorkspaceComponent_Conditional_9_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onArtifactPanelResizeStart($event)); });
70
+ i0.ɵɵlistener("mousedown", function ConversationWorkspaceComponent_Conditional_9_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onArtifactPanelResizeStart($event)); });
69
71
  i0.ɵɵelementEnd();
70
72
  i0.ɵɵelementStart(1, "div", 16)(2, "mj-artifact-viewer-panel", 17);
71
- i0.ɵɵlistener("closed", function ConversationWorkspaceComponent_Conditional_9_Template_mj_artifact_viewer_panel_closed_2_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.closeArtifactPanel()); });
73
+ i0.ɵɵlistener("closed", function ConversationWorkspaceComponent_Conditional_9_Template_mj_artifact_viewer_panel_closed_2_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.closeArtifactPanel()); })("navigateToLink", function ConversationWorkspaceComponent_Conditional_9_Template_mj_artifact_viewer_panel_navigateToLink_2_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onArtifactLinkNavigation($event)); });
72
74
  i0.ɵɵelementEnd()();
73
75
  } if (rf & 2) {
74
76
  let tmp_5_0;
77
+ let tmp_8_0;
75
78
  const ctx_r0 = i0.ɵɵnextContext();
76
79
  i0.ɵɵadvance();
77
80
  i0.ɵɵstyleProp("width", ctx_r0.artifactPanelWidth, "%");
78
81
  i0.ɵɵadvance();
79
- i0.ɵɵproperty("artifactId", ctx_r0.activeArtifactId)("currentUser", ctx_r0.currentUser)("environmentId", ctx_r0.environmentId)("versionNumber", (tmp_5_0 = ctx_r0.activeVersionNumber) !== null && tmp_5_0 !== undefined ? tmp_5_0 : undefined)("showSaveToCollection", ctx_r0.activeTab !== "collections");
82
+ i0.ɵɵproperty("artifactId", ctx_r0.activeArtifactId)("currentUser", ctx_r0.currentUser)("environmentId", ctx_r0.environmentId)("versionNumber", (tmp_5_0 = ctx_r0.activeVersionNumber) !== null && tmp_5_0 !== undefined ? tmp_5_0 : undefined)("showSaveToCollection", ctx_r0.activeTab !== "collections")("viewContext", ctx_r0.activeTab === "collections" ? "collection" : "conversation")("contextCollectionId", (tmp_8_0 = ctx_r0.collectionState.activeCollectionId) !== null && tmp_8_0 !== undefined ? tmp_8_0 : undefined);
80
83
  } }
81
84
  /**
82
85
  * Top-level workspace component for conversations
@@ -86,6 +89,8 @@ function ConversationWorkspaceComponent_Conditional_9_Template(rf, ctx) { if (rf
86
89
  export class ConversationWorkspaceComponent extends BaseAngularComponent {
87
90
  conversationState;
88
91
  artifactState;
92
+ collectionState;
93
+ cdr;
89
94
  environmentId;
90
95
  initialConversationId;
91
96
  layout = 'full';
@@ -100,21 +105,23 @@ export class ConversationWorkspaceComponent extends BaseAngularComponent {
100
105
  }
101
106
  set activeConversationInput(value) {
102
107
  if (value && value !== this.conversationState.activeConversationId) {
103
- // TODO: Navigate to this conversation
104
108
  console.log('🔗 Deep link to conversation:', value);
109
+ this.activeTab = 'conversations';
110
+ this.conversationState.setActiveConversation(value);
105
111
  }
106
112
  }
107
113
  set activeCollectionInput(value) {
108
- if (value) {
109
- // TODO: Navigate to this collection (collections not yet fully integrated with state service)
114
+ if (value && value !== this.collectionState.activeCollectionId) {
110
115
  console.log('🔗 Deep link to collection:', value);
116
+ this.activeTab = 'collections';
117
+ this.collectionState.setActiveCollection(value);
111
118
  }
112
119
  }
113
120
  set activeArtifactInput(value) {
114
121
  if (value && value !== this.activeArtifactId) {
115
- this.activeArtifactId = value;
116
- // TODO: Open this artifact in viewer
117
122
  console.log('🔗 Deep link to artifact:', value);
123
+ this.activeTab = 'collections';
124
+ this.artifactState.openArtifact(value);
118
125
  }
119
126
  }
120
127
  set activeTaskInput(value) {
@@ -149,17 +156,19 @@ export class ConversationWorkspaceComponent extends BaseAngularComponent {
149
156
  artifactPanelResizeStartWidth = 0;
150
157
  previousConversationId = null;
151
158
  previousTaskId = undefined;
152
- previousArtifactId = null;
159
+ previousArtifactId = null; // Used to track artifact changes in ngDoCheck
153
160
  destroy$ = new Subject();
154
161
  // LocalStorage keys
155
162
  SIDEBAR_WIDTH_KEY = 'mj-conversations-sidebar-width';
156
163
  ARTIFACT_PANEL_WIDTH_KEY = 'mj-artifact-panel-width';
157
164
  // Task filter for conversation-specific filtering
158
165
  tasksFilter = '1=1';
159
- constructor(conversationState, artifactState) {
166
+ constructor(conversationState, artifactState, collectionState, cdr) {
160
167
  super();
161
168
  this.conversationState = conversationState;
162
169
  this.artifactState = artifactState;
170
+ this.collectionState = collectionState;
171
+ this.cdr = cdr;
163
172
  }
164
173
  async ngOnInit() {
165
174
  // Load saved widths from localStorage
@@ -241,9 +250,12 @@ export class ConversationWorkspaceComponent extends BaseAngularComponent {
241
250
  this.conversationChanged.emit(conversation);
242
251
  // Also emit navigationChanged for URL updates (only if on conversations tab)
243
252
  if (this.activeTab === 'conversations' && currentId) {
244
- this.navigationChanged.emit({
245
- tab: 'conversations',
246
- conversationId: currentId
253
+ // Defer emission until after change detection completes
254
+ Promise.resolve().then(() => {
255
+ this.navigationChanged.emit({
256
+ tab: 'conversations',
257
+ conversationId: currentId
258
+ });
247
259
  });
248
260
  }
249
261
  }
@@ -254,25 +266,30 @@ export class ConversationWorkspaceComponent extends BaseAngularComponent {
254
266
  if (currentTaskId !== this.previousTaskId) {
255
267
  this.previousTaskId = currentTaskId;
256
268
  if (currentTaskId) {
257
- this.navigationChanged.emit({
258
- tab: 'tasks',
259
- taskId: currentTaskId
269
+ // Defer emission until after change detection completes
270
+ Promise.resolve().then(() => {
271
+ this.navigationChanged.emit({
272
+ tab: 'tasks',
273
+ taskId: currentTaskId
274
+ });
260
275
  });
261
276
  }
262
277
  }
263
278
  }
264
- // Detect artifact selection changes (when on collections tab)
279
+ // Detect artifact changes (when on collections tab)
280
+ // This ensures URL stays in sync with artifact state even after async updates
265
281
  if (this.activeTab === 'collections') {
266
282
  const currentArtifactId = this.activeArtifactId;
267
283
  if (currentArtifactId !== this.previousArtifactId) {
268
284
  this.previousArtifactId = currentArtifactId;
269
- if (currentArtifactId) {
285
+ // Defer emission until after change detection completes to avoid ExpressionChangedAfterItHasBeenCheckedError
286
+ Promise.resolve().then(() => {
270
287
  this.navigationChanged.emit({
271
288
  tab: 'collections',
272
- artifactId: currentArtifactId
273
- // TODO: Add collectionId when collections are integrated with state service
289
+ collectionId: this.collectionState.activeCollectionId || undefined,
290
+ artifactId: currentArtifactId || undefined
274
291
  });
275
- }
292
+ });
276
293
  }
277
294
  }
278
295
  }
@@ -293,8 +310,7 @@ export class ConversationWorkspaceComponent extends BaseAngularComponent {
293
310
  navEvent.conversationId = this.conversationState.activeConversationId || undefined;
294
311
  }
295
312
  else if (tab === 'collections') {
296
- // TODO: Get active collection ID from collections state service when integrated
297
- navEvent.collectionId = undefined;
313
+ navEvent.collectionId = this.collectionState.activeCollectionId || undefined;
298
314
  navEvent.artifactId = this.activeArtifactId || undefined;
299
315
  }
300
316
  else if (tab === 'tasks') {
@@ -319,16 +335,61 @@ export class ConversationWorkspaceComponent extends BaseAngularComponent {
319
335
  this.isSearchPanelOpen = false;
320
336
  }
321
337
  handleSearchResult(result) {
322
- // Navigate to the conversation
323
- if (result.conversationId) {
324
- this.conversationState.setActiveConversation(result.conversationId);
325
- }
326
- // If it's an artifact, open it in the artifact panel
327
- if (result.type === 'artifact') {
328
- this.artifactState.openArtifact(result.id);
338
+ console.log('🔍 Navigating to search result:', result);
339
+ switch (result.type) {
340
+ case 'conversation':
341
+ // Switch to conversations tab and select conversation
342
+ this.activeTab = 'conversations';
343
+ this.conversationState.setActiveConversation(result.id);
344
+ this.navigationChanged.emit({
345
+ tab: 'conversations',
346
+ conversationId: result.id
347
+ });
348
+ break;
349
+ case 'message':
350
+ // Switch to conversations tab, open conversation, and scroll to message (future enhancement)
351
+ this.activeTab = 'conversations';
352
+ if (result.conversationId) {
353
+ this.conversationState.setActiveConversation(result.conversationId);
354
+ this.navigationChanged.emit({
355
+ tab: 'conversations',
356
+ conversationId: result.conversationId
357
+ // TODO: Add messageId for scroll-to support in future
358
+ });
359
+ }
360
+ break;
361
+ case 'artifact':
362
+ // Switch to collections tab and open artifact
363
+ this.activeTab = 'collections';
364
+ this.artifactState.openArtifact(result.id);
365
+ // If artifact is in a collection, navigate to that collection
366
+ const collectionId = result.collectionId || undefined;
367
+ this.navigationChanged.emit({
368
+ tab: 'collections',
369
+ collectionId,
370
+ artifactId: result.id
371
+ });
372
+ break;
373
+ case 'collection':
374
+ // Switch to collections tab and navigate to collection
375
+ this.activeTab = 'collections';
376
+ this.collectionState.setActiveCollection(result.id);
377
+ this.navigationChanged.emit({
378
+ tab: 'collections',
379
+ collectionId: result.id
380
+ });
381
+ break;
382
+ case 'task':
383
+ // Switch to tasks tab and select task
384
+ this.activeTab = 'tasks';
385
+ this._activeTaskId = result.id;
386
+ this.navigationChanged.emit({
387
+ tab: 'tasks',
388
+ taskId: result.id
389
+ });
390
+ break;
329
391
  }
330
- // If it's a message, we could scroll to it in the future
331
- // For now, just open the conversation
392
+ // Close search panel after navigation
332
393
  this.closeSearch();
333
394
  }
334
395
  /**
@@ -468,15 +529,63 @@ export class ConversationWorkspaceComponent extends BaseAngularComponent {
468
529
  taskId: task.ID
469
530
  });
470
531
  }
471
- static ɵfac = function ConversationWorkspaceComponent_Factory(t) { return new (t || ConversationWorkspaceComponent)(i0.ɵɵdirectiveInject(i1.ConversationStateService), i0.ɵɵdirectiveInject(i2.ArtifactStateService)); };
472
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConversationWorkspaceComponent, selectors: [["mj-conversation-workspace"]], inputs: { environmentId: "environmentId", initialConversationId: "initialConversationId", layout: "layout", currentUser: "currentUser", activeContext: "activeContext", contextItemId: "contextItemId", activeTabInput: "activeTabInput", activeConversationInput: "activeConversationInput", activeCollectionInput: "activeCollectionInput", activeArtifactInput: "activeArtifactInput", activeTaskInput: "activeTaskInput" }, outputs: { conversationChanged: "conversationChanged", artifactOpened: "artifactOpened", openEntityRecord: "openEntityRecord", navigationChanged: "navigationChanged" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 12, consts: [["mjSearchShortcut", "", "kendoDialogContainer", "", 1, "conversation-workspace", 3, "searchTriggered"], [1, "workspace-navigation"], [3, "tabChanged", "sidebarToggled", "searchTriggered", "activeTab", "environmentId"], [1, "workspace-content"], ["class", "workspace-sidebar", 3, "width", 4, "ngIf"], ["class", "sidebar-resize-handle", 3, "mousedown", 4, "ngIf"], ["class", "workspace-main", 4, "ngIf"], [3, "close", "resultSelected", "isOpen", "environmentId", "currentUser"], [1, "workspace-sidebar"], [3, "activeTab", "environmentId", "currentUser", "renamedConversationId"], [1, "sidebar-resize-handle", 3, "mousedown"], [1, "workspace-main"], [3, "environmentId", "currentUser"], [3, "openEntityRecord", "environmentId", "currentUser", "baseFilter", "activeTaskId"], [3, "conversationRenamed", "openEntityRecord", "taskClicked", "environmentId", "currentUser"], [1, "artifact-panel-resize-handle", 3, "mousedown"], [1, "workspace-artifact-panel"], [3, "closed", "artifactId", "currentUser", "environmentId", "versionNumber", "showSaveToCollection"]], template: function ConversationWorkspaceComponent_Template(rf, ctx) { if (rf & 1) {
532
+ /**
533
+ * Handle collection navigation events
534
+ */
535
+ onCollectionNavigated(event) {
536
+ console.log('📁 Collection navigated:', event);
537
+ // IMPORTANT: Don't emit navigationChanged here when doing programmatic navigation (deep linking)
538
+ // The artifact state is managed separately and ngDoCheck will handle URL sync
539
+ // Only emit if the event explicitly includes an artifactId, or if we're intentionally closing the artifact
540
+ if (event.artifactId !== undefined) {
541
+ // Event explicitly specifies artifact state (user clicked artifact or intentionally closed it)
542
+ this.navigationChanged.emit({
543
+ tab: 'collections',
544
+ collectionId: event.collectionId || undefined,
545
+ artifactId: event.artifactId || undefined
546
+ });
547
+ }
548
+ else if (!this.activeArtifactId) {
549
+ // No artifact currently open, safe to emit collection-only navigation
550
+ this.navigationChanged.emit({
551
+ tab: 'collections',
552
+ collectionId: event.collectionId || undefined
553
+ });
554
+ }
555
+ // Otherwise: artifact is open but event doesn't specify artifactId
556
+ // Don't emit - let ngDoCheck handle keeping the URL in sync with artifact state
557
+ }
558
+ /**
559
+ * Handle navigation from artifact links
560
+ */
561
+ onArtifactLinkNavigation(event) {
562
+ console.log('🔗 Navigating from artifact link:', event);
563
+ if (event.type === 'conversation') {
564
+ this.activeTab = 'conversations';
565
+ this.conversationState.setActiveConversation(event.id);
566
+ this.navigationChanged.emit({
567
+ tab: 'conversations',
568
+ conversationId: event.id
569
+ });
570
+ }
571
+ else if (event.type === 'collection') {
572
+ this.activeTab = 'collections';
573
+ this.collectionState.setActiveCollection(event.id);
574
+ this.navigationChanged.emit({
575
+ tab: 'collections',
576
+ collectionId: event.id
577
+ });
578
+ }
579
+ }
580
+ static ɵfac = function ConversationWorkspaceComponent_Factory(t) { return new (t || ConversationWorkspaceComponent)(i0.ɵɵdirectiveInject(i1.ConversationStateService), i0.ɵɵdirectiveInject(i2.ArtifactStateService), i0.ɵɵdirectiveInject(i3.CollectionStateService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
581
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConversationWorkspaceComponent, selectors: [["mj-conversation-workspace"]], inputs: { environmentId: "environmentId", initialConversationId: "initialConversationId", layout: "layout", currentUser: "currentUser", activeContext: "activeContext", contextItemId: "contextItemId", activeTabInput: "activeTabInput", activeConversationInput: "activeConversationInput", activeCollectionInput: "activeCollectionInput", activeArtifactInput: "activeArtifactInput", activeTaskInput: "activeTaskInput" }, outputs: { conversationChanged: "conversationChanged", artifactOpened: "artifactOpened", openEntityRecord: "openEntityRecord", navigationChanged: "navigationChanged" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 12, vars: 12, consts: [["mjSearchShortcut", "", "kendoDialogContainer", "", 1, "conversation-workspace", 3, "searchTriggered"], [1, "workspace-navigation"], [3, "tabChanged", "sidebarToggled", "searchTriggered", "activeTab", "environmentId"], [1, "workspace-content"], ["class", "workspace-sidebar", 3, "width", 4, "ngIf"], ["class", "sidebar-resize-handle", 3, "mousedown", 4, "ngIf"], ["class", "workspace-main", 4, "ngIf"], [3, "close", "resultSelected", "isOpen", "environmentId", "currentUser"], [1, "workspace-sidebar"], [3, "activeTab", "environmentId", "currentUser", "renamedConversationId"], [1, "sidebar-resize-handle", 3, "mousedown"], [1, "workspace-main"], [3, "collectionNavigated", "environmentId", "currentUser"], [3, "openEntityRecord", "environmentId", "currentUser", "baseFilter", "activeTaskId"], [3, "conversationRenamed", "openEntityRecord", "taskClicked", "environmentId", "currentUser"], [1, "artifact-panel-resize-handle", 3, "mousedown"], [1, "workspace-artifact-panel"], [3, "closed", "navigateToLink", "artifactId", "currentUser", "environmentId", "versionNumber", "showSaveToCollection", "viewContext", "contextCollectionId"]], template: function ConversationWorkspaceComponent_Template(rf, ctx) { if (rf & 1) {
473
582
  i0.ɵɵelementStart(0, "div", 0);
474
583
  i0.ɵɵlistener("searchTriggered", function ConversationWorkspaceComponent_Template_div_searchTriggered_0_listener() { return ctx.openSearch(); });
475
584
  i0.ɵɵelementStart(1, "div", 1)(2, "mj-conversation-navigation", 2);
476
585
  i0.ɵɵlistener("tabChanged", function ConversationWorkspaceComponent_Template_mj_conversation_navigation_tabChanged_2_listener($event) { return ctx.onTabChanged($event); })("sidebarToggled", function ConversationWorkspaceComponent_Template_mj_conversation_navigation_sidebarToggled_2_listener() { return ctx.toggleSidebar(); })("searchTriggered", function ConversationWorkspaceComponent_Template_mj_conversation_navigation_searchTriggered_2_listener() { return ctx.openSearch(); });
477
586
  i0.ɵɵelementEnd()();
478
587
  i0.ɵɵelementStart(3, "div", 3);
479
- i0.ɵɵtemplate(4, ConversationWorkspaceComponent_div_4_Template, 2, 6, "div", 4)(5, ConversationWorkspaceComponent_div_5_Template, 1, 0, "div", 5)(6, ConversationWorkspaceComponent_div_6_Template, 2, 2, "div", 6)(7, ConversationWorkspaceComponent_div_7_Template, 2, 4, "div", 6)(8, ConversationWorkspaceComponent_div_8_Template, 2, 2, "div", 6)(9, ConversationWorkspaceComponent_Conditional_9_Template, 3, 7);
588
+ i0.ɵɵtemplate(4, ConversationWorkspaceComponent_div_4_Template, 2, 6, "div", 4)(5, ConversationWorkspaceComponent_div_5_Template, 1, 0, "div", 5)(6, ConversationWorkspaceComponent_div_6_Template, 2, 2, "div", 6)(7, ConversationWorkspaceComponent_div_7_Template, 2, 4, "div", 6)(8, ConversationWorkspaceComponent_div_8_Template, 2, 2, "div", 6)(9, ConversationWorkspaceComponent_Conditional_9_Template, 3, 9);
480
589
  i0.ɵɵelementEnd();
481
590
  i0.ɵɵelementStart(10, "mj-search-panel", 7);
482
591
  i0.ɵɵlistener("close", function ConversationWorkspaceComponent_Template_mj_search_panel_close_10_listener() { return ctx.closeSearch(); })("resultSelected", function ConversationWorkspaceComponent_Template_mj_search_panel_resultSelected_10_listener($event) { return ctx.handleSearchResult($event); });
@@ -501,12 +610,12 @@ export class ConversationWorkspaceComponent extends BaseAngularComponent {
501
610
  i0.ɵɵconditional(ctx.isArtifactPanelOpen && ctx.activeArtifactId ? 9 : -1);
502
611
  i0.ɵɵadvance();
503
612
  i0.ɵɵproperty("isOpen", ctx.isSearchPanelOpen)("environmentId", ctx.environmentId)("currentUser", ctx.currentUser);
504
- } }, dependencies: [i3.NgIf, i4.DialogContainerDirective, i5.ArtifactViewerPanelComponent, i6.TasksFullViewComponent, i7.ConversationNavigationComponent, i8.ConversationSidebarComponent, i9.ConversationChatAreaComponent, i10.CollectionsFullViewComponent, i11.SearchPanelComponent, i12.ToastComponent, i13.SearchShortcutDirective], styles: [".conversation-workspace[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: calc(100vh - 123px); \n\n background-color: #F4F4F4;\n position: relative;\n}\n\n.workspace-navigation[_ngcontent-%COMP%] {\n flex-shrink: 0;\n height: 48px;\n background-color: #092340;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.workspace-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n overflow: hidden;\n min-height: 0;\n}\n\n.workspace-sidebar[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background-color: #092340;\n border-right: 1px solid #D9D9D9;\n overflow-y: auto;\n}\n\n.sidebar-resize-handle[_ngcontent-%COMP%] {\n width: 4px;\n background: transparent;\n cursor: ew-resize;\n flex-shrink: 0;\n position: relative;\n transition: background-color 0.2s;\n}\n\n.sidebar-resize-handle[_ngcontent-%COMP%]:hover {\n background: #1e40af;\n}\n\n.sidebar-resize-handle[_ngcontent-%COMP%]:active {\n background: #1e3a8a;\n}\n\n.sidebar-resize-handle[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n left: -4px;\n right: -4px;\n top: 0;\n bottom: 0;\n cursor: ew-resize;\n}\n\n.workspace-main[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n background-color: #FFF;\n overflow: hidden;\n min-height: 0;\n}\n\n.workspace-main[_ngcontent-%COMP%] > mj-conversation-chat-area[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n.workspace-artifact-panel[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background-color: #FFF;\n overflow: hidden;\n min-width: 300px;\n max-width: 70%;\n}\n\n.artifact-panel-resize-handle[_ngcontent-%COMP%] {\n width: 4px;\n background-color: transparent;\n cursor: ew-resize;\n flex-shrink: 0;\n transition: background-color 0.2s;\n position: relative;\n z-index: 10;\n}\n\n\n\n.artifact-panel-resize-handle[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: -4px;\n right: -4px;\n cursor: ew-resize;\n}\n\n.artifact-panel-resize-handle[_ngcontent-%COMP%]:hover {\n background-color: #1e40af;\n}\n\n.artifact-panel-resize-handle[_ngcontent-%COMP%]:active {\n background-color: #1e3a8a;\n}\n\n\n\n.conversation-workspace[data-layout=\"compact\"][_ngcontent-%COMP%] .workspace-sidebar[_ngcontent-%COMP%] {\n width: 240px;\n}\n\n.conversation-workspace[data-layout=\"compact\"][_ngcontent-%COMP%] .workspace-artifact-panel[_ngcontent-%COMP%] {\n width: 400px;\n}\n\n\n\n.conversation-workspace[data-layout=\"embedded\"][_ngcontent-%COMP%] {\n height: 100%;\n}\n\n.conversation-workspace[data-layout=\"embedded\"][_ngcontent-%COMP%] .workspace-navigation[_ngcontent-%COMP%] {\n height: 48px;\n}\n\n\n\n@media (max-width: 1024px) {\n .workspace-sidebar[_ngcontent-%COMP%] {\n position: absolute;\n left: 0;\n top: 60px;\n bottom: 0;\n z-index: 100;\n box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);\n }\n\n .workspace-artifact-panel[_ngcontent-%COMP%] {\n position: fixed;\n right: 0;\n top: 60px;\n bottom: 0;\n z-index: 100;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);\n }\n}"] });
613
+ } }, dependencies: [i4.NgIf, i5.DialogContainerDirective, i6.ArtifactViewerPanelComponent, i7.TasksFullViewComponent, i8.ConversationNavigationComponent, i9.ConversationSidebarComponent, i10.ConversationChatAreaComponent, i11.CollectionsFullViewComponent, i12.SearchPanelComponent, i13.ToastComponent, i14.SearchShortcutDirective], styles: [".conversation-workspace[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: calc(100vh - 123px); \n\n background-color: #F4F4F4;\n position: relative;\n}\n\n.workspace-navigation[_ngcontent-%COMP%] {\n flex-shrink: 0;\n height: 48px;\n background-color: #092340;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.workspace-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n overflow: hidden;\n min-height: 0;\n}\n\n.workspace-sidebar[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background-color: #092340;\n border-right: 1px solid #D9D9D9;\n overflow-y: auto;\n}\n\n.sidebar-resize-handle[_ngcontent-%COMP%] {\n width: 4px;\n background: transparent;\n cursor: ew-resize;\n flex-shrink: 0;\n position: relative;\n transition: background-color 0.2s;\n}\n\n.sidebar-resize-handle[_ngcontent-%COMP%]:hover {\n background: #1e40af;\n}\n\n.sidebar-resize-handle[_ngcontent-%COMP%]:active {\n background: #1e3a8a;\n}\n\n.sidebar-resize-handle[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n left: -4px;\n right: -4px;\n top: 0;\n bottom: 0;\n cursor: ew-resize;\n}\n\n.workspace-main[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n background-color: #FFF;\n overflow: hidden;\n min-height: 0;\n}\n\n.workspace-main[_ngcontent-%COMP%] > mj-conversation-chat-area[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n.workspace-artifact-panel[_ngcontent-%COMP%] {\n flex-shrink: 0;\n background-color: #FFF;\n overflow: hidden;\n min-width: 300px;\n max-width: 70%;\n}\n\n.artifact-panel-resize-handle[_ngcontent-%COMP%] {\n width: 4px;\n background-color: transparent;\n cursor: ew-resize;\n flex-shrink: 0;\n transition: background-color 0.2s;\n position: relative;\n z-index: 10;\n}\n\n\n\n.artifact-panel-resize-handle[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: -4px;\n right: -4px;\n cursor: ew-resize;\n}\n\n.artifact-panel-resize-handle[_ngcontent-%COMP%]:hover {\n background-color: #1e40af;\n}\n\n.artifact-panel-resize-handle[_ngcontent-%COMP%]:active {\n background-color: #1e3a8a;\n}\n\n\n\n.conversation-workspace[data-layout=\"compact\"][_ngcontent-%COMP%] .workspace-sidebar[_ngcontent-%COMP%] {\n width: 240px;\n}\n\n.conversation-workspace[data-layout=\"compact\"][_ngcontent-%COMP%] .workspace-artifact-panel[_ngcontent-%COMP%] {\n width: 400px;\n}\n\n\n\n.conversation-workspace[data-layout=\"embedded\"][_ngcontent-%COMP%] {\n height: 100%;\n}\n\n.conversation-workspace[data-layout=\"embedded\"][_ngcontent-%COMP%] .workspace-navigation[_ngcontent-%COMP%] {\n height: 48px;\n}\n\n\n\n@media (max-width: 1024px) {\n .workspace-sidebar[_ngcontent-%COMP%] {\n position: absolute;\n left: 0;\n top: 60px;\n bottom: 0;\n z-index: 100;\n box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);\n }\n\n .workspace-artifact-panel[_ngcontent-%COMP%] {\n position: fixed;\n right: 0;\n top: 60px;\n bottom: 0;\n z-index: 100;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);\n }\n}"] });
505
614
  }
506
615
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConversationWorkspaceComponent, [{
507
616
  type: Component,
508
- args: [{ selector: 'mj-conversation-workspace', template: "<div class=\"conversation-workspace\" [attr.data-layout]=\"layout\" mjSearchShortcut (searchTriggered)=\"openSearch()\" kendoDialogContainer>\n <!-- Top Navigation Bar -->\n <div class=\"workspace-navigation\">\n <mj-conversation-navigation\n [activeTab]=\"activeTab\"\n [environmentId]=\"environmentId\"\n (tabChanged)=\"onTabChanged($event)\"\n (sidebarToggled)=\"toggleSidebar()\"\n (searchTriggered)=\"openSearch()\">\n </mj-conversation-navigation>\n </div>\n\n <div class=\"workspace-content\">\n <!-- Left Sidebar (hidden when Collections or Tasks view is active) -->\n <div class=\"workspace-sidebar\" *ngIf=\"isSidebarVisible && activeTab !== 'collections' && activeTab !== 'tasks'\" [style.width.px]=\"sidebarWidth\">\n <mj-conversation-sidebar\n [activeTab]=\"activeTab\"\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\"\n [renamedConversationId]=\"renamedConversationId\">\n </mj-conversation-sidebar>\n </div>\n\n <!-- Resize handle for sidebar -->\n <div class=\"sidebar-resize-handle\" *ngIf=\"isSidebarVisible && activeTab !== 'collections' && activeTab !== 'tasks'\" (mousedown)=\"onSidebarResizeStart($event)\"></div>\n\n <!-- Collections Full-Panel View -->\n <div class=\"workspace-main\" *ngIf=\"activeTab === 'collections'\">\n <mj-collections-full-view\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\">\n </mj-collections-full-view>\n </div>\n\n <!-- Tasks Full-Panel View -->\n <div class=\"workspace-main\" *ngIf=\"activeTab === 'tasks'\">\n <mj-tasks-full-view\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\"\n [baseFilter]=\"tasksFilter\"\n [activeTaskId]=\"activeTaskId\"\n (openEntityRecord)=\"onOpenEntityRecordFromTasks($event)\">\n </mj-tasks-full-view>\n </div>\n\n <!-- Main Chat Area (only shown when not in Collections or Tasks view) -->\n <div class=\"workspace-main\" *ngIf=\"activeTab !== 'collections' && activeTab !== 'tasks'\">\n <mj-conversation-chat-area\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\"\n (conversationRenamed)=\"onConversationRenamed($event)\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (taskClicked)=\"onTaskClicked($event)\">\n </mj-conversation-chat-area>\n </div>\n\n <!-- Right Artifact Panel -->\n @if (isArtifactPanelOpen && activeArtifactId) {\n <div class=\"artifact-panel-resize-handle\" (mousedown)=\"onArtifactPanelResizeStart($event)\"></div>\n <div class=\"workspace-artifact-panel\" [style.width.%]=\"artifactPanelWidth\">\n <mj-artifact-viewer-panel\n [artifactId]=\"activeArtifactId\"\n [currentUser]=\"currentUser\"\n [environmentId]=\"environmentId\"\n [versionNumber]=\"activeVersionNumber ?? undefined\"\n [showSaveToCollection]=\"activeTab !== 'collections'\"\n (closed)=\"closeArtifactPanel()\">\n </mj-artifact-viewer-panel>\n </div>\n }\n </div>\n\n <!-- Global Search Panel -->\n <mj-search-panel\n [isOpen]=\"isSearchPanelOpen\"\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\"\n (close)=\"closeSearch()\"\n (resultSelected)=\"handleSearchResult($event)\">\n </mj-search-panel>\n\n <!-- Toast Notifications -->\n <mj-toast></mj-toast>\n</div>", styles: [".conversation-workspace {\n display: flex;\n flex-direction: column;\n height: calc(100vh - 123px); /* Account for parent app header (~60px) */\n background-color: #F4F4F4;\n position: relative;\n}\n\n.workspace-navigation {\n flex-shrink: 0;\n height: 48px;\n background-color: #092340;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.workspace-content {\n flex: 1;\n display: flex;\n overflow: hidden;\n min-height: 0;\n}\n\n.workspace-sidebar {\n flex-shrink: 0;\n background-color: #092340;\n border-right: 1px solid #D9D9D9;\n overflow-y: auto;\n}\n\n.sidebar-resize-handle {\n width: 4px;\n background: transparent;\n cursor: ew-resize;\n flex-shrink: 0;\n position: relative;\n transition: background-color 0.2s;\n}\n\n.sidebar-resize-handle:hover {\n background: #1e40af;\n}\n\n.sidebar-resize-handle:active {\n background: #1e3a8a;\n}\n\n.sidebar-resize-handle::before {\n content: '';\n position: absolute;\n left: -4px;\n right: -4px;\n top: 0;\n bottom: 0;\n cursor: ew-resize;\n}\n\n.workspace-main {\n flex: 1;\n display: flex;\n flex-direction: column;\n background-color: #FFF;\n overflow: hidden;\n min-height: 0;\n}\n\n.workspace-main > mj-conversation-chat-area {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n.workspace-artifact-panel {\n flex-shrink: 0;\n background-color: #FFF;\n overflow: hidden;\n min-width: 300px;\n max-width: 70%;\n}\n\n.artifact-panel-resize-handle {\n width: 4px;\n background-color: transparent;\n cursor: ew-resize;\n flex-shrink: 0;\n transition: background-color 0.2s;\n position: relative;\n z-index: 10;\n}\n\n/* Wider hit area for easier grabbing */\n.artifact-panel-resize-handle::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: -4px;\n right: -4px;\n cursor: ew-resize;\n}\n\n.artifact-panel-resize-handle:hover {\n background-color: #1e40af;\n}\n\n.artifact-panel-resize-handle:active {\n background-color: #1e3a8a;\n}\n\n/* Compact layout */\n.conversation-workspace[data-layout=\"compact\"] .workspace-sidebar {\n width: 240px;\n}\n\n.conversation-workspace[data-layout=\"compact\"] .workspace-artifact-panel {\n width: 400px;\n}\n\n/* Embedded layout */\n.conversation-workspace[data-layout=\"embedded\"] {\n height: 100%;\n}\n\n.conversation-workspace[data-layout=\"embedded\"] .workspace-navigation {\n height: 48px;\n}\n\n/* Responsive */\n@media (max-width: 1024px) {\n .workspace-sidebar {\n position: absolute;\n left: 0;\n top: 60px;\n bottom: 0;\n z-index: 100;\n box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);\n }\n\n .workspace-artifact-panel {\n position: fixed;\n right: 0;\n top: 60px;\n bottom: 0;\n z-index: 100;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);\n }\n}"] }]
509
- }], () => [{ type: i1.ConversationStateService }, { type: i2.ArtifactStateService }], { environmentId: [{
617
+ args: [{ selector: 'mj-conversation-workspace', template: "<div class=\"conversation-workspace\" [attr.data-layout]=\"layout\" mjSearchShortcut (searchTriggered)=\"openSearch()\" kendoDialogContainer>\n <!-- Top Navigation Bar -->\n <div class=\"workspace-navigation\">\n <mj-conversation-navigation\n [activeTab]=\"activeTab\"\n [environmentId]=\"environmentId\"\n (tabChanged)=\"onTabChanged($event)\"\n (sidebarToggled)=\"toggleSidebar()\"\n (searchTriggered)=\"openSearch()\">\n </mj-conversation-navigation>\n </div>\n\n <div class=\"workspace-content\">\n <!-- Left Sidebar (hidden when Collections or Tasks view is active) -->\n <div class=\"workspace-sidebar\" *ngIf=\"isSidebarVisible && activeTab !== 'collections' && activeTab !== 'tasks'\" [style.width.px]=\"sidebarWidth\">\n <mj-conversation-sidebar\n [activeTab]=\"activeTab\"\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\"\n [renamedConversationId]=\"renamedConversationId\">\n </mj-conversation-sidebar>\n </div>\n\n <!-- Resize handle for sidebar -->\n <div class=\"sidebar-resize-handle\" *ngIf=\"isSidebarVisible && activeTab !== 'collections' && activeTab !== 'tasks'\" (mousedown)=\"onSidebarResizeStart($event)\"></div>\n\n <!-- Collections Full-Panel View -->\n <div class=\"workspace-main\" *ngIf=\"activeTab === 'collections'\">\n <mj-collections-full-view\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\"\n (collectionNavigated)=\"onCollectionNavigated($event)\">\n </mj-collections-full-view>\n </div>\n\n <!-- Tasks Full-Panel View -->\n <div class=\"workspace-main\" *ngIf=\"activeTab === 'tasks'\">\n <mj-tasks-full-view\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\"\n [baseFilter]=\"tasksFilter\"\n [activeTaskId]=\"activeTaskId\"\n (openEntityRecord)=\"onOpenEntityRecordFromTasks($event)\">\n </mj-tasks-full-view>\n </div>\n\n <!-- Main Chat Area (only shown when not in Collections or Tasks view) -->\n <div class=\"workspace-main\" *ngIf=\"activeTab !== 'collections' && activeTab !== 'tasks'\">\n <mj-conversation-chat-area\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\"\n (conversationRenamed)=\"onConversationRenamed($event)\"\n (openEntityRecord)=\"onOpenEntityRecord($event)\"\n (taskClicked)=\"onTaskClicked($event)\">\n </mj-conversation-chat-area>\n </div>\n\n <!-- Right Artifact Panel -->\n @if (isArtifactPanelOpen && activeArtifactId) {\n <div class=\"artifact-panel-resize-handle\" (mousedown)=\"onArtifactPanelResizeStart($event)\"></div>\n <div class=\"workspace-artifact-panel\" [style.width.%]=\"artifactPanelWidth\">\n <mj-artifact-viewer-panel\n [artifactId]=\"activeArtifactId\"\n [currentUser]=\"currentUser\"\n [environmentId]=\"environmentId\"\n [versionNumber]=\"activeVersionNumber ?? undefined\"\n [showSaveToCollection]=\"activeTab !== 'collections'\"\n [viewContext]=\"activeTab === 'collections' ? 'collection' : 'conversation'\"\n [contextCollectionId]=\"collectionState.activeCollectionId ?? undefined\"\n (closed)=\"closeArtifactPanel()\"\n (navigateToLink)=\"onArtifactLinkNavigation($event)\">\n </mj-artifact-viewer-panel>\n </div>\n }\n </div>\n\n <!-- Global Search Panel -->\n <mj-search-panel\n [isOpen]=\"isSearchPanelOpen\"\n [environmentId]=\"environmentId\"\n [currentUser]=\"currentUser\"\n (close)=\"closeSearch()\"\n (resultSelected)=\"handleSearchResult($event)\">\n </mj-search-panel>\n\n <!-- Toast Notifications -->\n <mj-toast></mj-toast>\n</div>", styles: [".conversation-workspace {\n display: flex;\n flex-direction: column;\n height: calc(100vh - 123px); /* Account for parent app header (~60px) */\n background-color: #F4F4F4;\n position: relative;\n}\n\n.workspace-navigation {\n flex-shrink: 0;\n height: 48px;\n background-color: #092340;\n border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.workspace-content {\n flex: 1;\n display: flex;\n overflow: hidden;\n min-height: 0;\n}\n\n.workspace-sidebar {\n flex-shrink: 0;\n background-color: #092340;\n border-right: 1px solid #D9D9D9;\n overflow-y: auto;\n}\n\n.sidebar-resize-handle {\n width: 4px;\n background: transparent;\n cursor: ew-resize;\n flex-shrink: 0;\n position: relative;\n transition: background-color 0.2s;\n}\n\n.sidebar-resize-handle:hover {\n background: #1e40af;\n}\n\n.sidebar-resize-handle:active {\n background: #1e3a8a;\n}\n\n.sidebar-resize-handle::before {\n content: '';\n position: absolute;\n left: -4px;\n right: -4px;\n top: 0;\n bottom: 0;\n cursor: ew-resize;\n}\n\n.workspace-main {\n flex: 1;\n display: flex;\n flex-direction: column;\n background-color: #FFF;\n overflow: hidden;\n min-height: 0;\n}\n\n.workspace-main > mj-conversation-chat-area {\n display: flex;\n flex: 1;\n min-height: 0;\n}\n\n.workspace-artifact-panel {\n flex-shrink: 0;\n background-color: #FFF;\n overflow: hidden;\n min-width: 300px;\n max-width: 70%;\n}\n\n.artifact-panel-resize-handle {\n width: 4px;\n background-color: transparent;\n cursor: ew-resize;\n flex-shrink: 0;\n transition: background-color 0.2s;\n position: relative;\n z-index: 10;\n}\n\n/* Wider hit area for easier grabbing */\n.artifact-panel-resize-handle::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: -4px;\n right: -4px;\n cursor: ew-resize;\n}\n\n.artifact-panel-resize-handle:hover {\n background-color: #1e40af;\n}\n\n.artifact-panel-resize-handle:active {\n background-color: #1e3a8a;\n}\n\n/* Compact layout */\n.conversation-workspace[data-layout=\"compact\"] .workspace-sidebar {\n width: 240px;\n}\n\n.conversation-workspace[data-layout=\"compact\"] .workspace-artifact-panel {\n width: 400px;\n}\n\n/* Embedded layout */\n.conversation-workspace[data-layout=\"embedded\"] {\n height: 100%;\n}\n\n.conversation-workspace[data-layout=\"embedded\"] .workspace-navigation {\n height: 48px;\n}\n\n/* Responsive */\n@media (max-width: 1024px) {\n .workspace-sidebar {\n position: absolute;\n left: 0;\n top: 60px;\n bottom: 0;\n z-index: 100;\n box-shadow: 2px 0 8px rgba(0, 0, 0, 0.1);\n }\n\n .workspace-artifact-panel {\n position: fixed;\n right: 0;\n top: 60px;\n bottom: 0;\n z-index: 100;\n box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);\n }\n}"] }]
618
+ }], () => [{ type: i1.ConversationStateService }, { type: i2.ArtifactStateService }, { type: i3.CollectionStateService }, { type: i0.ChangeDetectorRef }], { environmentId: [{
510
619
  type: Input
511
620
  }], initialConversationId: [{
512
621
  type: Input
@@ -537,5 +646,5 @@ export class ConversationWorkspaceComponent extends BaseAngularComponent {
537
646
  }], navigationChanged: [{
538
647
  type: Output
539
648
  }] }); })();
540
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConversationWorkspaceComponent, { className: "ConversationWorkspaceComponent", filePath: "src/lib/components/workspace/conversation-workspace.component.ts", lineNumber: 30 }); })();
649
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConversationWorkspaceComponent, { className: "ConversationWorkspaceComponent", filePath: "src/lib/components/workspace/conversation-workspace.component.ts", lineNumber: 32 }); })();
541
650
  //# sourceMappingURL=conversation-workspace.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-workspace.component.js","sourceRoot":"","sources":["../../../../src/lib/components/workspace/conversation-workspace.component.ts","../../../../src/lib/components/workspace/conversation-workspace.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-workspace.component.js","sourceRoot":"","sources":["../../../../src/lib/components/workspace/conversation-workspace.component.ts","../../../../src/lib/components/workspace/conversation-workspace.component.html"],"names":[],"mappings":"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"}