@memberjunction/ng-conversations 5.43.0 → 5.45.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.
- package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts +0 -1
- package/dist/lib/components/active-tasks/active-tasks-panel.component.d.ts.map +1 -1
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js +56 -52
- package/dist/lib/components/active-tasks/active-tasks-panel.component.js.map +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.d.ts +3 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.js +52 -52
- package/dist/lib/components/artifact/artifact-share-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.js +10 -14
- package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.d.ts +3 -1
- package/dist/lib/components/collection/collection-share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.js +56 -56
- package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.d.ts +3 -1
- package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.js +10 -7
- package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
- package/dist/lib/components/collection/collection-view.component.d.ts +3 -1
- package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-view.component.js +29 -41
- package/dist/lib/components/collection/collection-view.component.js.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.d.ts +4 -0
- package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.js +134 -166
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
- package/dist/lib/components/composer/ai-composer.component.d.ts +103 -0
- package/dist/lib/components/composer/ai-composer.component.d.ts.map +1 -0
- package/dist/lib/components/composer/ai-composer.component.js +263 -0
- package/dist/lib/components/composer/ai-composer.component.js.map +1 -0
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +76 -12
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js +522 -158
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
- package/dist/lib/components/conversation/pinned-messages-panel.component.js +6 -9
- package/dist/lib/components/conversation/pinned-messages-panel.component.js.map +1 -1
- package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/library/library-full-view.component.js +20 -24
- package/dist/lib/components/library/library-full-view.component.js.map +1 -1
- package/dist/lib/components/members/members-modal.component.d.ts.map +1 -1
- package/dist/lib/components/members/members-modal.component.js +10 -11
- package/dist/lib/components/members/members-modal.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.d.ts +87 -23
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input.component.js +245 -158
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/message/message-item.component.d.ts +11 -3
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-item.component.js +73 -21
- package/dist/lib/components/message/message-item.component.js.map +1 -1
- package/dist/lib/components/message/message-list.component.js +6 -9
- package/dist/lib/components/message/message-list.component.js.map +1 -1
- package/dist/lib/components/overlay/chat-overlay.component.d.ts +4 -1
- package/dist/lib/components/overlay/chat-overlay.component.d.ts.map +1 -1
- package/dist/lib/components/overlay/chat-overlay.component.js +9 -4
- package/dist/lib/components/overlay/chat-overlay.component.js.map +1 -1
- package/dist/lib/components/realtime/channels/base-realtime-channel-client.d.ts +45 -0
- package/dist/lib/components/realtime/channels/base-realtime-channel-client.d.ts.map +1 -1
- package/dist/lib/components/realtime/channels/base-realtime-channel-client.js +10 -0
- package/dist/lib/components/realtime/channels/base-realtime-channel-client.js.map +1 -1
- package/dist/lib/components/realtime/channels/client-context-channel.d.ts +46 -0
- package/dist/lib/components/realtime/channels/client-context-channel.d.ts.map +1 -0
- package/dist/lib/components/realtime/channels/client-context-channel.js +174 -0
- package/dist/lib/components/realtime/channels/client-context-channel.js.map +1 -0
- package/dist/lib/components/realtime/evidence-playback/realtime-evidence-playback.component.d.ts +123 -0
- package/dist/lib/components/realtime/evidence-playback/realtime-evidence-playback.component.d.ts.map +1 -0
- package/dist/lib/components/realtime/evidence-playback/realtime-evidence-playback.component.js +397 -0
- package/dist/lib/components/realtime/evidence-playback/realtime-evidence-playback.component.js.map +1 -0
- package/dist/lib/components/realtime/media/media-channel-state.d.ts +103 -0
- package/dist/lib/components/realtime/media/media-channel-state.d.ts.map +1 -0
- package/dist/lib/components/realtime/media/media-channel-state.js +143 -0
- package/dist/lib/components/realtime/media/media-channel-state.js.map +1 -0
- package/dist/lib/components/realtime/media/media-channel-tools.d.ts +24 -0
- package/dist/lib/components/realtime/media/media-channel-tools.d.ts.map +1 -0
- package/dist/lib/components/realtime/media/media-channel-tools.js +107 -0
- package/dist/lib/components/realtime/media/media-channel-tools.js.map +1 -0
- package/dist/lib/components/realtime/media/media-channel.d.ts +89 -0
- package/dist/lib/components/realtime/media/media-channel.d.ts.map +1 -0
- package/dist/lib/components/realtime/media/media-channel.js +253 -0
- package/dist/lib/components/realtime/media/media-channel.js.map +1 -0
- package/dist/lib/components/realtime/media/realtime-media-surface.component.d.ts +141 -0
- package/dist/lib/components/realtime/media/realtime-media-surface.component.d.ts.map +1 -0
- package/dist/lib/components/realtime/media/realtime-media-surface.component.js +574 -0
- package/dist/lib/components/realtime/media/realtime-media-surface.component.js.map +1 -0
- package/dist/lib/components/realtime/realtime-activity-rail.component.d.ts +59 -14
- package/dist/lib/components/realtime/realtime-activity-rail.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-activity-rail.component.js +277 -74
- package/dist/lib/components/realtime/realtime-activity-rail.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-agent-banner.component.d.ts +28 -27
- package/dist/lib/components/realtime/realtime-agent-banner.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-agent-banner.component.js +144 -143
- package/dist/lib/components/realtime/realtime-agent-banner.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-agent-picker.component.d.ts +12 -0
- package/dist/lib/components/realtime/realtime-agent-picker.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-agent-picker.component.js +105 -43
- package/dist/lib/components/realtime/realtime-agent-picker.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-audio-visuals.d.ts +2 -2
- package/dist/lib/components/realtime/realtime-audio-visuals.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-audio-visuals.js.map +1 -1
- package/dist/lib/components/realtime/realtime-composer.component.d.ts +41 -7
- package/dist/lib/components/realtime/realtime-composer.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-composer.component.js +216 -102
- package/dist/lib/components/realtime/realtime-composer.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-delegation-card.component.d.ts +0 -2
- package/dist/lib/components/realtime/realtime-delegation-card.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-delegation-card.component.js +67 -71
- package/dist/lib/components/realtime/realtime-delegation-card.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-session-overlay.component.d.ts +364 -44
- package/dist/lib/components/realtime/realtime-session-overlay.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-session-overlay.component.js +839 -153
- package/dist/lib/components/realtime/realtime-session-overlay.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-session-state.d.ts +5 -5
- package/dist/lib/components/realtime/realtime-session-state.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-session-state.js.map +1 -1
- package/dist/lib/components/realtime/realtime-surface-tab-style.d.ts +70 -0
- package/dist/lib/components/realtime/realtime-surface-tab-style.d.ts.map +1 -0
- package/dist/lib/components/realtime/realtime-surface-tab-style.js +115 -0
- package/dist/lib/components/realtime/realtime-surface-tab-style.js.map +1 -0
- package/dist/lib/components/realtime/realtime-surface-tabs.component.d.ts +55 -57
- package/dist/lib/components/realtime/realtime-surface-tabs.component.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-surface-tabs.component.js +165 -143
- package/dist/lib/components/realtime/realtime-surface-tabs.component.js.map +1 -1
- package/dist/lib/components/realtime/realtime-surface-tabs.model.d.ts +80 -71
- package/dist/lib/components/realtime/realtime-surface-tabs.model.d.ts.map +1 -1
- package/dist/lib/components/realtime/realtime-surface-tabs.model.js +83 -113
- package/dist/lib/components/realtime/realtime-surface-tabs.model.js.map +1 -1
- package/dist/lib/components/realtime/realtime-ui-config.d.ts +270 -0
- package/dist/lib/components/realtime/realtime-ui-config.d.ts.map +1 -0
- package/dist/lib/components/realtime/realtime-ui-config.js +212 -0
- package/dist/lib/components/realtime/realtime-ui-config.js.map +1 -0
- package/dist/lib/components/search/search-panel.component.d.ts +2 -0
- package/dist/lib/components/search/search-panel.component.d.ts.map +1 -1
- package/dist/lib/components/search/search-panel.component.js +92 -101
- package/dist/lib/components/search/search-panel.component.js.map +1 -1
- package/dist/lib/components/share/share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/share/share-modal.component.js +10 -11
- package/dist/lib/components/share/share-modal.component.js.map +1 -1
- package/dist/lib/components/shared/user-picker.component.d.ts.map +1 -1
- package/dist/lib/components/shared/user-picker.component.js +12 -15
- package/dist/lib/components/shared/user-picker.component.js.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts +11 -3
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.js +34 -10
- package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -1
- package/dist/lib/components/sidebar/routines-section.component.d.ts +73 -0
- package/dist/lib/components/sidebar/routines-section.component.d.ts.map +1 -0
- package/dist/lib/components/sidebar/routines-section.component.js +211 -0
- package/dist/lib/components/sidebar/routines-section.component.js.map +1 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +12 -0
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.js +37 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts +16 -5
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.js +51 -31
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
- package/dist/lib/composer-plugins/agent-mention.provider.d.ts +16 -0
- package/dist/lib/composer-plugins/agent-mention.provider.d.ts.map +1 -0
- package/dist/lib/composer-plugins/agent-mention.provider.js +28 -0
- package/dist/lib/composer-plugins/agent-mention.provider.js.map +1 -0
- package/dist/lib/composer-plugins/base-conversation-mention.provider.d.ts +20 -0
- package/dist/lib/composer-plugins/base-conversation-mention.provider.d.ts.map +1 -0
- package/dist/lib/composer-plugins/base-conversation-mention.provider.js +32 -0
- package/dist/lib/composer-plugins/base-conversation-mention.provider.js.map +1 -0
- package/dist/lib/composer-plugins/load-composer-plugins.d.ts +9 -0
- package/dist/lib/composer-plugins/load-composer-plugins.d.ts.map +1 -0
- package/dist/lib/composer-plugins/load-composer-plugins.js +17 -0
- package/dist/lib/composer-plugins/load-composer-plugins.js.map +1 -0
- package/dist/lib/composer-plugins/record-mention.provider.d.ts +14 -0
- package/dist/lib/composer-plugins/record-mention.provider.d.ts.map +1 -0
- package/dist/lib/composer-plugins/record-mention.provider.js +26 -0
- package/dist/lib/composer-plugins/record-mention.provider.js.map +1 -0
- package/dist/lib/composer-plugins/skill-command.provider.d.ts +15 -0
- package/dist/lib/composer-plugins/skill-command.provider.d.ts.map +1 -0
- package/dist/lib/composer-plugins/skill-command.provider.js +27 -0
- package/dist/lib/composer-plugins/skill-command.provider.js.map +1 -0
- package/dist/lib/conversations.module.d.ts +68 -64
- package/dist/lib/conversations.module.d.ts.map +1 -1
- package/dist/lib/conversations.module.js +69 -18
- package/dist/lib/conversations.module.js.map +1 -1
- package/dist/lib/models/conversation-state.model.d.ts +6 -3
- package/dist/lib/models/conversation-state.model.d.ts.map +1 -1
- package/dist/lib/models/conversation-state.model.js.map +1 -1
- package/dist/lib/services/conversation-agent.service.d.ts +9 -2
- package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-agent.service.js +26 -2
- package/dist/lib/services/conversation-agent.service.js.map +1 -1
- package/dist/lib/services/conversation-attachment.service.d.ts +1 -1
- package/dist/lib/services/conversation-attachment.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-attachment.service.js.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.d.ts +42 -19
- package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.js +113 -18
- package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
- package/dist/lib/services/realtime-audio-recorder.d.ts +143 -0
- package/dist/lib/services/realtime-audio-recorder.d.ts.map +1 -0
- package/dist/lib/services/realtime-audio-recorder.js +379 -0
- package/dist/lib/services/realtime-audio-recorder.js.map +1 -0
- package/dist/lib/services/realtime-pcm-wav.d.ts +75 -0
- package/dist/lib/services/realtime-pcm-wav.d.ts.map +1 -0
- package/dist/lib/services/realtime-pcm-wav.js +205 -0
- package/dist/lib/services/realtime-pcm-wav.js.map +1 -0
- package/dist/lib/services/realtime-session-review.service.d.ts +28 -1
- package/dist/lib/services/realtime-session-review.service.d.ts.map +1 -1
- package/dist/lib/services/realtime-session-review.service.js +12 -3
- package/dist/lib/services/realtime-session-review.service.js.map +1 -1
- package/dist/lib/services/realtime-session.service.d.ts +210 -20
- package/dist/lib/services/realtime-session.service.d.ts.map +1 -1
- package/dist/lib/services/realtime-session.service.js +452 -21
- package/dist/lib/services/realtime-session.service.js.map +1 -1
- package/dist/lib/services/realtime-sessions-adapter.js +1 -1
- package/dist/lib/services/realtime-sessions-adapter.js.map +1 -1
- package/dist/lib/services/ui-command-handler.service.d.ts +7 -2
- package/dist/lib/services/ui-command-handler.service.d.ts.map +1 -1
- package/dist/lib/services/ui-command-handler.service.js +6 -2
- package/dist/lib/services/ui-command-handler.service.js.map +1 -1
- package/dist/lib/utils/plan-mode-preference.d.ts +62 -0
- package/dist/lib/utils/plan-mode-preference.d.ts.map +1 -0
- package/dist/lib/utils/plan-mode-preference.js +130 -0
- package/dist/lib/utils/plan-mode-preference.js.map +1 -0
- package/dist/public-api.d.ts +29 -3
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +46 -3
- package/dist/public-api.js.map +1 -1
- package/package.json +30 -26
- package/dist/__tests__/attachment-badge.test.d.ts +0 -2
- package/dist/__tests__/attachment-badge.test.d.ts.map +0 -1
- package/dist/__tests__/attachment-badge.test.js +0 -66
- package/dist/__tests__/attachment-badge.test.js.map +0 -1
- package/dist/__tests__/channel-optional-surface.test.d.ts +0 -2
- package/dist/__tests__/channel-optional-surface.test.d.ts.map +0 -1
- package/dist/__tests__/channel-optional-surface.test.js +0 -53
- package/dist/__tests__/channel-optional-surface.test.js.map +0 -1
- package/dist/__tests__/chat-events.test.d.ts +0 -14
- package/dist/__tests__/chat-events.test.d.ts.map +0 -1
- package/dist/__tests__/chat-events.test.js +0 -109
- package/dist/__tests__/chat-events.test.js.map +0 -1
- package/dist/__tests__/collections-full-view.test.d.ts +0 -2
- package/dist/__tests__/collections-full-view.test.d.ts.map +0 -1
- package/dist/__tests__/collections-full-view.test.js +0 -225
- package/dist/__tests__/collections-full-view.test.js.map +0 -1
- package/dist/__tests__/conversation-cache.test.d.ts +0 -2
- package/dist/__tests__/conversation-cache.test.d.ts.map +0 -1
- package/dist/__tests__/conversation-cache.test.js +0 -233
- package/dist/__tests__/conversation-cache.test.js.map +0 -1
- package/dist/__tests__/conversation-naming.test.d.ts +0 -2
- package/dist/__tests__/conversation-naming.test.d.ts.map +0 -1
- package/dist/__tests__/conversation-naming.test.js +0 -110
- package/dist/__tests__/conversation-naming.test.js.map +0 -1
- package/dist/__tests__/delegation-result-parser.test.d.ts +0 -2
- package/dist/__tests__/delegation-result-parser.test.d.ts.map +0 -1
- package/dist/__tests__/delegation-result-parser.test.js +0 -107
- package/dist/__tests__/delegation-result-parser.test.js.map +0 -1
- package/dist/__tests__/distinct-artifacts.test.d.ts +0 -2
- package/dist/__tests__/distinct-artifacts.test.d.ts.map +0 -1
- package/dist/__tests__/distinct-artifacts.test.js +0 -56
- package/dist/__tests__/distinct-artifacts.test.js.map +0 -1
- package/dist/__tests__/event-wiring.test.d.ts +0 -15
- package/dist/__tests__/event-wiring.test.d.ts.map +0 -1
- package/dist/__tests__/event-wiring.test.js +0 -100
- package/dist/__tests__/event-wiring.test.js.map +0 -1
- package/dist/__tests__/index.test.d.ts +0 -2
- package/dist/__tests__/index.test.d.ts.map +0 -1
- package/dist/__tests__/index.test.js +0 -7
- package/dist/__tests__/index.test.js.map +0 -1
- package/dist/__tests__/narration-template.test.d.ts +0 -2
- package/dist/__tests__/narration-template.test.d.ts.map +0 -1
- package/dist/__tests__/narration-template.test.js +0 -76
- package/dist/__tests__/narration-template.test.js.map +0 -1
- package/dist/__tests__/notification-model.test.d.ts +0 -2
- package/dist/__tests__/notification-model.test.d.ts.map +0 -1
- package/dist/__tests__/notification-model.test.js +0 -68
- package/dist/__tests__/notification-model.test.js.map +0 -1
- package/dist/__tests__/realtime-agent-picker-models.test.d.ts +0 -2
- package/dist/__tests__/realtime-agent-picker-models.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-agent-picker-models.test.js +0 -49
- package/dist/__tests__/realtime-agent-picker-models.test.js.map +0 -1
- package/dist/__tests__/realtime-audio-visuals.test.d.ts +0 -2
- package/dist/__tests__/realtime-audio-visuals.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-audio-visuals.test.js +0 -123
- package/dist/__tests__/realtime-audio-visuals.test.js.map +0 -1
- package/dist/__tests__/realtime-delegation-card-cancel.test.d.ts +0 -2
- package/dist/__tests__/realtime-delegation-card-cancel.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-delegation-card-cancel.test.js +0 -48
- package/dist/__tests__/realtime-delegation-card-cancel.test.js.map +0 -1
- package/dist/__tests__/realtime-disclosure.test.d.ts +0 -2
- package/dist/__tests__/realtime-disclosure.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-disclosure.test.js +0 -164
- package/dist/__tests__/realtime-disclosure.test.js.map +0 -1
- package/dist/__tests__/realtime-pairing.test.d.ts +0 -2
- package/dist/__tests__/realtime-pairing.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-pairing.test.js +0 -207
- package/dist/__tests__/realtime-pairing.test.js.map +0 -1
- package/dist/__tests__/realtime-review-lifecycle.test.d.ts +0 -2
- package/dist/__tests__/realtime-review-lifecycle.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-review-lifecycle.test.js +0 -154
- package/dist/__tests__/realtime-review-lifecycle.test.js.map +0 -1
- package/dist/__tests__/realtime-session-cancel-usage.test.d.ts +0 -2
- package/dist/__tests__/realtime-session-cancel-usage.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-session-cancel-usage.test.js +0 -230
- package/dist/__tests__/realtime-session-cancel-usage.test.js.map +0 -1
- package/dist/__tests__/realtime-session-channels.test.d.ts +0 -2
- package/dist/__tests__/realtime-session-channels.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-session-channels.test.js +0 -252
- package/dist/__tests__/realtime-session-channels.test.js.map +0 -1
- package/dist/__tests__/realtime-session-client-tools.test.d.ts +0 -2
- package/dist/__tests__/realtime-session-client-tools.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-session-client-tools.test.js +0 -103
- package/dist/__tests__/realtime-session-client-tools.test.js.map +0 -1
- package/dist/__tests__/realtime-session-minimized.test.d.ts +0 -2
- package/dist/__tests__/realtime-session-minimized.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-session-minimized.test.js +0 -32
- package/dist/__tests__/realtime-session-minimized.test.js.map +0 -1
- package/dist/__tests__/realtime-session-mint.test.d.ts +0 -2
- package/dist/__tests__/realtime-session-mint.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-session-mint.test.js +0 -69
- package/dist/__tests__/realtime-session-mint.test.js.map +0 -1
- package/dist/__tests__/realtime-session-policy.test.d.ts +0 -2
- package/dist/__tests__/realtime-session-policy.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-session-policy.test.js +0 -303
- package/dist/__tests__/realtime-session-policy.test.js.map +0 -1
- package/dist/__tests__/realtime-session-review.service.test.d.ts +0 -2
- package/dist/__tests__/realtime-session-review.service.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-session-review.service.test.js +0 -743
- package/dist/__tests__/realtime-session-review.service.test.js.map +0 -1
- package/dist/__tests__/realtime-session-state.test.d.ts +0 -2
- package/dist/__tests__/realtime-session-state.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-session-state.test.js +0 -83
- package/dist/__tests__/realtime-session-state.test.js.map +0 -1
- package/dist/__tests__/realtime-session-timeline-card.test.d.ts +0 -2
- package/dist/__tests__/realtime-session-timeline-card.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-session-timeline-card.test.js +0 -106
- package/dist/__tests__/realtime-session-timeline-card.test.js.map +0 -1
- package/dist/__tests__/realtime-session-timeline.test.d.ts +0 -2
- package/dist/__tests__/realtime-session-timeline.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-session-timeline.test.js +0 -142
- package/dist/__tests__/realtime-session-timeline.test.js.map +0 -1
- package/dist/__tests__/realtime-sessions-adapter.test.d.ts +0 -19
- package/dist/__tests__/realtime-sessions-adapter.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-sessions-adapter.test.js +0 -188
- package/dist/__tests__/realtime-sessions-adapter.test.js.map +0 -1
- package/dist/__tests__/realtime-surface-panel-prefs.test.d.ts +0 -2
- package/dist/__tests__/realtime-surface-panel-prefs.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-surface-panel-prefs.test.js +0 -100
- package/dist/__tests__/realtime-surface-panel-prefs.test.js.map +0 -1
- package/dist/__tests__/realtime-surface-tabs-model.test.d.ts +0 -2
- package/dist/__tests__/realtime-surface-tabs-model.test.d.ts.map +0 -1
- package/dist/__tests__/realtime-surface-tabs-model.test.js +0 -193
- package/dist/__tests__/realtime-surface-tabs-model.test.js.map +0 -1
- package/dist/__tests__/remote-browser-audio-player.test.d.ts +0 -2
- package/dist/__tests__/remote-browser-audio-player.test.d.ts.map +0 -1
- package/dist/__tests__/remote-browser-audio-player.test.js +0 -137
- package/dist/__tests__/remote-browser-audio-player.test.js.map +0 -1
- package/dist/__tests__/remote-browser-channel.test.d.ts +0 -2
- package/dist/__tests__/remote-browser-channel.test.d.ts.map +0 -1
- package/dist/__tests__/remote-browser-channel.test.js +0 -585
- package/dist/__tests__/remote-browser-channel.test.js.map +0 -1
- package/dist/__tests__/search-service.test.d.ts +0 -2
- package/dist/__tests__/search-service.test.d.ts.map +0 -1
- package/dist/__tests__/search-service.test.js +0 -114
- package/dist/__tests__/search-service.test.js.map +0 -1
- package/dist/__tests__/slot-defaults.test.d.ts +0 -24
- package/dist/__tests__/slot-defaults.test.d.ts.map +0 -1
- package/dist/__tests__/slot-defaults.test.js +0 -63
- package/dist/__tests__/slot-defaults.test.js.map +0 -1
- package/dist/__tests__/toast-service.test.d.ts +0 -2
- package/dist/__tests__/toast-service.test.d.ts.map +0 -1
- package/dist/__tests__/toast-service.test.js +0 -143
- package/dist/__tests__/toast-service.test.js.map +0 -1
- package/dist/__tests__/user-authorization.test.d.ts +0 -2
- package/dist/__tests__/user-authorization.test.d.ts.map +0 -1
- package/dist/__tests__/user-authorization.test.js +0 -97
- package/dist/__tests__/user-authorization.test.js.map +0 -1
- package/dist/__tests__/voice-session-narration.test.d.ts +0 -2
- package/dist/__tests__/voice-session-narration.test.d.ts.map +0 -1
- package/dist/__tests__/voice-session-narration.test.js +0 -609
- package/dist/__tests__/voice-session-narration.test.js.map +0 -1
- package/dist/__tests__/whiteboard-artifact-viewer.test.d.ts +0 -2
- package/dist/__tests__/whiteboard-artifact-viewer.test.d.ts.map +0 -1
- package/dist/__tests__/whiteboard-artifact-viewer.test.js +0 -101
- package/dist/__tests__/whiteboard-artifact-viewer.test.js.map +0 -1
- package/dist/__tests__/whiteboard-channel.test.d.ts +0 -2
- package/dist/__tests__/whiteboard-channel.test.d.ts.map +0 -1
- package/dist/__tests__/whiteboard-channel.test.js +0 -260
- package/dist/__tests__/whiteboard-channel.test.js.map +0 -1
- package/dist/__tests__/whiteboard-restore-state.test.d.ts +0 -2
- package/dist/__tests__/whiteboard-restore-state.test.d.ts.map +0 -1
- package/dist/__tests__/whiteboard-restore-state.test.js +0 -108
- package/dist/__tests__/whiteboard-restore-state.test.js.map +0 -1
- package/dist/lib/components/mention/mention-dropdown.component.d.ts +0 -53
- package/dist/lib/components/mention/mention-dropdown.component.d.ts.map +0 -1
- package/dist/lib/components/mention/mention-dropdown.component.js +0 -276
- package/dist/lib/components/mention/mention-dropdown.component.js.map +0 -1
- package/dist/lib/components/mention/mention-editor.component.d.ts +0 -256
- package/dist/lib/components/mention/mention-editor.component.d.ts.map +0 -1
- package/dist/lib/components/mention/mention-editor.component.js +0 -1233
- package/dist/lib/components/mention/mention-editor.component.js.map +0 -1
- package/dist/lib/components/message/message-input-box.component.d.ts +0 -137
- package/dist/lib/components/message/message-input-box.component.d.ts.map +0 -1
- package/dist/lib/components/message/message-input-box.component.js +0 -321
- package/dist/lib/components/message/message-input-box.component.js.map +0 -1
package/dist/public-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Public API Surface of @memberjunction/ng-conversations\n */\n\n// Module\nexport * from './lib/conversations.module';\n\n// Models\nexport * from './lib/models/conversation-state.model';\nexport * from './lib/models/notification.model';\nexport * from './lib/models/lazy-artifact-info';\nexport * from './lib/models/navigation-request.model';\n\n// Services - State\nexport * from './lib/services/data-cache.service';\nexport * from './lib/services/artifact-state.service';\nexport * from './lib/services/agent-state.service';\nexport * from './lib/services/conversation-agent.service';\nexport * from './lib/services/active-tasks.service';\nexport * from './lib/services/conversation-streaming.service';\nexport * from './lib/services/dialog.service';\nexport * from './lib/services/export.service';\nexport * from './lib/services/notification.service';\nexport * from './lib/services/toast.service';\nexport * from './lib/services/mention-parser.service';\nexport * from './lib/services/mention-autocomplete.service';\nexport * from './lib/services/collection-permission.service';\nexport * from './lib/services/artifact-permission.service';\nexport * from './lib/services/artifact-use-tracking.service';\nexport * from './lib/services/collection-state.service';\nexport * from './lib/services/conversation-attachment.service';\nexport * from './lib/services/ui-command-handler.service';\nexport * from './lib/services/conversation-bridge.service';\nexport * from './lib/services/realtime-session.service';\nexport * from './lib/services/realtime-pairing';\nexport * from './lib/services/user-authorization';\nexport * from './lib/services/realtime-sessions-adapter';\nexport * from './lib/services/realtime-session-review.service';\nexport * from './lib/services/delegation-result-parser';\n\n// Components\nexport * from './lib/components/workspace/conversation-workspace.component';\nexport * from './lib/components/navigation/conversation-navigation.component';\nexport * from './lib/components/sidebar/conversation-sidebar.component';\nexport * from './lib/components/conversation/conversation-list.component';\nexport * from './lib/components/conversation/conversation-chat-area.component';\nexport * from './lib/components/conversation/conversation-empty-state.component';\nexport * from './lib/components/message/message-item.component';\nexport * from './lib/components/message/message-list.component';\nexport * from './lib/components/message/message-input.component';\nexport * from './lib/components/message/message-input-box.component';\nexport * from './lib/components/message/conversation-message-rating.component';\nexport * from './lib/components/mention/mention-dropdown.component';\nexport * from './lib/components/mention/mention-editor.component';\nexport * from './lib/components/collection/collection-tree.component';\nexport * from './lib/components/collection/collection-view.component';\nexport * from './lib/components/collection/collections-full-view.component';\nexport * from './lib/components/collection/collection-artifact-card.component';\nexport * from './lib/components/collection/artifact-collection-picker-modal.component';\nexport * from './lib/components/collection/collection-share-modal.component';\nexport * from './lib/components/artifact/artifact-share-modal.component';\nexport * from './lib/components/project/project-selector.component';\nexport * from './lib/components/project/project-form-modal.component';\nexport * from './lib/components/task/tasks-full-view.component';\nexport * from './lib/components/tasks/task-widget.component';\nexport * from './lib/components/agent/agent-process-panel.component';\nexport * from './lib/components/agent/active-agent-indicator.component';\nexport * from './lib/components/active-tasks/active-tasks-panel.component';\nexport * from './lib/components/share/share-modal.component';\nexport * from './lib/components/notification/notification-badge.component';\nexport * from './lib/components/notification/activity-indicator.component';\nexport * from './lib/components/toast/toast.component';\nexport * from './lib/components/global-tasks/global-tasks-panel.component';\nexport * from './lib/components/attachment/image-viewer.component';\nexport * from './lib/components/overlay/chat-overlay.component';\n\n// PR 2c — Widget extension surface (slots, events, design tokens)\nexport * from './lib/services/conversations-runtime-bootstrap.service';\nexport * from './lib/directives/chat-slot.directive';\nexport * from './lib/components/slots/slot-interfaces';\nexport * from './lib/components/slots/mj-chat-empty-state-default.component';\nexport * from './lib/components/slots/mj-chat-agent-presence-default.component';\nexport * from './lib/components/slots/mj-chat-header-default.component';\nexport * from './lib/components/slots/mj-chat-message-extra-default.component';\nexport * from './lib/components/slots/mj-chat-demonstration-surface-default.component';\nexport * from './lib/components/slots/mj-chat-message-bubble-default.component';\nexport * from './lib/events/chat-events';\n\n// Realtime / voice (PR #2787 — co-agent realtime sessions)\nexport * from './lib/components/realtime/realtime-agent-picker.component';\n// Real-time \"call mode\" overlay + its componentized parts\nexport * from './lib/components/realtime/realtime-session-overlay.component';\nexport * from './lib/components/realtime/realtime-session-state';\nexport * from './lib/components/realtime/realtime-agent-banner.component';\nexport * from './lib/components/realtime/realtime-session-thread.component';\nexport * from './lib/components/realtime/realtime-delegation-card.component';\nexport * from './lib/components/realtime/realtime-activity-rail.component';\nexport * from './lib/components/realtime/realtime-surface-tabs.component';\nexport * from './lib/components/realtime/realtime-surface-tabs.model';\nexport * from './lib/components/realtime/realtime-surface-panel-prefs';\nexport * from './lib/components/realtime/realtime-disclosure';\nexport * from './lib/components/realtime/realtime-audio-visuals';\nexport * from './lib/components/realtime/realtime-composer.component';\nexport * from './lib/components/realtime/realtime-channel-strip.component';\n// Conversation-timeline collapse of past realtime sessions (one card per session) + its pure grouping pass\nexport * from './lib/components/realtime/realtime-session-timeline-card.component';\nexport * from './lib/utils/realtime-session-timeline';\n// Pluggable interactive-channel contract (registry-resolved client plugins) + pane host\nexport * from './lib/components/realtime/channels/base-realtime-channel-client';\nexport * from './lib/components/realtime/channels/realtime-channel-pane.component';\nexport * from './lib/components/realtime/channels/channel-onboarding-panel.component';\n// Live whiteboard channel plugin + artifact viewer (thin consumers of the generic board).\n// NOTE: the whiteboard itself (engine, tools, components, export builders) lives in\n// @memberjunction/ng-whiteboard — import board types/components from there directly.\nexport * from './lib/components/realtime/whiteboard/whiteboard-channel';\nexport * from './lib/components/realtime/whiteboard/whiteboard-artifact-viewer.component';\n// Remote Browser channel plugin (client-direct, server-hosted browser) + its live surface + tools.\nexport * from './lib/components/realtime/remote-browser/remote-browser-channel';\nexport * from './lib/components/realtime/remote-browser/remote-browser-surface.component';\nexport * from './lib/components/realtime/remote-browser/remote-browser-tools';\nexport * from './lib/components/realtime/remote-browser/remote-browser-audio-player';\n"]}
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Public API Surface of @memberjunction/ng-conversations\n */\n\n// Module\nexport * from './lib/conversations.module';\n\n// Models\nexport * from './lib/models/conversation-state.model';\nexport * from './lib/models/notification.model';\nexport * from './lib/models/lazy-artifact-info';\nexport * from './lib/models/navigation-request.model';\n\n// Services - State\nexport * from './lib/services/data-cache.service';\nexport * from './lib/services/artifact-state.service';\nexport * from './lib/services/agent-state.service';\nexport * from './lib/services/conversation-agent.service';\nexport * from './lib/services/active-tasks.service';\nexport * from './lib/services/conversation-streaming.service';\nexport * from './lib/services/dialog.service';\nexport * from './lib/services/export.service';\nexport * from './lib/services/notification.service';\nexport * from './lib/services/toast.service';\nexport * from './lib/services/mention-parser.service';\n// AI-aware mention suggestion engine (BaseSingleton — use MentionAutocompleteService.Instance).\n// NOTE: the generic MentionSuggestion TYPE lives in @memberjunction/ng-composer — import it\n// from there directly (no re-exports between packages).\nexport * from './lib/services/mention-autocomplete.service';\nexport * from './lib/services/collection-permission.service';\nexport * from './lib/services/artifact-permission.service';\nexport * from './lib/services/artifact-use-tracking.service';\nexport * from './lib/services/collection-state.service';\nexport * from './lib/services/conversation-attachment.service';\nexport * from './lib/services/ui-command-handler.service';\nexport * from './lib/services/conversation-bridge.service';\nexport * from './lib/services/realtime-session.service';\nexport * from './lib/services/realtime-pairing';\nexport * from './lib/services/user-authorization';\nexport * from './lib/services/realtime-sessions-adapter';\nexport * from './lib/services/realtime-session-review.service';\nexport * from './lib/services/delegation-result-parser';\n\n// Components\nexport * from './lib/components/workspace/conversation-workspace.component';\nexport * from './lib/components/navigation/conversation-navigation.component';\nexport * from './lib/components/sidebar/conversation-sidebar.component';\nexport * from './lib/components/sidebar/routines-section.component';\nexport * from './lib/components/conversation/conversation-list.component';\nexport * from './lib/components/conversation/conversation-chat-area.component';\nexport * from './lib/components/conversation/conversation-empty-state.component';\nexport * from './lib/components/message/message-item.component';\nexport * from './lib/components/message/message-list.component';\nexport * from './lib/components/message/message-input.component';\n// AI-aware composer wrapper (mj-ai-composer): mj-message-input-box + the three AI trigger\n// plugins built in, proxying the input box's full inputs/outputs/methods surface.\nexport * from './lib/components/composer/ai-composer.component';\n// Composer trigger-provider plugins ('@' / '#' / '/') — ClassFactory-registered; also\n// directly instantiable for explicit provider lists.\nexport * from './lib/composer-plugins/base-conversation-mention.provider';\nexport * from './lib/composer-plugins/agent-mention.provider';\nexport * from './lib/composer-plugins/record-mention.provider';\nexport * from './lib/composer-plugins/skill-command.provider';\nexport * from './lib/composer-plugins/load-composer-plugins';\n// NOTE: MessageInputBoxComponent, MentionEditorComponent (+ PendingAttachment), and\n// MentionDropdownComponent live in @memberjunction/ng-composer — import from there directly.\nexport * from './lib/components/message/conversation-message-rating.component';\nexport * from './lib/components/collection/collection-tree.component';\nexport * from './lib/components/collection/collection-view.component';\nexport * from './lib/components/collection/collections-full-view.component';\nexport * from './lib/components/collection/collection-artifact-card.component';\nexport * from './lib/components/collection/artifact-collection-picker-modal.component';\nexport * from './lib/components/collection/collection-share-modal.component';\nexport * from './lib/components/artifact/artifact-share-modal.component';\nexport * from './lib/components/project/project-selector.component';\nexport * from './lib/components/project/project-form-modal.component';\nexport * from './lib/components/task/tasks-full-view.component';\nexport * from './lib/components/tasks/task-widget.component';\nexport * from './lib/components/agent/agent-process-panel.component';\nexport * from './lib/components/agent/active-agent-indicator.component';\nexport * from './lib/components/active-tasks/active-tasks-panel.component';\nexport * from './lib/components/share/share-modal.component';\nexport * from './lib/components/notification/notification-badge.component';\nexport * from './lib/components/notification/activity-indicator.component';\nexport * from './lib/components/toast/toast.component';\nexport * from './lib/components/global-tasks/global-tasks-panel.component';\nexport * from './lib/components/attachment/image-viewer.component';\nexport * from './lib/components/overlay/chat-overlay.component';\n\n// Components declared AND exported by ConversationsModule but previously missing\n// from public-api. They are used in the templates of exported components (e.g.\n// mj-conversation-chat-area), so a consumer app compiling in Angular's\n// local-compilation / HMR mode fails to build (NG3004: \"Unable to import\n// component … not exported from @memberjunction/ng-conversations\") unless every\n// module-exported component is importable from the package entry point.\nexport * from './lib/components/collection/artifact-create-modal.component';\nexport * from './lib/components/collection/collection-form-modal.component';\nexport * from './lib/components/conversation/conversation-agent-picker.component';\nexport * from './lib/components/conversation/conversation-mode-picker.component';\nexport * from './lib/components/conversation/pinned-messages-panel.component';\nexport * from './lib/components/dialogs/input-dialog.component';\nexport * from './lib/components/dialogs/rating-dialog.component';\nexport * from './lib/components/export/export-modal.component';\nexport * from './lib/components/library/library-full-view.component';\nexport * from './lib/components/members/members-modal.component';\nexport * from './lib/components/message/actionable-commands.component';\nexport * from './lib/components/search/search-panel.component';\nexport * from './lib/components/shared/user-picker.component';\nexport * from './lib/components/tasks/tasks-dropdown.component';\nexport * from './lib/components/thread/thread-panel.component';\nexport * from './lib/directives/search-shortcut.directive';\n\n// PR 2c — Widget extension surface (slots, events, design tokens)\nexport * from './lib/services/conversations-runtime-bootstrap.service';\nexport * from './lib/directives/chat-slot.directive';\nexport * from './lib/components/slots/slot-interfaces';\nexport * from './lib/components/slots/mj-chat-empty-state-default.component';\nexport * from './lib/components/slots/mj-chat-agent-presence-default.component';\nexport * from './lib/components/slots/mj-chat-header-default.component';\nexport * from './lib/components/slots/mj-chat-message-extra-default.component';\nexport * from './lib/components/slots/mj-chat-demonstration-surface-default.component';\nexport * from './lib/components/slots/mj-chat-message-bubble-default.component';\nexport * from './lib/events/chat-events';\n\n// Realtime / voice (PR #2787 — co-agent realtime sessions)\nexport * from './lib/components/realtime/realtime-agent-picker.component';\n// Real-time \"call mode\" overlay + its componentized parts\nexport * from './lib/components/realtime/realtime-session-overlay.component';\nexport * from './lib/components/realtime/realtime-session-state';\nexport * from './lib/components/realtime/realtime-agent-banner.component';\nexport * from './lib/components/realtime/realtime-session-thread.component';\nexport * from './lib/components/realtime/realtime-delegation-card.component';\nexport * from './lib/components/realtime/realtime-activity-rail.component';\nexport * from './lib/components/realtime/realtime-surface-tabs.component';\nexport * from './lib/components/realtime/realtime-surface-tabs.model';\nexport * from './lib/components/realtime/realtime-surface-panel-prefs';\nexport * from './lib/components/realtime/realtime-disclosure';\nexport * from './lib/components/realtime/realtime-audio-visuals';\nexport * from './lib/components/realtime/realtime-composer.component';\nexport * from './lib/components/realtime/realtime-channel-strip.component';\n// Conversation-timeline collapse of past realtime sessions (one card per session) + its pure grouping pass\nexport * from './lib/components/realtime/realtime-session-timeline-card.component';\nexport * from './lib/utils/realtime-session-timeline';\n// Pluggable interactive-channel contract (registry-resolved client plugins) + pane host\nexport * from './lib/components/realtime/channels/base-realtime-channel-client';\nexport * from './lib/components/realtime/channels/client-context-channel';\nexport * from './lib/components/realtime/channels/realtime-channel-pane.component';\nexport * from './lib/components/realtime/channels/channel-onboarding-panel.component';\n// Live whiteboard channel plugin + artifact viewer (thin consumers of the generic board).\n// NOTE: the whiteboard itself (engine, tools, components, export builders) lives in\n// @memberjunction/ng-whiteboard — import board types/components from there directly.\nexport * from './lib/components/realtime/whiteboard/whiteboard-channel';\nexport * from './lib/components/realtime/whiteboard/whiteboard-artifact-viewer.component';\n// Remote Browser channel plugin (client-direct, server-hosted browser) + its live surface + tools.\nexport * from './lib/components/realtime/remote-browser/remote-browser-channel';\nexport * from './lib/components/realtime/remote-browser/remote-browser-surface.component';\nexport * from './lib/components/realtime/remote-browser/remote-browser-tools';\nexport * from './lib/components/realtime/remote-browser/remote-browser-audio-player';\n// Media channel plugin (Tabs-layout media display surface) + its state engine, tools, and surface.\nexport * from './lib/components/realtime/media/media-channel';\nexport * from './lib/components/realtime/media/media-channel-state';\nexport * from './lib/components/realtime/media/media-channel-tools';\nexport * from './lib/components/realtime/media/realtime-media-surface.component';\n// Time-aligned Evidence Playback component (recorded session audio synced to the transcript).\nexport * from './lib/components/realtime/evidence-playback/realtime-evidence-playback.component';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-conversations",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.45.0",
|
|
4
4
|
"description": "MemberJunction: Conversation, Collection, and Artifact management components for any Angular application",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -31,31 +31,35 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@angular/animations": "21.1.3",
|
|
33
33
|
"@angular/cdk": "21.1.3",
|
|
34
|
-
"@memberjunction/ai": "5.
|
|
35
|
-
"@memberjunction/ai-agent-client": "5.
|
|
36
|
-
"@memberjunction/ai-core-plus": "5.
|
|
37
|
-
"@memberjunction/ai-engine-base": "5.
|
|
38
|
-
"@memberjunction/ai-realtime-client": "5.
|
|
39
|
-
"@memberjunction/conversations-runtime": "5.
|
|
40
|
-
"@memberjunction/core": "5.
|
|
41
|
-
"@memberjunction/core-entities": "5.
|
|
42
|
-
"@memberjunction/global": "5.
|
|
43
|
-
"@memberjunction/graphql-dataprovider": "5.
|
|
44
|
-
"@memberjunction/interactive-component-types": "5.
|
|
45
|
-
"@memberjunction/ng-agent-client": "5.
|
|
46
|
-
"@memberjunction/ng-artifacts": "5.
|
|
47
|
-
"@memberjunction/ng-base-types": "5.
|
|
48
|
-
"@memberjunction/ng-code-editor": "5.
|
|
49
|
-
"@memberjunction/ng-
|
|
50
|
-
"@memberjunction/ng-
|
|
51
|
-
"@memberjunction/ng-
|
|
52
|
-
"@memberjunction/ng-
|
|
53
|
-
"@memberjunction/ng-
|
|
54
|
-
"@memberjunction/ng-
|
|
55
|
-
"@memberjunction/ng-
|
|
56
|
-
"@memberjunction/ng-
|
|
57
|
-
"@memberjunction/ng-
|
|
58
|
-
"@memberjunction/ng-
|
|
34
|
+
"@memberjunction/ai": "5.45.0",
|
|
35
|
+
"@memberjunction/ai-agent-client": "5.45.0",
|
|
36
|
+
"@memberjunction/ai-core-plus": "5.45.0",
|
|
37
|
+
"@memberjunction/ai-engine-base": "5.45.0",
|
|
38
|
+
"@memberjunction/ai-realtime-client": "5.45.0",
|
|
39
|
+
"@memberjunction/conversations-runtime": "5.45.0",
|
|
40
|
+
"@memberjunction/core": "5.45.0",
|
|
41
|
+
"@memberjunction/core-entities": "5.45.0",
|
|
42
|
+
"@memberjunction/global": "5.45.0",
|
|
43
|
+
"@memberjunction/graphql-dataprovider": "5.45.0",
|
|
44
|
+
"@memberjunction/interactive-component-types": "5.45.0",
|
|
45
|
+
"@memberjunction/ng-agent-client": "5.45.0",
|
|
46
|
+
"@memberjunction/ng-artifacts": "5.45.0",
|
|
47
|
+
"@memberjunction/ng-base-types": "5.45.0",
|
|
48
|
+
"@memberjunction/ng-code-editor": "5.45.0",
|
|
49
|
+
"@memberjunction/ng-composer": "5.45.0",
|
|
50
|
+
"@memberjunction/ng-container-directives": "5.45.0",
|
|
51
|
+
"@memberjunction/ng-forms": "5.45.0",
|
|
52
|
+
"@memberjunction/ng-markdown": "5.45.0",
|
|
53
|
+
"@memberjunction/ng-media-player": "5.45.0",
|
|
54
|
+
"@memberjunction/ng-notifications": "5.45.0",
|
|
55
|
+
"@memberjunction/ng-resource-permissions": "5.45.0",
|
|
56
|
+
"@memberjunction/ng-shared-generic": "5.45.0",
|
|
57
|
+
"@memberjunction/ng-tasks": "5.45.0",
|
|
58
|
+
"@memberjunction/ng-testing": "5.45.0",
|
|
59
|
+
"@memberjunction/ng-ui-components": "5.45.0",
|
|
60
|
+
"@memberjunction/ng-user-routines": "5.45.0",
|
|
61
|
+
"@memberjunction/ng-whiteboard": "5.45.0",
|
|
62
|
+
"angular-split": "^20.0.0",
|
|
59
63
|
"rxjs": "^7.8.2",
|
|
60
64
|
"tslib": "^2.8.1"
|
|
61
65
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-badge.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/attachment-badge.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { ShortBadgeText, BadgeTextForAttachment } from '../lib/util/attachment-badge';
|
|
3
|
-
function makeAttachment(overrides) {
|
|
4
|
-
return {
|
|
5
|
-
id: 'a1',
|
|
6
|
-
type: 'Document',
|
|
7
|
-
mimeType: 'text/plain',
|
|
8
|
-
fileName: null,
|
|
9
|
-
sizeBytes: 0,
|
|
10
|
-
...overrides
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
describe('ShortBadgeText', () => {
|
|
14
|
-
it('returns "FILE" for empty or whitespace-only input', () => {
|
|
15
|
-
expect(ShortBadgeText('')).toBe('FILE');
|
|
16
|
-
expect(ShortBadgeText(' ')).toBe('FILE');
|
|
17
|
-
expect(ShortBadgeText(null)).toBe('FILE');
|
|
18
|
-
expect(ShortBadgeText(undefined)).toBe('FILE');
|
|
19
|
-
});
|
|
20
|
-
it('uppercases names that already fit within 10 characters', () => {
|
|
21
|
-
expect(ShortBadgeText('Report')).toBe('REPORT');
|
|
22
|
-
expect(ShortBadgeText('Snapshot')).toBe('SNAPSHOT');
|
|
23
|
-
expect(ShortBadgeText('json')).toBe('JSON');
|
|
24
|
-
});
|
|
25
|
-
it('takes the last word when the full name is too long', () => {
|
|
26
|
-
expect(ShortBadgeText('Data Snapshot')).toBe('SNAPSHOT');
|
|
27
|
-
expect(ShortBadgeText('Business Intelligence Dashboard')).toBe('DASHBOARD');
|
|
28
|
-
expect(ShortBadgeText('Skip Report')).toBe('REPORT');
|
|
29
|
-
});
|
|
30
|
-
it('truncates with ellipsis when the last word is still too long', () => {
|
|
31
|
-
expect(ShortBadgeText('Monstrouslylongword')).toBe('MONSTROUS…');
|
|
32
|
-
});
|
|
33
|
-
it('trims surrounding whitespace before measuring length', () => {
|
|
34
|
-
expect(ShortBadgeText(' Report ')).toBe('REPORT');
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
describe('BadgeTextForAttachment', () => {
|
|
38
|
-
it('prefers the artifact type name over the file extension', () => {
|
|
39
|
-
const a = makeAttachment({
|
|
40
|
-
artifactTypeName: 'Data Snapshot',
|
|
41
|
-
fileName: 'snapshot.json'
|
|
42
|
-
});
|
|
43
|
-
expect(BadgeTextForAttachment(a)).toBe('SNAPSHOT');
|
|
44
|
-
});
|
|
45
|
-
it('uses the file extension when no artifact type is present', () => {
|
|
46
|
-
expect(BadgeTextForAttachment(makeAttachment({ fileName: 'Q1_deck.pdf' }))).toBe('PDF');
|
|
47
|
-
expect(BadgeTextForAttachment(makeAttachment({ fileName: 'data.csv' }))).toBe('CSV');
|
|
48
|
-
});
|
|
49
|
-
it('uppercases the extension and caps at 10 characters', () => {
|
|
50
|
-
expect(BadgeTextForAttachment(makeAttachment({ fileName: 'weird.abcdefghijklmnop' }))).toBe('ABCDEFGHIJ');
|
|
51
|
-
});
|
|
52
|
-
it('falls back to the mime subtype when the filename has no extension', () => {
|
|
53
|
-
expect(BadgeTextForAttachment(makeAttachment({ fileName: 'noext', mimeType: 'application/pdf' }))).toBe('PDF');
|
|
54
|
-
});
|
|
55
|
-
it('strips mime parameters (e.g. charset) before using as a fallback', () => {
|
|
56
|
-
expect(BadgeTextForAttachment(makeAttachment({ fileName: null, mimeType: 'text/plain; charset=utf-8' }))).toBe('PLAIN');
|
|
57
|
-
});
|
|
58
|
-
it('returns "FILE" when neither extension nor usable mime is available', () => {
|
|
59
|
-
expect(BadgeTextForAttachment(makeAttachment({ fileName: null, mimeType: '' }))).toBe('FILE');
|
|
60
|
-
});
|
|
61
|
-
it('ignores a leading dot filename (e.g. ".gitignore") and falls back to mime', () => {
|
|
62
|
-
// lastIndexOf('.') === 0 → dot is not > 0, so we fall through to mime
|
|
63
|
-
expect(BadgeTextForAttachment(makeAttachment({ fileName: '.gitignore', mimeType: 'text/plain' }))).toBe('PLAIN');
|
|
64
|
-
});
|
|
65
|
-
});
|
|
66
|
-
//# sourceMappingURL=attachment-badge.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-badge.test.js","sourceRoot":"","sources":["../../src/__tests__/attachment-badge.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, it, expect } from 'vitest';\nimport { ShortBadgeText, BadgeTextForAttachment } from '../lib/util/attachment-badge';\nimport type { MessageAttachment } from '../lib/components/message/message-item.component';\n\nfunction makeAttachment(overrides: Partial<MessageAttachment>): MessageAttachment {\n return {\n id: 'a1',\n type: 'Document',\n mimeType: 'text/plain',\n fileName: null,\n sizeBytes: 0,\n ...overrides\n } as MessageAttachment;\n}\n\ndescribe('ShortBadgeText', () => {\n it('returns \"FILE\" for empty or whitespace-only input', () => {\n expect(ShortBadgeText('')).toBe('FILE');\n expect(ShortBadgeText(' ')).toBe('FILE');\n expect(ShortBadgeText(null)).toBe('FILE');\n expect(ShortBadgeText(undefined)).toBe('FILE');\n });\n\n it('uppercases names that already fit within 10 characters', () => {\n expect(ShortBadgeText('Report')).toBe('REPORT');\n expect(ShortBadgeText('Snapshot')).toBe('SNAPSHOT');\n expect(ShortBadgeText('json')).toBe('JSON');\n });\n\n it('takes the last word when the full name is too long', () => {\n expect(ShortBadgeText('Data Snapshot')).toBe('SNAPSHOT');\n expect(ShortBadgeText('Business Intelligence Dashboard')).toBe('DASHBOARD');\n expect(ShortBadgeText('Skip Report')).toBe('REPORT');\n });\n\n it('truncates with ellipsis when the last word is still too long', () => {\n expect(ShortBadgeText('Monstrouslylongword')).toBe('MONSTROUS…');\n });\n\n it('trims surrounding whitespace before measuring length', () => {\n expect(ShortBadgeText(' Report ')).toBe('REPORT');\n });\n});\n\ndescribe('BadgeTextForAttachment', () => {\n it('prefers the artifact type name over the file extension', () => {\n const a = makeAttachment({\n artifactTypeName: 'Data Snapshot',\n fileName: 'snapshot.json'\n });\n expect(BadgeTextForAttachment(a)).toBe('SNAPSHOT');\n });\n\n it('uses the file extension when no artifact type is present', () => {\n expect(BadgeTextForAttachment(makeAttachment({ fileName: 'Q1_deck.pdf' }))).toBe('PDF');\n expect(BadgeTextForAttachment(makeAttachment({ fileName: 'data.csv' }))).toBe('CSV');\n });\n\n it('uppercases the extension and caps at 10 characters', () => {\n expect(BadgeTextForAttachment(makeAttachment({ fileName: 'weird.abcdefghijklmnop' }))).toBe('ABCDEFGHIJ');\n });\n\n it('falls back to the mime subtype when the filename has no extension', () => {\n expect(BadgeTextForAttachment(makeAttachment({ fileName: 'noext', mimeType: 'application/pdf' }))).toBe('PDF');\n });\n\n it('strips mime parameters (e.g. charset) before using as a fallback', () => {\n expect(BadgeTextForAttachment(makeAttachment({ fileName: null, mimeType: 'text/plain; charset=utf-8' }))).toBe('PLAIN');\n });\n\n it('returns \"FILE\" when neither extension nor usable mime is available', () => {\n expect(BadgeTextForAttachment(makeAttachment({ fileName: null, mimeType: '' }))).toBe('FILE');\n });\n\n it('ignores a leading dot filename (e.g. \".gitignore\") and falls back to mime', () => {\n // lastIndexOf('.') === 0 → dot is not > 0, so we fall through to mime\n expect(BadgeTextForAttachment(makeAttachment({ fileName: '.gitignore', mimeType: 'text/plain' }))).toBe('PLAIN');\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channel-optional-surface.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/channel-optional-surface.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Unit tests for the OPTIONAL CLIENT SURFACE contract on {@link BaseRealtimeChannelClient} (Phase 2).
|
|
3
|
-
*
|
|
4
|
-
* A bridge-contributed channel (e.g. meeting-controls or a platform-native whiteboard) may be
|
|
5
|
-
* SERVER-ONLY — no MJ Angular surface. The contract change makes `GetSurfaceComponent` optional
|
|
6
|
-
* (defaults to `null`) and adds `HasSurface()` so the overlay can skip a surfaceless channel's tab
|
|
7
|
-
* while still wiring its tools + perception. These tests pin both the server-only default and the
|
|
8
|
-
* surface-bearing override, without rendering Angular.
|
|
9
|
-
*/
|
|
10
|
-
import { describe, it, expect } from 'vitest';
|
|
11
|
-
import { BaseRealtimeChannelClient } from '../lib/components/realtime/channels/base-realtime-channel-client';
|
|
12
|
-
/** A server-only channel: contributes tools + perception, but renders NO surface. */
|
|
13
|
-
class ServerOnlyChannel extends BaseRealtimeChannelClient {
|
|
14
|
-
get ChannelName() { return 'ServerOnly'; }
|
|
15
|
-
get ToolNamePrefix() { return 'ServerOnly_'; }
|
|
16
|
-
get TabTitle() { return 'Server Only'; }
|
|
17
|
-
get TabIcon() { return 'fa-solid fa-gear'; }
|
|
18
|
-
GetToolDefinitions() {
|
|
19
|
-
return [{ Name: 'ServerOnly_Do', Description: 'do', ParametersSchema: { type: 'object' } }];
|
|
20
|
-
}
|
|
21
|
-
ApplyAgentTool() { return JSON.stringify({ success: true }); }
|
|
22
|
-
BindSurface() { }
|
|
23
|
-
}
|
|
24
|
-
/** A surface-bearing channel for the positive case. */
|
|
25
|
-
class FakeSurface {
|
|
26
|
-
}
|
|
27
|
-
class SurfaceChannel extends BaseRealtimeChannelClient {
|
|
28
|
-
get ChannelName() { return 'WithSurface'; }
|
|
29
|
-
get ToolNamePrefix() { return 'WithSurface_'; }
|
|
30
|
-
get TabTitle() { return 'With Surface'; }
|
|
31
|
-
get TabIcon() { return 'fa-solid fa-chalkboard'; }
|
|
32
|
-
GetToolDefinitions() { return []; }
|
|
33
|
-
ApplyAgentTool() { return '{}'; }
|
|
34
|
-
BindSurface() { }
|
|
35
|
-
GetSurfaceComponent() { return FakeSurface; }
|
|
36
|
-
}
|
|
37
|
-
describe('BaseRealtimeChannelClient — optional client surface', () => {
|
|
38
|
-
it('a server-only channel returns null from GetSurfaceComponent and false from HasSurface', () => {
|
|
39
|
-
const ch = new ServerOnlyChannel();
|
|
40
|
-
expect(ch.GetSurfaceComponent()).toBeNull();
|
|
41
|
-
expect(ch.HasSurface()).toBe(false);
|
|
42
|
-
});
|
|
43
|
-
it('a server-only channel still contributes tools (tools/perception are unaffected by no surface)', () => {
|
|
44
|
-
const ch = new ServerOnlyChannel();
|
|
45
|
-
expect(ch.GetToolDefinitions().map((t) => t.Name)).toEqual(['ServerOnly_Do']);
|
|
46
|
-
});
|
|
47
|
-
it('a surface-bearing channel returns its component and reports HasSurface true', () => {
|
|
48
|
-
const ch = new SurfaceChannel();
|
|
49
|
-
expect(ch.GetSurfaceComponent()).toBe(FakeSurface);
|
|
50
|
-
expect(ch.HasSurface()).toBe(true);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
//# sourceMappingURL=channel-optional-surface.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channel-optional-surface.test.js","sourceRoot":"","sources":["../../src/__tests__/channel-optional-surface.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAE7G,qFAAqF;AACrF,MAAM,iBAAkB,SAAQ,yBAAyB;IACvD,IAAW,WAAW,KAAa,OAAO,YAAY,CAAC,CAAC,CAAC;IACzD,IAAW,cAAc,KAAa,OAAO,aAAa,CAAC,CAAC,CAAC;IAC7D,IAAW,QAAQ,KAAa,OAAO,aAAa,CAAC,CAAC,CAAC;IACvD,IAAW,OAAO,KAAa,OAAO,kBAAkB,CAAC,CAAC,CAAC;IACpD,kBAAkB;QACvB,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IACM,cAAc,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,WAAW,KAA2C,CAAC;CAE/D;AAED,uDAAuD;AACvD,MAAM,WAAW;CAAG;AACpB,MAAM,cAAe,SAAQ,yBAAsC;IACjE,IAAW,WAAW,KAAa,OAAO,aAAa,CAAC,CAAC,CAAC;IAC1D,IAAW,cAAc,KAAa,OAAO,cAAc,CAAC,CAAC,CAAC;IAC9D,IAAW,QAAQ,KAAa,OAAO,cAAc,CAAC,CAAC,CAAC;IACxD,IAAW,OAAO,KAAa,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAC1D,kBAAkB,KAA+B,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7D,cAAc,KAAa,OAAO,IAAI,CAAC,CAAC,CAAC;IACzC,WAAW,KAAuB,CAAC;IAC1B,mBAAmB,KAAwB,OAAO,WAAW,CAAC,CAAC,CAAC;CACjF;AAED,QAAQ,CAAC,qDAAqD,EAAE,GAAG,EAAE;IACnE,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;QAC/F,MAAM,EAAE,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACnC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+FAA+F,EAAE,GAAG,EAAE;QACvG,MAAM,EAAE,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACnC,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,GAAG,EAAE;QACrF,MAAM,EAAE,GAAG,IAAI,cAAc,EAAE,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["/**\n * Unit tests for the OPTIONAL CLIENT SURFACE contract on {@link BaseRealtimeChannelClient} (Phase 2).\n *\n * A bridge-contributed channel (e.g. meeting-controls or a platform-native whiteboard) may be\n * SERVER-ONLY — no MJ Angular surface. The contract change makes `GetSurfaceComponent` optional\n * (defaults to `null`) and adds `HasSurface()` so the overlay can skip a surfaceless channel's tab\n * while still wiring its tools + perception. These tests pin both the server-only default and the\n * surface-bearing override, without rendering Angular.\n */\nimport { describe, it, expect } from 'vitest';\nimport type { Type } from '@angular/core';\nimport { RealtimeToolDefinition } from '@memberjunction/ai';\nimport { BaseRealtimeChannelClient } from '../lib/components/realtime/channels/base-realtime-channel-client';\n\n/** A server-only channel: contributes tools + perception, but renders NO surface. */\nclass ServerOnlyChannel extends BaseRealtimeChannelClient {\n public get ChannelName(): string { return 'ServerOnly'; }\n public get ToolNamePrefix(): string { return 'ServerOnly_'; }\n public get TabTitle(): string { return 'Server Only'; }\n public get TabIcon(): string { return 'fa-solid fa-gear'; }\n public GetToolDefinitions(): RealtimeToolDefinition[] {\n return [{ Name: 'ServerOnly_Do', Description: 'do', ParametersSchema: { type: 'object' } }];\n }\n public ApplyAgentTool(): string { return JSON.stringify({ success: true }); }\n public BindSurface(): void { /* never called — no surface */ }\n // Deliberately does NOT override GetSurfaceComponent — inherits the null default.\n}\n\n/** A surface-bearing channel for the positive case. */\nclass FakeSurface {}\nclass SurfaceChannel extends BaseRealtimeChannelClient<FakeSurface> {\n public get ChannelName(): string { return 'WithSurface'; }\n public get ToolNamePrefix(): string { return 'WithSurface_'; }\n public get TabTitle(): string { return 'With Surface'; }\n public get TabIcon(): string { return 'fa-solid fa-chalkboard'; }\n public GetToolDefinitions(): RealtimeToolDefinition[] { return []; }\n public ApplyAgentTool(): string { return '{}'; }\n public BindSurface(): void { /* no-op */ }\n public override GetSurfaceComponent(): Type<FakeSurface> { return FakeSurface; }\n}\n\ndescribe('BaseRealtimeChannelClient — optional client surface', () => {\n it('a server-only channel returns null from GetSurfaceComponent and false from HasSurface', () => {\n const ch = new ServerOnlyChannel();\n expect(ch.GetSurfaceComponent()).toBeNull();\n expect(ch.HasSurface()).toBe(false);\n });\n\n it('a server-only channel still contributes tools (tools/perception are unaffected by no surface)', () => {\n const ch = new ServerOnlyChannel();\n expect(ch.GetToolDefinitions().map((t) => t.Name)).toEqual(['ServerOnly_Do']);\n });\n\n it('a surface-bearing channel returns its component and reports HasSurface true', () => {\n const ch = new SurfaceChannel();\n expect(ch.GetSurfaceComponent()).toBe(FakeSurface);\n expect(ch.HasSurface()).toBe(true);\n });\n});\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Tests for the Before/After cancelable chat event arg classes.
|
|
3
|
-
*
|
|
4
|
-
* Asserts:
|
|
5
|
-
* - CancellableChatEventArgs base class default: Cancel = false.
|
|
6
|
-
* - Each Before* class extends CancellableChatEventArgs and carries its
|
|
7
|
-
* readonly payload fields.
|
|
8
|
-
* - Each After* class carries its payload as readonly fields.
|
|
9
|
-
* - Listeners can set Cancel = true on Before events.
|
|
10
|
-
*
|
|
11
|
-
* Pure logic — no Angular runtime needed. Vitest-ready.
|
|
12
|
-
*/
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=chat-events.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-events.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/chat-events.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Tests for the Before/After cancelable chat event arg classes.
|
|
3
|
-
*
|
|
4
|
-
* Asserts:
|
|
5
|
-
* - CancellableChatEventArgs base class default: Cancel = false.
|
|
6
|
-
* - Each Before* class extends CancellableChatEventArgs and carries its
|
|
7
|
-
* readonly payload fields.
|
|
8
|
-
* - Each After* class carries its payload as readonly fields.
|
|
9
|
-
* - Listeners can set Cancel = true on Before events.
|
|
10
|
-
*
|
|
11
|
-
* Pure logic — no Angular runtime needed. Vitest-ready.
|
|
12
|
-
*/
|
|
13
|
-
import { describe, it, expect } from 'vitest';
|
|
14
|
-
import { CancellableChatEventArgs, BeforeAgentTurnEventArgs, AfterAgentTurnEventArgs, BeforeToolInvokedEventArgs, AfterToolInvokedEventArgs, BeforeResponseFormSubmittedEventArgs, AfterResponseFormSubmittedEventArgs, SessionStartedEventArgs, SessionChannelStateChangedEventArgs, SessionEndedEventArgs, } from '../lib/events/chat-events';
|
|
15
|
-
describe('CancellableChatEventArgs (base class)', () => {
|
|
16
|
-
it('defaults Cancel to false', () => {
|
|
17
|
-
const e = new CancellableChatEventArgs();
|
|
18
|
-
expect(e.Cancel).toBe(false);
|
|
19
|
-
});
|
|
20
|
-
it('lets listeners flip Cancel to true', () => {
|
|
21
|
-
const e = new CancellableChatEventArgs();
|
|
22
|
-
e.Cancel = true;
|
|
23
|
-
e.CancelReason = 'rate-limited';
|
|
24
|
-
expect(e.Cancel).toBe(true);
|
|
25
|
-
expect(e.CancelReason).toBe('rate-limited');
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
describe('BeforeAgentTurnEventArgs', () => {
|
|
29
|
-
it('extends CancellableChatEventArgs and carries its payload', () => {
|
|
30
|
-
const e = new BeforeAgentTurnEventArgs('conv-1', 'hello', 'app-1');
|
|
31
|
-
expect(e).toBeInstanceOf(CancellableChatEventArgs);
|
|
32
|
-
expect(e.ConversationId).toBe('conv-1');
|
|
33
|
-
expect(e.MessageText).toBe('hello');
|
|
34
|
-
expect(e.ApplicationId).toBe('app-1');
|
|
35
|
-
expect(e.Cancel).toBe(false);
|
|
36
|
-
});
|
|
37
|
-
it('applicationId defaults to null when omitted', () => {
|
|
38
|
-
const e = new BeforeAgentTurnEventArgs('conv-1', 'hello');
|
|
39
|
-
expect(e.ApplicationId).toBeNull();
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
describe('AfterAgentTurnEventArgs', () => {
|
|
43
|
-
it('carries its payload as readonly fields', () => {
|
|
44
|
-
const result = { success: true, executionTimeMs: 100 };
|
|
45
|
-
const e = new AfterAgentTurnEventArgs('conv-1', 'run-1', result);
|
|
46
|
-
expect(e.ConversationId).toBe('conv-1');
|
|
47
|
-
expect(e.AgentRunId).toBe('run-1');
|
|
48
|
-
expect(e.Result).toBe(result);
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
describe('BeforeToolInvokedEventArgs', () => {
|
|
52
|
-
it('extends CancellableChatEventArgs and carries tool name + args', () => {
|
|
53
|
-
const e = new BeforeToolInvokedEventArgs('NavigateToRecord', { id: '1' });
|
|
54
|
-
expect(e).toBeInstanceOf(CancellableChatEventArgs);
|
|
55
|
-
expect(e.ToolName).toBe('NavigateToRecord');
|
|
56
|
-
expect(e.Args).toEqual({ id: '1' });
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('AfterToolInvokedEventArgs', () => {
|
|
60
|
-
it('carries tool name + args + result', () => {
|
|
61
|
-
const e = new AfterToolInvokedEventArgs('NavigateToRecord', { id: '1' }, { ok: true });
|
|
62
|
-
expect(e.ToolName).toBe('NavigateToRecord');
|
|
63
|
-
expect(e.Args).toEqual({ id: '1' });
|
|
64
|
-
expect(e.Result).toEqual({ ok: true });
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
describe('BeforeResponseFormSubmittedEventArgs', () => {
|
|
68
|
-
it('extends CancellableChatEventArgs and carries form id + values', () => {
|
|
69
|
-
const e = new BeforeResponseFormSubmittedEventArgs('form-1', { q1: 'yes' });
|
|
70
|
-
expect(e).toBeInstanceOf(CancellableChatEventArgs);
|
|
71
|
-
expect(e.FormId).toBe('form-1');
|
|
72
|
-
expect(e.Values).toEqual({ q1: 'yes' });
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
describe('AfterResponseFormSubmittedEventArgs', () => {
|
|
76
|
-
it('carries form id + values as readonly fields', () => {
|
|
77
|
-
const e = new AfterResponseFormSubmittedEventArgs('form-1', { q1: 'yes' });
|
|
78
|
-
expect(e.FormId).toBe('form-1');
|
|
79
|
-
expect(e.Values).toEqual({ q1: 'yes' });
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
describe('Session* informational events', () => {
|
|
83
|
-
it('SessionStartedEventArgs carries session id + channel kinds', () => {
|
|
84
|
-
const e = new SessionStartedEventArgs('sess-1', ['text', 'voice']);
|
|
85
|
-
expect(e.SessionId).toBe('sess-1');
|
|
86
|
-
expect(e.ChannelKinds).toEqual(['text', 'voice']);
|
|
87
|
-
});
|
|
88
|
-
it('SessionChannelStateChangedEventArgs carries session id + channel kind + state', () => {
|
|
89
|
-
const e = new SessionChannelStateChangedEventArgs('sess-1', 'voice', 'open');
|
|
90
|
-
expect(e.SessionId).toBe('sess-1');
|
|
91
|
-
expect(e.ChannelKind).toBe('voice');
|
|
92
|
-
expect(e.State).toBe('open');
|
|
93
|
-
});
|
|
94
|
-
it('SessionEndedEventArgs carries session id + narrowed reason', () => {
|
|
95
|
-
const e = new SessionEndedEventArgs('sess-1', 'explicit');
|
|
96
|
-
expect(e.SessionId).toBe('sess-1');
|
|
97
|
-
expect(e.Reason).toBe('explicit');
|
|
98
|
-
});
|
|
99
|
-
it('SessionEndedEventArgs accepts all narrowed reason values', () => {
|
|
100
|
-
// Compile-time check: the narrowed union should permit exactly these three.
|
|
101
|
-
const explicit = new SessionEndedEventArgs('sess-1', 'explicit');
|
|
102
|
-
const error = new SessionEndedEventArgs('sess-1', 'error');
|
|
103
|
-
const unknown = new SessionEndedEventArgs('sess-1', 'unknown');
|
|
104
|
-
expect(explicit.Reason).toBe('explicit');
|
|
105
|
-
expect(error.Reason).toBe('error');
|
|
106
|
-
expect(unknown.Reason).toBe('unknown');
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
//# sourceMappingURL=chat-events.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-events.test.js","sourceRoot":"","sources":["../../src/__tests__/chat-events.test.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @fileoverview Tests for the Before/After cancelable chat event arg classes.\n *\n * Asserts:\n * - CancellableChatEventArgs base class default: Cancel = false.\n * - Each Before* class extends CancellableChatEventArgs and carries its\n * readonly payload fields.\n * - Each After* class carries its payload as readonly fields.\n * - Listeners can set Cancel = true on Before events.\n *\n * Pure logic — no Angular runtime needed. Vitest-ready.\n */\n\nimport { describe, it, expect } from 'vitest';\n\nimport {\n CancellableChatEventArgs,\n BeforeAgentTurnEventArgs,\n AfterAgentTurnEventArgs,\n BeforeToolInvokedEventArgs,\n AfterToolInvokedEventArgs,\n BeforeResponseFormSubmittedEventArgs,\n AfterResponseFormSubmittedEventArgs,\n SessionStartedEventArgs,\n SessionChannelStateChangedEventArgs,\n SessionEndedEventArgs,\n} from '../lib/events/chat-events';\n\ndescribe('CancellableChatEventArgs (base class)', () => {\n it('defaults Cancel to false', () => {\n const e = new CancellableChatEventArgs();\n expect(e.Cancel).toBe(false);\n });\n\n it('lets listeners flip Cancel to true', () => {\n const e = new CancellableChatEventArgs();\n e.Cancel = true;\n e.CancelReason = 'rate-limited';\n expect(e.Cancel).toBe(true);\n expect(e.CancelReason).toBe('rate-limited');\n });\n});\n\ndescribe('BeforeAgentTurnEventArgs', () => {\n it('extends CancellableChatEventArgs and carries its payload', () => {\n const e = new BeforeAgentTurnEventArgs('conv-1', 'hello', 'app-1');\n expect(e).toBeInstanceOf(CancellableChatEventArgs);\n expect(e.ConversationId).toBe('conv-1');\n expect(e.MessageText).toBe('hello');\n expect(e.ApplicationId).toBe('app-1');\n expect(e.Cancel).toBe(false);\n });\n\n it('applicationId defaults to null when omitted', () => {\n const e = new BeforeAgentTurnEventArgs('conv-1', 'hello');\n expect(e.ApplicationId).toBeNull();\n });\n});\n\ndescribe('AfterAgentTurnEventArgs', () => {\n it('carries its payload as readonly fields', () => {\n const result = { success: true, executionTimeMs: 100 } as never;\n const e = new AfterAgentTurnEventArgs('conv-1', 'run-1', result);\n expect(e.ConversationId).toBe('conv-1');\n expect(e.AgentRunId).toBe('run-1');\n expect(e.Result).toBe(result);\n });\n});\n\ndescribe('BeforeToolInvokedEventArgs', () => {\n it('extends CancellableChatEventArgs and carries tool name + args', () => {\n const e = new BeforeToolInvokedEventArgs('NavigateToRecord', { id: '1' });\n expect(e).toBeInstanceOf(CancellableChatEventArgs);\n expect(e.ToolName).toBe('NavigateToRecord');\n expect(e.Args).toEqual({ id: '1' });\n });\n});\n\ndescribe('AfterToolInvokedEventArgs', () => {\n it('carries tool name + args + result', () => {\n const e = new AfterToolInvokedEventArgs('NavigateToRecord', { id: '1' }, { ok: true });\n expect(e.ToolName).toBe('NavigateToRecord');\n expect(e.Args).toEqual({ id: '1' });\n expect(e.Result).toEqual({ ok: true });\n });\n});\n\ndescribe('BeforeResponseFormSubmittedEventArgs', () => {\n it('extends CancellableChatEventArgs and carries form id + values', () => {\n const e = new BeforeResponseFormSubmittedEventArgs('form-1', { q1: 'yes' });\n expect(e).toBeInstanceOf(CancellableChatEventArgs);\n expect(e.FormId).toBe('form-1');\n expect(e.Values).toEqual({ q1: 'yes' });\n });\n});\n\ndescribe('AfterResponseFormSubmittedEventArgs', () => {\n it('carries form id + values as readonly fields', () => {\n const e = new AfterResponseFormSubmittedEventArgs('form-1', { q1: 'yes' });\n expect(e.FormId).toBe('form-1');\n expect(e.Values).toEqual({ q1: 'yes' });\n });\n});\n\ndescribe('Session* informational events', () => {\n it('SessionStartedEventArgs carries session id + channel kinds', () => {\n const e = new SessionStartedEventArgs('sess-1', ['text', 'voice']);\n expect(e.SessionId).toBe('sess-1');\n expect(e.ChannelKinds).toEqual(['text', 'voice']);\n });\n\n it('SessionChannelStateChangedEventArgs carries session id + channel kind + state', () => {\n const e = new SessionChannelStateChangedEventArgs('sess-1', 'voice', 'open');\n expect(e.SessionId).toBe('sess-1');\n expect(e.ChannelKind).toBe('voice');\n expect(e.State).toBe('open');\n });\n\n it('SessionEndedEventArgs carries session id + narrowed reason', () => {\n const e = new SessionEndedEventArgs('sess-1', 'explicit');\n expect(e.SessionId).toBe('sess-1');\n expect(e.Reason).toBe('explicit');\n });\n\n it('SessionEndedEventArgs accepts all narrowed reason values', () => {\n // Compile-time check: the narrowed union should permit exactly these three.\n const explicit = new SessionEndedEventArgs('sess-1', 'explicit');\n const error = new SessionEndedEventArgs('sess-1', 'error');\n const unknown = new SessionEndedEventArgs('sess-1', 'unknown');\n expect(explicit.Reason).toBe('explicit');\n expect(error.Reason).toBe('error');\n expect(unknown.Reason).toBe('unknown');\n });\n});\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collections-full-view.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/collections-full-view.test.ts"],"names":[],"mappings":""}
|