quidproquo-web-admin 0.1.7 → 0.1.8
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/lib/commonjs/Config/Config.js +2 -2
- package/lib/commonjs/Config/Config.js.map +1 -1
- package/lib/commonjs/LogViewer/AdminLogs/AdminLogGrid/AdminLogGrid.d.ts +1 -1
- package/lib/commonjs/LogViewer/AdminLogs/AdminLogGrid/AdminLogGrid.js.map +1 -1
- package/lib/commonjs/LogViewer/AdminLogs/hooks/useLogLogMananagement/useLogLogMananagement.d.ts +1 -1
- package/lib/commonjs/LogViewer/AdminLogs/hooks/useLogLogMananagement/useLogLogMananagement.js.map +1 -1
- package/lib/commonjs/LogViewer/Dashboard.js +2 -2
- package/lib/commonjs/LogViewer/Dashboard.js.map +1 -1
- package/lib/commonjs/LogViewer/LogChat/EventDocAiSegments.d.ts +7 -0
- package/lib/commonjs/LogViewer/LogChat/EventDocAiSegments.js +33 -0
- package/lib/commonjs/LogViewer/LogChat/EventDocAiSegments.js.map +1 -0
- package/lib/commonjs/LogViewer/LogChat/LogChat.d.ts +7 -0
- package/lib/commonjs/LogViewer/LogChat/LogChat.js +63 -0
- package/lib/commonjs/LogViewer/LogChat/LogChat.js.map +1 -0
- package/lib/commonjs/LogViewer/LogChat/eventDocAiLogChatRuntime.d.ts +6 -0
- package/lib/commonjs/LogViewer/LogChat/eventDocAiLogChatRuntime.js +9 -0
- package/lib/commonjs/LogViewer/LogChat/eventDocAiLogChatRuntime.js.map +1 -0
- package/lib/commonjs/LogViewer/LogChat/index.d.ts +1 -0
- package/lib/commonjs/LogViewer/{HelpChat → LogChat}/index.js +1 -1
- package/lib/commonjs/LogViewer/LogChat/index.js.map +1 -0
- package/lib/commonjs/LogViewer/LogChat/logic/askEventDocAiLogChatBoot.d.ts +2 -0
- package/lib/commonjs/LogViewer/LogChat/logic/askEventDocAiLogChatBoot.js +17 -0
- package/lib/commonjs/LogViewer/LogChat/logic/askEventDocAiLogChatBoot.js.map +1 -0
- package/lib/commonjs/LogViewer/LogDialog/LogDialog.js.map +1 -1
- package/lib/commonjs/LogViewer/LogDialog/tabs/HelpTab/HelpTab.js +4 -2
- package/lib/commonjs/LogViewer/LogDialog/tabs/HelpTab/HelpTab.js.map +1 -1
- package/lib/commonjs/LogViewer/LogDialog/tabs/TraceTab/TraceTab.js +2 -2
- package/lib/commonjs/LogViewer/LogDialog/tabs/TraceTab/TraceTab.js.map +1 -1
- package/lib/commonjs/LogViewer/LogMetadataGrid.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogMetadataGrid.js.map +1 -1
- package/lib/commonjs/LogViewer/LogSummary.js +4 -4
- package/lib/commonjs/LogViewer/LogSummary.js.map +1 -1
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.js +2 -2
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.js.map +1 -1
- package/lib/commonjs/adminApp/VolatileState.d.ts +2 -8
- package/lib/commonjs/adminApp/VolatileState.js +1 -1
- package/lib/commonjs/adminApp/VolatileState.js.map +1 -1
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileLogLogSearchPartLoaded.d.ts +1 -1
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileLogLogSearchPartLoaded.js.map +1 -1
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileServiceNamesLoaded.d.ts +1 -1
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileServiceNamesLoaded.js +2 -2
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileServiceNamesLoaded.js.map +1 -1
- package/lib/commonjs/adminApp/actionCreators/volatile/index.d.ts +0 -3
- package/lib/commonjs/adminApp/actionCreators/volatile/index.js +0 -3
- package/lib/commonjs/adminApp/actionCreators/volatile/index.js.map +1 -1
- package/lib/commonjs/adminApp/adminAppRuntime.d.ts +0 -1
- package/lib/commonjs/adminApp/effects/volatile/VolatileEffect.d.ts +0 -3
- package/lib/commonjs/adminApp/effects/volatile/VolatileEffect.js +0 -3
- package/lib/commonjs/adminApp/effects/volatile/VolatileEffect.js.map +1 -1
- package/lib/commonjs/adminApp/effects/volatile/VolatileEffects.d.ts +1 -4
- package/lib/commonjs/adminApp/effects/volatile/VolatileEffects.js.map +1 -1
- package/lib/commonjs/adminApp/effects/volatile/VolatileLogLogSearchPartLoadedEffect.d.ts +1 -1
- package/lib/commonjs/adminApp/effects/volatile/VolatileLogLogSearchPartLoadedEffect.js.map +1 -1
- package/lib/commonjs/adminApp/effects/volatile/VolatileServiceNamesLoadedEffect.d.ts +1 -0
- package/lib/commonjs/adminApp/effects/volatile/VolatileServiceNamesLoadedEffect.js.map +1 -1
- package/lib/commonjs/adminApp/effects/volatile/index.d.ts +0 -3
- package/lib/commonjs/adminApp/effects/volatile/index.js +0 -3
- package/lib/commonjs/adminApp/effects/volatile/index.js.map +1 -1
- package/lib/commonjs/adminApp/hooks/useAdminApp.d.ts +0 -1
- package/lib/commonjs/adminApp/logic/chat/askSendChatMessage.js +3 -17
- package/lib/commonjs/adminApp/logic/chat/askSendChatMessage.js.map +1 -1
- package/lib/commonjs/adminApp/logic/chat/index.d.ts +0 -1
- package/lib/commonjs/adminApp/logic/chat/index.js +0 -1
- package/lib/commonjs/adminApp/logic/chat/index.js.map +1 -1
- package/lib/commonjs/adminApp/logic/config/askLoadServiceNames.js +1 -1
- package/lib/commonjs/adminApp/logic/config/askLoadServiceNames.js.map +1 -1
- package/lib/commonjs/adminApp/logic/search/askRunLogLogSearch.js.map +1 -1
- package/lib/commonjs/adminApp/sharedAdminAppApi.d.ts +0 -2
- package/lib/commonjs/adminApp/sharedAdminAppApi.js +0 -2
- package/lib/commonjs/adminApp/sharedAdminAppApi.js.map +1 -1
- package/lib/commonjs/adminApp/stateUpdaters/volatile/index.d.ts +0 -3
- package/lib/commonjs/adminApp/stateUpdaters/volatile/index.js +0 -3
- package/lib/commonjs/adminApp/stateUpdaters/volatile/index.js.map +1 -1
- package/lib/commonjs/adminApp/stateUpdaters/volatile/logLogSearchPartLoaded.js.map +1 -1
- package/lib/commonjs/adminApp/stateUpdaters/volatile/serviceNamesLoaded.js +1 -1
- package/lib/commonjs/adminApp/stateUpdaters/volatile/serviceNamesLoaded.js.map +1 -1
- package/lib/commonjs/adminApp/volatileReducer.js +0 -6
- package/lib/commonjs/adminApp/volatileReducer.js.map +1 -1
- package/lib/commonjs/types/index.d.ts +0 -3
- package/lib/commonjs/types/index.js +0 -3
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/esm/Config/Config.js +1 -1
- package/lib/esm/Config/Config.js.map +1 -1
- package/lib/esm/LogViewer/AdminLogs/AdminLogGrid/AdminLogGrid.d.ts +1 -1
- package/lib/esm/LogViewer/AdminLogs/AdminLogGrid/AdminLogGrid.js.map +1 -1
- package/lib/esm/LogViewer/AdminLogs/hooks/useLogLogMananagement/useLogLogMananagement.d.ts +1 -1
- package/lib/esm/LogViewer/AdminLogs/hooks/useLogLogMananagement/useLogLogMananagement.js.map +1 -1
- package/lib/esm/LogViewer/Dashboard.js +1 -1
- package/lib/esm/LogViewer/Dashboard.js.map +1 -1
- package/lib/esm/LogViewer/LogChat/EventDocAiSegments.d.ts +7 -0
- package/lib/esm/LogViewer/LogChat/EventDocAiSegments.js +26 -0
- package/lib/esm/LogViewer/LogChat/EventDocAiSegments.js.map +1 -0
- package/lib/esm/LogViewer/LogChat/LogChat.d.ts +7 -0
- package/lib/esm/LogViewer/LogChat/LogChat.js +59 -0
- package/lib/esm/LogViewer/LogChat/LogChat.js.map +1 -0
- package/lib/esm/LogViewer/LogChat/eventDocAiLogChatRuntime.d.ts +6 -0
- package/lib/esm/LogViewer/LogChat/eventDocAiLogChatRuntime.js +6 -0
- package/lib/esm/LogViewer/LogChat/eventDocAiLogChatRuntime.js.map +1 -0
- package/lib/esm/LogViewer/LogChat/index.d.ts +1 -0
- package/lib/esm/LogViewer/LogChat/index.js +2 -0
- package/lib/esm/LogViewer/LogChat/index.js.map +1 -0
- package/lib/esm/LogViewer/LogChat/logic/askEventDocAiLogChatBoot.d.ts +2 -0
- package/lib/esm/LogViewer/LogChat/logic/askEventDocAiLogChatBoot.js +14 -0
- package/lib/esm/LogViewer/LogChat/logic/askEventDocAiLogChatBoot.js.map +1 -0
- package/lib/esm/LogViewer/LogDialog/LogDialog.js.map +1 -1
- package/lib/esm/LogViewer/LogDialog/tabs/HelpTab/HelpTab.js +4 -2
- package/lib/esm/LogViewer/LogDialog/tabs/HelpTab/HelpTab.js.map +1 -1
- package/lib/esm/LogViewer/LogDialog/tabs/TraceTab/TraceTab.js +1 -1
- package/lib/esm/LogViewer/LogDialog/tabs/TraceTab/TraceTab.js.map +1 -1
- package/lib/esm/LogViewer/LogMetadataGrid.d.ts +1 -1
- package/lib/esm/LogViewer/LogMetadataGrid.js.map +1 -1
- package/lib/esm/LogViewer/LogSummary.js +1 -1
- package/lib/esm/LogViewer/LogSummary.js.map +1 -1
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.js +1 -1
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.js.map +1 -1
- package/lib/esm/adminApp/VolatileState.d.ts +2 -8
- package/lib/esm/adminApp/VolatileState.js +1 -1
- package/lib/esm/adminApp/VolatileState.js.map +1 -1
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileLogLogSearchPartLoaded.d.ts +1 -1
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileLogLogSearchPartLoaded.js.map +1 -1
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileServiceNamesLoaded.d.ts +1 -1
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileServiceNamesLoaded.js +2 -2
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileServiceNamesLoaded.js.map +1 -1
- package/lib/esm/adminApp/actionCreators/volatile/index.d.ts +0 -3
- package/lib/esm/adminApp/actionCreators/volatile/index.js +0 -3
- package/lib/esm/adminApp/actionCreators/volatile/index.js.map +1 -1
- package/lib/esm/adminApp/adminAppRuntime.d.ts +0 -1
- package/lib/esm/adminApp/effects/volatile/VolatileEffect.d.ts +0 -3
- package/lib/esm/adminApp/effects/volatile/VolatileEffect.js +0 -3
- package/lib/esm/adminApp/effects/volatile/VolatileEffect.js.map +1 -1
- package/lib/esm/adminApp/effects/volatile/VolatileEffects.d.ts +1 -4
- package/lib/esm/adminApp/effects/volatile/VolatileEffects.js.map +1 -1
- package/lib/esm/adminApp/effects/volatile/VolatileLogLogSearchPartLoadedEffect.d.ts +1 -1
- package/lib/esm/adminApp/effects/volatile/VolatileLogLogSearchPartLoadedEffect.js.map +1 -1
- package/lib/esm/adminApp/effects/volatile/VolatileServiceNamesLoadedEffect.d.ts +1 -0
- package/lib/esm/adminApp/effects/volatile/VolatileServiceNamesLoadedEffect.js.map +1 -1
- package/lib/esm/adminApp/effects/volatile/index.d.ts +0 -3
- package/lib/esm/adminApp/effects/volatile/index.js +0 -3
- package/lib/esm/adminApp/effects/volatile/index.js.map +1 -1
- package/lib/esm/adminApp/hooks/useAdminApp.d.ts +0 -1
- package/lib/esm/adminApp/logic/chat/askSendChatMessage.js +3 -17
- package/lib/esm/adminApp/logic/chat/askSendChatMessage.js.map +1 -1
- package/lib/esm/adminApp/logic/chat/index.d.ts +0 -1
- package/lib/esm/adminApp/logic/chat/index.js +0 -1
- package/lib/esm/adminApp/logic/chat/index.js.map +1 -1
- package/lib/esm/adminApp/logic/config/askLoadServiceNames.js +1 -1
- package/lib/esm/adminApp/logic/config/askLoadServiceNames.js.map +1 -1
- package/lib/esm/adminApp/logic/search/askRunLogLogSearch.js.map +1 -1
- package/lib/esm/adminApp/sharedAdminAppApi.d.ts +0 -2
- package/lib/esm/adminApp/sharedAdminAppApi.js +0 -2
- package/lib/esm/adminApp/sharedAdminAppApi.js.map +1 -1
- package/lib/esm/adminApp/stateUpdaters/volatile/index.d.ts +0 -3
- package/lib/esm/adminApp/stateUpdaters/volatile/index.js +0 -3
- package/lib/esm/adminApp/stateUpdaters/volatile/index.js.map +1 -1
- package/lib/esm/adminApp/stateUpdaters/volatile/logLogSearchPartLoaded.js.map +1 -1
- package/lib/esm/adminApp/stateUpdaters/volatile/serviceNamesLoaded.js +1 -0
- package/lib/esm/adminApp/stateUpdaters/volatile/serviceNamesLoaded.js.map +1 -1
- package/lib/esm/adminApp/volatileReducer.js +0 -6
- package/lib/esm/adminApp/volatileReducer.js.map +1 -1
- package/lib/esm/types/index.d.ts +0 -3
- package/lib/esm/types/index.js +0 -3
- package/lib/esm/types/index.js.map +1 -1
- package/package.json +7 -7
- package/lib/commonjs/LogViewer/HelpChat/HelpChat.d.ts +0 -6
- package/lib/commonjs/LogViewer/HelpChat/HelpChat.js +0 -75
- package/lib/commonjs/LogViewer/HelpChat/HelpChat.js.map +0 -1
- package/lib/commonjs/LogViewer/HelpChat/index.d.ts +0 -1
- package/lib/commonjs/LogViewer/HelpChat/index.js.map +0 -1
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileChatMessageAppended.d.ts +0 -3
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileChatMessageAppended.js +0 -9
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileChatMessageAppended.js.map +0 -1
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileChatMessagesLoaded.d.ts +0 -3
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileChatMessagesLoaded.js +0 -9
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileChatMessagesLoaded.js.map +0 -1
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileChatPendingReplyChanged.d.ts +0 -2
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileChatPendingReplyChanged.js +0 -9
- package/lib/commonjs/adminApp/actionCreators/volatile/askUIVolatileChatPendingReplyChanged.js.map +0 -1
- package/lib/commonjs/adminApp/effects/volatile/VolatileChatMessageAppendedEffect.d.ts +0 -8
- package/lib/commonjs/adminApp/effects/volatile/VolatileChatMessageAppendedEffect.js +0 -3
- package/lib/commonjs/adminApp/effects/volatile/VolatileChatMessageAppendedEffect.js.map +0 -1
- package/lib/commonjs/adminApp/effects/volatile/VolatileChatMessagesLoadedEffect.d.ts +0 -9
- package/lib/commonjs/adminApp/effects/volatile/VolatileChatMessagesLoadedEffect.js +0 -3
- package/lib/commonjs/adminApp/effects/volatile/VolatileChatMessagesLoadedEffect.js.map +0 -1
- package/lib/commonjs/adminApp/effects/volatile/VolatileChatPendingReplyChangedEffect.d.ts +0 -7
- package/lib/commonjs/adminApp/effects/volatile/VolatileChatPendingReplyChangedEffect.js +0 -3
- package/lib/commonjs/adminApp/effects/volatile/VolatileChatPendingReplyChangedEffect.js.map +0 -1
- package/lib/commonjs/adminApp/logic/chat/askLoadChatMessages.d.ts +0 -2
- package/lib/commonjs/adminApp/logic/chat/askLoadChatMessages.js +0 -16
- package/lib/commonjs/adminApp/logic/chat/askLoadChatMessages.js.map +0 -1
- package/lib/commonjs/adminApp/stateUpdaters/volatile/chatMessageAppended.d.ts +0 -3
- package/lib/commonjs/adminApp/stateUpdaters/volatile/chatMessageAppended.js +0 -10
- package/lib/commonjs/adminApp/stateUpdaters/volatile/chatMessageAppended.js.map +0 -1
- package/lib/commonjs/adminApp/stateUpdaters/volatile/chatMessagesLoaded.d.ts +0 -3
- package/lib/commonjs/adminApp/stateUpdaters/volatile/chatMessagesLoaded.js +0 -14
- package/lib/commonjs/adminApp/stateUpdaters/volatile/chatMessagesLoaded.js.map +0 -1
- package/lib/commonjs/adminApp/stateUpdaters/volatile/chatPendingReplyChanged.d.ts +0 -3
- package/lib/commonjs/adminApp/stateUpdaters/volatile/chatPendingReplyChanged.js +0 -10
- package/lib/commonjs/adminApp/stateUpdaters/volatile/chatPendingReplyChanged.js.map +0 -1
- package/lib/commonjs/types/ListLogChatMessages.d.ts +0 -4
- package/lib/commonjs/types/ListLogChatMessages.js +0 -3
- package/lib/commonjs/types/ListLogChatMessages.js.map +0 -1
- package/lib/commonjs/types/LogChatMessage.d.ts +0 -5
- package/lib/commonjs/types/LogChatMessage.js +0 -3
- package/lib/commonjs/types/LogChatMessage.js.map +0 -1
- package/lib/commonjs/types/SendLogChatMessage.d.ts +0 -4
- package/lib/commonjs/types/SendLogChatMessage.js +0 -3
- package/lib/commonjs/types/SendLogChatMessage.js.map +0 -1
- package/lib/esm/LogViewer/HelpChat/HelpChat.d.ts +0 -6
- package/lib/esm/LogViewer/HelpChat/HelpChat.js +0 -67
- package/lib/esm/LogViewer/HelpChat/HelpChat.js.map +0 -1
- package/lib/esm/LogViewer/HelpChat/index.d.ts +0 -1
- package/lib/esm/LogViewer/HelpChat/index.js +0 -2
- package/lib/esm/LogViewer/HelpChat/index.js.map +0 -1
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileChatMessageAppended.d.ts +0 -3
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileChatMessageAppended.js +0 -6
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileChatMessageAppended.js.map +0 -1
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileChatMessagesLoaded.d.ts +0 -3
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileChatMessagesLoaded.js +0 -6
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileChatMessagesLoaded.js.map +0 -1
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileChatPendingReplyChanged.d.ts +0 -2
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileChatPendingReplyChanged.js +0 -6
- package/lib/esm/adminApp/actionCreators/volatile/askUIVolatileChatPendingReplyChanged.js.map +0 -1
- package/lib/esm/adminApp/effects/volatile/VolatileChatMessageAppendedEffect.d.ts +0 -8
- package/lib/esm/adminApp/effects/volatile/VolatileChatMessageAppendedEffect.js +0 -2
- package/lib/esm/adminApp/effects/volatile/VolatileChatMessageAppendedEffect.js.map +0 -1
- package/lib/esm/adminApp/effects/volatile/VolatileChatMessagesLoadedEffect.d.ts +0 -9
- package/lib/esm/adminApp/effects/volatile/VolatileChatMessagesLoadedEffect.js +0 -2
- package/lib/esm/adminApp/effects/volatile/VolatileChatMessagesLoadedEffect.js.map +0 -1
- package/lib/esm/adminApp/effects/volatile/VolatileChatPendingReplyChangedEffect.d.ts +0 -7
- package/lib/esm/adminApp/effects/volatile/VolatileChatPendingReplyChangedEffect.js +0 -2
- package/lib/esm/adminApp/effects/volatile/VolatileChatPendingReplyChangedEffect.js.map +0 -1
- package/lib/esm/adminApp/logic/chat/askLoadChatMessages.d.ts +0 -2
- package/lib/esm/adminApp/logic/chat/askLoadChatMessages.js +0 -13
- package/lib/esm/adminApp/logic/chat/askLoadChatMessages.js.map +0 -1
- package/lib/esm/adminApp/stateUpdaters/volatile/chatMessageAppended.d.ts +0 -3
- package/lib/esm/adminApp/stateUpdaters/volatile/chatMessageAppended.js +0 -14
- package/lib/esm/adminApp/stateUpdaters/volatile/chatMessageAppended.js.map +0 -1
- package/lib/esm/adminApp/stateUpdaters/volatile/chatMessagesLoaded.d.ts +0 -3
- package/lib/esm/adminApp/stateUpdaters/volatile/chatMessagesLoaded.js +0 -13
- package/lib/esm/adminApp/stateUpdaters/volatile/chatMessagesLoaded.js.map +0 -1
- package/lib/esm/adminApp/stateUpdaters/volatile/chatPendingReplyChanged.d.ts +0 -3
- package/lib/esm/adminApp/stateUpdaters/volatile/chatPendingReplyChanged.js +0 -14
- package/lib/esm/adminApp/stateUpdaters/volatile/chatPendingReplyChanged.js.map +0 -1
- package/lib/esm/types/ListLogChatMessages.d.ts +0 -4
- package/lib/esm/types/ListLogChatMessages.js +0 -2
- package/lib/esm/types/ListLogChatMessages.js.map +0 -1
- package/lib/esm/types/LogChatMessage.d.ts +0 -5
- package/lib/esm/types/LogChatMessage.js +0 -2
- package/lib/esm/types/LogChatMessage.js.map +0 -1
- package/lib/esm/types/SendLogChatMessage.d.ts +0 -4
- package/lib/esm/types/SendLogChatMessage.js +0 -2
- package/lib/esm/types/SendLogChatMessage.js.map +0 -1
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Config = Config;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const quidproquo_features_1 = require("quidproquo-features");
|
|
5
6
|
const quidproquo_web_react_1 = require("quidproquo-web-react");
|
|
6
|
-
const quidproquo_webserver_1 = require("quidproquo-webserver");
|
|
7
7
|
const react_1 = require("react");
|
|
8
8
|
const material_1 = require("@mui/material");
|
|
9
9
|
const internals_1 = require("@mui/x-data-grid/internals");
|
|
@@ -21,7 +21,7 @@ function Config() {
|
|
|
21
21
|
const sendMessage = (0, quidproquo_web_react_1.useWebsocketSendEvent)();
|
|
22
22
|
(0, internals_1.useOnMount)(() => {
|
|
23
23
|
const configSyncRequestEvent = {
|
|
24
|
-
type:
|
|
24
|
+
type: quidproquo_features_1.WebsocketAdminClientMessageEventType.ConfigSyncRequest,
|
|
25
25
|
payload: {},
|
|
26
26
|
};
|
|
27
27
|
api.applyConfigSyncRequested();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/Config/Config.tsx"],"names":[],"mappings":";;AAcA,wBAgGC;;AA9GD,+DAA6D;
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/Config/Config.tsx"],"names":[],"mappings":"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","sourcesContent":["import { WebsocketAdminClientMessageEventType, WebSocketQueueClientEventMessageQpqAdminConfigSyncRequest } from 'quidproquo-features';\nimport { useWebsocketSendEvent } from 'quidproquo-web-react';\n\nimport React, { useState } from 'react';\nimport { Box, CssBaseline, Drawer, List, ListItem, ListItemButton, ListItemText, Tab, Tabs, TextField, Toolbar, Typography } from '@mui/material';\nimport { useOnMount } from '@mui/x-data-grid/internals';\n\nimport { useAdminApp, useSessionState } from '../adminApp';\nimport { useServiceNames } from '../LogViewer/hooks';\n\nconst drawerWidth = 240;\n\nconst sections = ['General', 'Settings', 'Advanced'];\n\nexport function Config() {\n const [tabIndex, setTabIndex] = useState(0);\n const [search, setSearch] = useState('');\n const services = useServiceNames();\n\n const [api] = useAdminApp();\n const session = useSessionState();\n const sendMessage = useWebsocketSendEvent();\n\n useOnMount(() => {\n const configSyncRequestEvent: WebSocketQueueClientEventMessageQpqAdminConfigSyncRequest = {\n type: WebsocketAdminClientMessageEventType.ConfigSyncRequest,\n payload: {},\n };\n\n api.applyConfigSyncRequested();\n sendMessage(configSyncRequestEvent);\n });\n\n const handleServiceClick = (service: string) => {\n api.applyConfigServiceSelected(service);\n setTabIndex(0);\n };\n\n const handleTabChange = (event: React.SyntheticEvent, newIndex: number) => {\n setTabIndex(newIndex);\n };\n\n const filteredServices = services.filter((s) => s.label.toLowerCase().includes(search.toLowerCase()));\n const selectedService = session.configSelectedService || services[0]?.label;\n\n return (\n <Box sx={{ display: 'flex' }}>\n <CssBaseline />\n\n {/* Sidebar */}\n <Drawer\n sx={{\n width: drawerWidth,\n flexShrink: 0,\n [`& .MuiDrawer-paper`]: { width: drawerWidth, boxSizing: 'border-box' },\n }}\n variant=\"permanent\"\n >\n <Toolbar>\n <TextField\n fullWidth\n onChange={(e) => setSearch(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n setSearch(filteredServices[0]?.label);\n handleServiceClick(filteredServices[0]?.label);\n }\n }}\n placeholder=\"Search services\"\n size=\"small\"\n sx={{ mt: 2 }}\n value={search}\n variant=\"outlined\"\n />\n </Toolbar>\n <Box sx={{ overflow: 'auto', p: 2 }}>\n <List>\n {filteredServices.map((service) => (\n <ListItem key={service.value} disablePadding>\n <ListItemButton onClick={() => handleServiceClick(service.label)} selected={service.label === selectedService}>\n <ListItemText primary={service.label} />\n </ListItemButton>\n </ListItem>\n ))}\n </List>\n </Box>\n </Drawer>\n\n {/* Main Content */}\n <Box component=\"main\" sx={{ flexGrow: 1, p: 3 }}>\n <Typography gutterBottom variant=\"h5\">\n {selectedService} Service\n </Typography>\n\n {/* Tabs */}\n <Tabs onChange={handleTabChange} sx={{ borderBottom: 1, borderColor: 'divider' }} value={tabIndex}>\n {sections.map((section, index) => (\n <Tab key={index} label={section} />\n ))}\n </Tabs>\n\n {/* Tab Content */}\n <Box sx={{ mt: 2 }}>\n {sections[tabIndex] === 'General' && <Typography>General settings for {selectedService}</Typography>}\n {sections[tabIndex] === 'Settings' && <Typography>Custom configuration options</Typography>}\n {sections[tabIndex] === 'Advanced' && <Typography>Advanced tuning and overrides</Typography>}\n </Box>\n </Box>\n </Box>\n );\n}\n\nexport default Config;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdminLogGrid.js","sourceRoot":"","sources":["../../../../../src/LogViewer/AdminLogs/AdminLogGrid/AdminLogGrid.tsx"],"names":[],"mappings":";;;;;;;AAAA,qDAA+C;AAG/C,kFAA0D;AAC1D,kDAAsG;AAEtG,kGAA+F;AAC/F,oEAAiE;AACjE,+CAA4C;AAC5C,oCAAiD;AAEjD,MAAM,OAAO,GAAiB;IAC5B;QACE,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,0CAAM,8BAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAO;KACtF;IACD;QACE,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,0CAAM,MAAM,CAAC,KAAK,IAAI,SAAS,GAAO;KACrF;IACD;QACE,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,uBAAC,mBAAQ,IAAC,WAAW,EAAE,MAAM,CAAC,KAAK,GAAI;KACtF;IACD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE;CACpD,CAAC;AAQK,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAqB,EAAE,EAAE;IACrF,MAAM,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,UAAU,EAAE,2BAA2B,EAAE,GAAG,IAAA,6BAAqB,GAAE,CAAC;IAE/H,MAAM,eAAe,GAAG,CAAC,MAA8B,EAAE,EAAE;QACzD,QAAQ,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,8BAAY,CAAC,KAAK;gBACrB,OAAO,UAAU,CAAC;YACpB,KAAK,8BAAY,CAAC,KAAK;gBACrB,OAAO,UAAU,CAAC;YACpB,KAAK,8BAAY,CAAC,IAAI;gBACpB,OAAO,SAAS,CAAC;YACnB,KAAK,8BAAY,CAAC,IAAI;gBACpB,OAAO,SAAS,CAAC;YACnB,KAAK,8BAAY,CAAC,KAAK;gBACrB,OAAO,UAAU,CAAC;YACpB,KAAK,8BAAY,CAAC,KAAK;gBACrB,OAAO,UAAU,CAAC;YACpB;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,6DACE,4CACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDR,GACa,EACR,uBAAC,sBAAQ,IACP,YAAY,QACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE;oBACV,UAAU,EAAE,uCAAkB;oBAC9B,cAAc,EAAE,GAAG,EAAE,CAAC,uBAAC,wBAAc,IAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAC,aAAa,GAAG;iBACtF,EACD,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iCAAM,GAAG,KAAE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAG,CAAC,GACpD,EACF,uBAAC,qBAAS,IACR,WAAW,EAAE,2BAA2B,EACxC,cAAc,EAAE,sBAAsB,EACtC,IAAI,EAAE,CAAC,CAAC,sBAAsB,EAC9B,yBAAyB,EAAE,yBAAyB,EACpD,oBAAoB,EAAE,IAAI,GAC1B,IACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAtGW,QAAA,YAAY,gBAsGvB","sourcesContent":["import { LogLevelEnum } from 'quidproquo-core';\nimport { LogLog } from 'quidproquo-
|
|
1
|
+
{"version":3,"file":"AdminLogGrid.js","sourceRoot":"","sources":["../../../../../src/LogViewer/AdminLogs/AdminLogGrid/AdminLogGrid.tsx"],"names":[],"mappings":";;;;;;;AAAA,qDAA+C;AAG/C,kFAA0D;AAC1D,kDAAsG;AAEtG,kGAA+F;AAC/F,oEAAiE;AACjE,+CAA4C;AAC5C,oCAAiD;AAEjD,MAAM,OAAO,GAAiB;IAC5B;QACE,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,0CAAM,8BAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAO;KACtF;IACD;QACE,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,SAAS;QACrB,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,0CAAM,MAAM,CAAC,KAAK,IAAI,SAAS,GAAO;KACrF;IACD;QACE,KAAK,EAAE,WAAW;QAClB,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,CAAC,MAA4B,EAAE,EAAE,CAAC,uBAAC,mBAAQ,IAAC,WAAW,EAAE,MAAM,CAAC,KAAK,GAAI;KACtF;IACD,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE;CACpD,CAAC;AAQK,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAqB,EAAE,EAAE;IACrF,MAAM,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,UAAU,EAAE,2BAA2B,EAAE,GAAG,IAAA,6BAAqB,GAAE,CAAC;IAE/H,MAAM,eAAe,GAAG,CAAC,MAA8B,EAAE,EAAE;QACzD,QAAQ,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,8BAAY,CAAC,KAAK;gBACrB,OAAO,UAAU,CAAC;YACpB,KAAK,8BAAY,CAAC,KAAK;gBACrB,OAAO,UAAU,CAAC;YACpB,KAAK,8BAAY,CAAC,IAAI;gBACpB,OAAO,SAAS,CAAC;YACnB,KAAK,8BAAY,CAAC,IAAI;gBACpB,OAAO,SAAS,CAAC;YACnB,KAAK,8BAAY,CAAC,KAAK;gBACrB,OAAO,UAAU,CAAC;YACpB,KAAK,8BAAY,CAAC,KAAK;gBACrB,OAAO,UAAU,CAAC;YACpB;gBACE,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,6DACE,4CACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDR,GACa,EACR,uBAAC,sBAAQ,IACP,YAAY,QACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE;oBACV,UAAU,EAAE,uCAAkB;oBAC9B,cAAc,EAAE,GAAG,EAAE,CAAC,uBAAC,wBAAc,IAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAC,aAAa,GAAG;iBACtF,EACD,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iCAAM,GAAG,KAAE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAG,CAAC,GACpD,EACF,uBAAC,qBAAS,IACR,WAAW,EAAE,2BAA2B,EACxC,cAAc,EAAE,sBAAsB,EACtC,IAAI,EAAE,CAAC,CAAC,sBAAsB,EAC9B,yBAAyB,EAAE,yBAAyB,EACpD,oBAAoB,EAAE,IAAI,GAC1B,IACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAtGW,QAAA,YAAY,gBAsGvB","sourcesContent":["import { LogLevelEnum } from 'quidproquo-core';\nimport { LogLog } from 'quidproquo-features';\n\nimport LinearProgress from '@mui/material/LinearProgress';\nimport { DataGrid, GridColDef, GridRenderCellParams, GridRowClassNameParams } from '@mui/x-data-grid';\n\nimport { DataGridPagination } from '../../../components/DataGridPagination/DataGridPagination';\nimport { DateCell } from '../../../components/DateCell/DateCell';\nimport { LogDialog } from '../../LogDialog';\nimport { useLogLogMananagement } from '../hooks';\n\nconst columns: GridColDef[] = [\n {\n field: 'type',\n headerName: 'Type',\n flex: 1,\n renderCell: (params: GridRenderCellParams) => <div>{LogLevelEnum[params.value]}</div>,\n },\n {\n field: 'module',\n headerName: 'Service',\n flex: 1,\n renderCell: (params: GridRenderCellParams) => <div>{params.value || 'unknown'}</div>,\n },\n {\n field: 'timestamp',\n headerName: 'When',\n flex: 1,\n renderCell: (params: GridRenderCellParams) => <DateCell isoDateTime={params.value} />,\n },\n { field: 'reason', headerName: 'Message', flex: 8 },\n];\n\ntype AdminLogGridProps = {\n logs: LogLog[];\n isLoading: boolean;\n searchProgress: number;\n};\n\nexport const AdminLogGrid = ({ logs, isLoading, searchProgress }: AdminLogGridProps) => {\n const { selectedLogCorrelation, setSelectedLogCorrelation, onRowClick, clearSelectedLogCorrelation } = useLogLogMananagement();\n\n const getRowClassName = (params: GridRowClassNameParams) => {\n switch (params.row.type) {\n case LogLevelEnum.Fatal:\n return 'fatalRow';\n case LogLevelEnum.Error:\n return 'errorRow';\n case LogLevelEnum.Warn:\n return 'warnRow';\n case LogLevelEnum.Info:\n return 'infoRow';\n case LogLevelEnum.Debug:\n return 'debugRow';\n case LogLevelEnum.Trace:\n return 'traceRow';\n default:\n return '';\n }\n };\n\n return (\n <>\n <style>\n {`\n .fatalRow {\n background-color: #8B0000 !important; /* Dark Red */\n color: #fff;\n }\n .fatalRow:hover {\n background-color: #B22222 !important; /* FireBrick */\n color: #fff;\n }\n\n .errorRow {\n background-color: #FF4C4C !important; /* Red-ish */\n color: #fff;\n }\n .errorRow:hover {\n background-color: #FF6666 !important; /* Lighter red for hover */\n color: #fff;\n }\n\n .warnRow {\n background-color: #FFD700 !important; /* Gold */\n color: #000;\n }\n .warnRow:hover {\n background-color: #FFED85 !important; /* Lighter/gentler yellow */\n color: #000;\n }\n\n .infoRow {\n background-color: #ADD8E6 !important; /* Light Blue (SkyBlue) */\n color: #000;\n }\n .infoRow:hover {\n background-color: #C4E4F2 !important; /* Slightly lighter blue */\n color: #000;\n }\n\n .debugRow {\n background-color: #E0E0E0 !important; /* Light Gray */\n color: #000;\n }\n .debugRow:hover {\n background-color: #D0D0D0 !important; /* Slightly darker gray */\n color: #000;\n }\n\n .traceRow {\n background-color: #F3F3F3 !important; /* Very Light Gray */\n color: #000;\n }\n .traceRow:hover {\n background-color: #E3E3E3 !important; \n color: #000;\n }\n`}\n </style>\n <DataGrid\n autoPageSize\n columns={columns}\n components={{\n Pagination: DataGridPagination,\n LoadingOverlay: () => <LinearProgress value={searchProgress} variant=\"determinate\" />,\n }}\n getRowClassName={getRowClassName}\n loading={isLoading}\n onRowClick={onRowClick}\n rows={logs.map((log, i) => ({ ...log, id: `${i}` }))}\n />\n <LogDialog\n handleClose={clearSelectedLogCorrelation}\n logCorrelation={selectedLogCorrelation}\n open={!!selectedLogCorrelation}\n setSelectedLogCorrelation={setSelectedLogCorrelation}\n storyResultMetadatas={logs}\n />\n </>\n );\n};\n"]}
|
package/lib/commonjs/LogViewer/AdminLogs/hooks/useLogLogMananagement/useLogLogMananagement.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLogLogMananagement.js","sourceRoot":"","sources":["../../../../../../src/LogViewer/AdminLogs/hooks/useLogLogMananagement/useLogLogMananagement.ts"],"names":[],"mappings":";;;AAEA,mDAA2F;AAEpF,MAAM,qBAAqB,GAAG,GAAG,EAAE;;IACxC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,sBAAW,GAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAA,0BAAe,GAAE,CAAC;IAElC,MAAM,sBAAsB,GAAG,MAAA,OAAO,CAAC,eAAe,mCAAI,EAAE,CAAC;IAE7D,MAAM,yBAAyB,GAAG,CAAC,WAAoB,EAAE,EAAE;QACzD,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,sBAAsB,CAAC,WAAW,EAAE,gCAAqB,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,sBAAsB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,EAAmB,EAAE,EAAE;QAC9C,yBAAyB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACvC,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO;QACL,sBAAsB;QACtB,yBAAyB;QAEzB,UAAU;QACV,2BAA2B;KAC5B,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,qBAAqB,yBA6BhC","sourcesContent":["import { LogLog } from 'quidproquo-
|
|
1
|
+
{"version":3,"file":"useLogLogMananagement.js","sourceRoot":"","sources":["../../../../../../src/LogViewer/AdminLogs/hooks/useLogLogMananagement/useLogLogMananagement.ts"],"names":[],"mappings":";;;AAEA,mDAA2F;AAEpF,MAAM,qBAAqB,GAAG,GAAG,EAAE;;IACxC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAA,sBAAW,GAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAA,0BAAe,GAAE,CAAC;IAElC,MAAM,sBAAsB,GAAG,MAAA,OAAO,CAAC,eAAe,mCAAI,EAAE,CAAC;IAE7D,MAAM,yBAAyB,GAAG,CAAC,WAAoB,EAAE,EAAE;QACzD,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,CAAC,sBAAsB,CAAC,WAAW,EAAE,gCAAqB,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,sBAAsB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,EAAE,GAAG,EAAmB,EAAE,EAAE;QAC9C,yBAAyB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,2BAA2B,GAAG,GAAG,EAAE;QACvC,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF,OAAO;QACL,sBAAsB;QACtB,yBAAyB;QAEzB,UAAU;QACV,2BAA2B;KAC5B,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,qBAAqB,yBA6BhC","sourcesContent":["import { LogLog } from 'quidproquo-features';\n\nimport { CorrelationOpenSource, useAdminApp, useSessionState } from '../../../../adminApp';\n\nexport const useLogLogMananagement = () => {\n const [api] = useAdminApp();\n const session = useSessionState();\n\n const selectedLogCorrelation = session.openCorrelation ?? '';\n\n const setSelectedLogCorrelation = (correlation?: string) => {\n if (correlation) {\n api.applyCorrelationOpened(correlation, CorrelationOpenSource.grid);\n } else {\n api.applyCorrelationClosed();\n }\n };\n\n const onRowClick = ({ row }: { row: LogLog }) => {\n setSelectedLogCorrelation(row.fromCorrelation);\n };\n\n const clearSelectedLogCorrelation = () => {\n api.applyCorrelationClosed();\n };\n\n return {\n selectedLogCorrelation,\n setSelectedLogCorrelation,\n\n onRowClick,\n clearSelectedLogCorrelation,\n };\n};\n"]}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Dashboard = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const quidproquo_features_1 = require("quidproquo-features");
|
|
5
6
|
const quidproquo_web_1 = require("quidproquo-web");
|
|
6
7
|
const quidproquo_web_react_1 = require("quidproquo-web-react");
|
|
7
|
-
const quidproquo_webserver_1 = require("quidproquo-webserver");
|
|
8
8
|
const react_1 = require("react");
|
|
9
9
|
const material_1 = require("@mui/material");
|
|
10
10
|
const adminApp_1 = require("../adminApp");
|
|
@@ -36,7 +36,7 @@ const Dashboard = () => {
|
|
|
36
36
|
(0, react_1.useEffect)(() => {
|
|
37
37
|
runInitialSearch();
|
|
38
38
|
}, [runInitialSearch]);
|
|
39
|
-
(0, quidproquo_web_react_1.useSubscribeToWebSocketEvent)(
|
|
39
|
+
(0, quidproquo_web_react_1.useSubscribeToWebSocketEvent)(quidproquo_features_1.WebSocketQueueQpqAdminServerMessageEventType.LogMetadata, (webSocketService, message) => {
|
|
40
40
|
api.receiveRealtimeErrorLog(message.payload.log);
|
|
41
41
|
});
|
|
42
42
|
const hoursPassedToday = (0, quidproquo_web_react_1.useRunEvery)(getHoursSinceStartOfDay, 60);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../src/LogViewer/Dashboard.tsx"],"names":[],"mappings":";;;;AAAA,mDAA0C;AAC1C,+DAAsH;
|
|
1
|
+
{"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../src/LogViewer/Dashboard.tsx"],"names":[],"mappings":"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","sourcesContent":["import { LogMetadata, WebSocketQueueQpqAdminServerEventMessageLogMetadata, WebSocketQueueQpqAdminServerMessageEventType } from 'quidproquo-features';\nimport { uniqueBy } from 'quidproquo-web';\nimport { useEffectCallback, useRunEvery, useSubscribeToWebSocketEvent, useThrottledMemo } from 'quidproquo-web-react';\n\nimport React, { useEffect, useMemo } from 'react';\nimport { Box, Grid, Paper, Typography } from '@mui/material';\n\nimport { dashboardErrorsSearchKey, useAdminApp, useVolatileState } from '../adminApp';\nimport { TabViewBox } from '../components/TabViewBox';\nimport { useIsLoading } from '../view/Loading/hooks/useIsLoading';\nimport { LogMetadataGrid } from './LogMetadataGrid';\n\nconst getLogCountForSinceXDaysAgo = (logs: LogMetadata[], daysAgo: number) => {\n const currentDate = new Date();\n const daysAgoDate = new Date(currentDate.getTime() - daysAgo * 24 * 60 * 60 * 1000);\n const daysAgoString = daysAgoDate.toISOString();\n\n const logCount = logs.reduce((count, log) => (daysAgoString < log.startedAt && !log.checked ? count + 1 : count), 0);\n\n return logCount;\n};\n\nconst getHoursSinceStartOfDay = (): number => {\n const now = new Date();\n return now.getHours();\n};\n\ninterface DashboardProps {}\n\nexport const Dashboard: React.FC<DashboardProps> = () => {\n const [api] = useAdminApp();\n const volatile = useVolatileState();\n const isLoading = useIsLoading();\n\n const results = volatile.logResults[dashboardErrorsSearchKey];\n const weeklyLogs = useMemo(() => results?.logs ?? [], [results?.logs]);\n const realtimeLogs = volatile.realtimeErrorLogs;\n\n // Stable identity so the mount-only effect below can list it as a dependency.\n const runInitialSearch = useEffectCallback(() => {\n api.runDashboardErrorSearch();\n });\n\n useEffect(() => {\n runInitialSearch();\n }, [runInitialSearch]);\n\n useSubscribeToWebSocketEvent(\n WebSocketQueueQpqAdminServerMessageEventType.LogMetadata,\n (webSocketService, message: WebSocketQueueQpqAdminServerEventMessageLogMetadata) => {\n api.receiveRealtimeErrorLog(message.payload.log);\n },\n );\n\n const hoursPassedToday = useRunEvery(getHoursSinceStartOfDay, 60);\n\n const allLogs = useThrottledMemo(() => {\n const uniqueLogs = uniqueBy([...realtimeLogs, ...weeklyLogs], (log) => log.correlation);\n return uniqueLogs.sort((a, b) => new Date(b.startedAt).getTime() - new Date(a.startedAt).getTime());\n }, [realtimeLogs, weeklyLogs]);\n\n const dailyErrorCount = useMemo(() => getLogCountForSinceXDaysAgo(allLogs, hoursPassedToday / 24), [allLogs, hoursPassedToday]);\n const weeklyErrorCount = useMemo(() => getLogCountForSinceXDaysAgo(allLogs, 7), [allLogs]);\n\n return (\n <TabViewBox>\n <Grid container spacing={2} sx={{ mb: 2 }}>\n <Grid item xs={6}>\n <Paper sx={{ p: 2, textAlign: 'center' }}>\n <Typography>Daily Errors</Typography>\n <Typography variant=\"h4\">{dailyErrorCount}</Typography>\n </Paper>\n </Grid>\n <Grid item xs={6}>\n <Paper sx={{ p: 2, textAlign: 'center' }}>\n <Typography>Weekly Errors</Typography>\n <Typography variant=\"h4\">{weeklyErrorCount}</Typography>\n </Paper>\n </Grid>\n </Grid>\n <Box sx={{ flex: 1, overflow: 'auto' }}>\n <LogMetadataGrid isLoading={isLoading || !!results?.isSearching} logs={allLogs} />\n </Box>\n </TabViewBox>\n );\n};\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EventDocAiSegments = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_markdown_1 = __importDefault(require("react-markdown"));
|
|
9
|
+
const material_1 = require("@mui/material");
|
|
10
|
+
// Renders one message's segments — text (markdown), reasoning (dimmed), tool
|
|
11
|
+
// calls (a chip per tool, showing input and, once it arrives, output), and
|
|
12
|
+
// file attachments. Used for both finalized messages and the live stream
|
|
13
|
+
// preview (mergeStreamParts produces the same segment shape for both).
|
|
14
|
+
const EventDocAiSegments = ({ segments }) => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: segments.map((segment, index) => {
|
|
15
|
+
if (segment.type === 'text') {
|
|
16
|
+
return (0, jsx_runtime_1.jsx)(react_markdown_1.default, { children: segment.text }, index);
|
|
17
|
+
}
|
|
18
|
+
if (segment.type === 'reasoning') {
|
|
19
|
+
return ((0, jsx_runtime_1.jsx)(material_1.Typography, { sx: { fontStyle: 'italic', opacity: 0.7, mb: 1 }, variant: "body2", children: segment.text }, index));
|
|
20
|
+
}
|
|
21
|
+
if (segment.type === 'file') {
|
|
22
|
+
return (0, jsx_runtime_1.jsx)(material_1.Chip, { label: segment.attachment.filename, size: "small", sx: { mb: 1 } }, index);
|
|
23
|
+
}
|
|
24
|
+
return ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: { display: 'flex', flexDirection: 'column', gap: 0.5, mb: 1 }, children: segment.tools.map((tool, toolIndex) => ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
|
|
25
|
+
p: 1,
|
|
26
|
+
borderRadius: 1,
|
|
27
|
+
backgroundColor: 'rgba(0, 0, 0, 0.06)',
|
|
28
|
+
fontFamily: 'monospace',
|
|
29
|
+
fontSize: '0.75rem',
|
|
30
|
+
}, children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { component: "div", sx: { fontWeight: 'bold' }, variant: "caption", children: tool.output === undefined ? `Calling ${tool.toolName}…` : tool.toolName }), (0, jsx_runtime_1.jsx)(material_1.Box, { component: "pre", sx: { m: 0, whiteSpace: 'pre-wrap', wordBreak: 'break-all' }, children: JSON.stringify(tool.input) }), tool.output !== undefined && ((0, jsx_runtime_1.jsx)(material_1.Box, { component: "pre", sx: { m: 0, mt: 0.5, whiteSpace: 'pre-wrap', wordBreak: 'break-all', opacity: 0.8 }, children: JSON.stringify(tool.output) }))] }, toolIndex))) }, index));
|
|
31
|
+
}) }));
|
|
32
|
+
exports.EventDocAiSegments = EventDocAiSegments;
|
|
33
|
+
//# sourceMappingURL=EventDocAiSegments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventDocAiSegments.js","sourceRoot":"","sources":["../../../../src/LogViewer/LogChat/EventDocAiSegments.tsx"],"names":[],"mappings":";;;;;;;AAGA,oEAAsC;AACtC,4CAAsD;AAMtD,6EAA6E;AAC7E,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AAChE,MAAM,kBAAkB,GAAsC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACrF,2DACG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,uBAAC,wBAAQ,cAAc,OAAO,CAAC,IAAI,IAApB,KAAK,CAA2B,CAAC;QACzD,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,CACL,uBAAC,qBAAU,IAAa,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAC,OAAO,YACtF,OAAO,CAAC,IAAI,IADE,KAAK,CAET,CACd,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO,uBAAC,eAAI,IAAa,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAC,OAAO,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAArE,KAAK,CAAoE,CAAC;QAC9F,CAAC;QAED,OAAO,CACL,uBAAC,cAAG,IAAa,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,YAC/E,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CACtC,wBAAC,cAAG,IAEF,EAAE,EAAE;oBACF,CAAC,EAAE,CAAC;oBACJ,YAAY,EAAE,CAAC;oBACf,eAAe,EAAE,qBAAqB;oBACtC,UAAU,EAAE,WAAW;oBACvB,QAAQ,EAAE,SAAS;iBACpB,aAED,uBAAC,qBAAU,IAAC,SAAS,EAAC,KAAK,EAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,EAAC,SAAS,YACtE,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAC7D,EACb,uBAAC,cAAG,IAAC,SAAS,EAAC,KAAK,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAC9E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GACvB,EACL,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAC5B,uBAAC,cAAG,IAAC,SAAS,EAAC,KAAK,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,YACrG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GACxB,CACP,KAnBI,SAAS,CAoBV,CACP,CAAC,IAxBM,KAAK,CAyBT,CACP,CAAC;IACJ,CAAC,CAAC,GACD,CACJ,CAAC;AAjDW,QAAA,kBAAkB,sBAiD7B","sourcesContent":["import { EventDocAiMessageSegment } from 'quidproquo-features';\n\nimport React from 'react';\nimport Markdown from 'react-markdown';\nimport { Box, Chip, Typography } from '@mui/material';\n\ninterface EventDocAiSegmentsProps {\n segments: EventDocAiMessageSegment[];\n}\n\n// Renders one message's segments — text (markdown), reasoning (dimmed), tool\n// calls (a chip per tool, showing input and, once it arrives, output), and\n// file attachments. Used for both finalized messages and the live stream\n// preview (mergeStreamParts produces the same segment shape for both).\nexport const EventDocAiSegments: React.FC<EventDocAiSegmentsProps> = ({ segments }) => (\n <>\n {segments.map((segment, index) => {\n if (segment.type === 'text') {\n return <Markdown key={index}>{segment.text}</Markdown>;\n }\n\n if (segment.type === 'reasoning') {\n return (\n <Typography key={index} sx={{ fontStyle: 'italic', opacity: 0.7, mb: 1 }} variant=\"body2\">\n {segment.text}\n </Typography>\n );\n }\n\n if (segment.type === 'file') {\n return <Chip key={index} label={segment.attachment.filename} size=\"small\" sx={{ mb: 1 }} />;\n }\n\n return (\n <Box key={index} sx={{ display: 'flex', flexDirection: 'column', gap: 0.5, mb: 1 }}>\n {segment.tools.map((tool, toolIndex) => (\n <Box\n key={toolIndex}\n sx={{\n p: 1,\n borderRadius: 1,\n backgroundColor: 'rgba(0, 0, 0, 0.06)',\n fontFamily: 'monospace',\n fontSize: '0.75rem',\n }}\n >\n <Typography component=\"div\" sx={{ fontWeight: 'bold' }} variant=\"caption\">\n {tool.output === undefined ? `Calling ${tool.toolName}…` : tool.toolName}\n </Typography>\n <Box component=\"pre\" sx={{ m: 0, whiteSpace: 'pre-wrap', wordBreak: 'break-all' }}>\n {JSON.stringify(tool.input)}\n </Box>\n {tool.output !== undefined && (\n <Box component=\"pre\" sx={{ m: 0, mt: 0.5, whiteSpace: 'pre-wrap', wordBreak: 'break-all', opacity: 0.8 }}>\n {JSON.stringify(tool.output)}\n </Box>\n )}\n </Box>\n ))}\n </Box>\n );\n })}\n </>\n);\n"]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LogChat = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const quidproquo_features_1 = require("quidproquo-features");
|
|
6
|
+
const quidproquo_web_react_1 = require("quidproquo-web-react");
|
|
7
|
+
const quidproquo_web_react_2 = require("quidproquo-web-react");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const icons_material_1 = require("@mui/icons-material");
|
|
10
|
+
const material_1 = require("@mui/material");
|
|
11
|
+
const adminApp_1 = require("../../adminApp");
|
|
12
|
+
const askEventDocAiLogChatBoot_1 = require("./logic/askEventDocAiLogChatBoot");
|
|
13
|
+
const eventDocAiLogChatRuntime_1 = require("./eventDocAiLogChatRuntime");
|
|
14
|
+
const EventDocAiSegments_1 = require("./EventDocAiSegments");
|
|
15
|
+
const LogChatConversation = ({ logCorrelation }) => {
|
|
16
|
+
const [inputMessage, setInputMessage] = (0, react_1.useState)('');
|
|
17
|
+
const chatContainerRef = (0, react_1.useRef)(null);
|
|
18
|
+
const [api, state] = (0, quidproquo_web_react_2.useQpqWebsocketQueueRuntime)(eventDocAiLogChatRuntime_1.eventDocAiLogChatRuntime, askEventDocAiLogChatBoot_1.askEventDocAiLogChatBoot, logCorrelation);
|
|
19
|
+
const [adminApi] = (0, adminApp_1.useAdminApp)();
|
|
20
|
+
const streamSegments = (0, quidproquo_features_1.mergeStreamParts)(state.streamParts);
|
|
21
|
+
const isThinking = state.isSending && streamSegments.length === 0;
|
|
22
|
+
const handleSendMessage = (0, quidproquo_web_react_1.useEffectCallback)(() => {
|
|
23
|
+
if (inputMessage.trim() !== '') {
|
|
24
|
+
// Audit trail (session event) and actual chat transport are separate concerns.
|
|
25
|
+
adminApi.sendChatMessage(logCorrelation, inputMessage);
|
|
26
|
+
api.eventDocAiSendMessage(inputMessage);
|
|
27
|
+
setInputMessage('');
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const handleKeyPress = (event) => {
|
|
31
|
+
if (event.key === 'Enter') {
|
|
32
|
+
event.preventDefault();
|
|
33
|
+
handleSendMessage();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
(0, react_1.useEffect)(() => {
|
|
37
|
+
if (chatContainerRef.current) {
|
|
38
|
+
chatContainerRef.current.scrollTop = chatContainerRef.current.scrollHeight;
|
|
39
|
+
}
|
|
40
|
+
}, [state.chatMessages, streamSegments]);
|
|
41
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: { display: 'flex', flexDirection: 'column', height: '100%' }, children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { ref: chatContainerRef, sx: { flexGrow: 1, overflowY: 'auto', p: 2 }, children: [state.isLoadingHistory && ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: { display: 'flex', justifyContent: 'center', p: 2 }, children: (0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 20 }) })), state.chatMessages.map((message, index) => ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
|
|
42
|
+
display: 'flex',
|
|
43
|
+
alignItems: 'flex-start',
|
|
44
|
+
mb: 2,
|
|
45
|
+
justifyContent: message.role === 'assistant' ? 'flex-start' : 'flex-end',
|
|
46
|
+
}, children: (0, jsx_runtime_1.jsxs)(material_1.Paper, { sx: {
|
|
47
|
+
p: 2,
|
|
48
|
+
borderRadius: message.role === 'assistant' ? '20px 20px 20px 0' : '20px 20px 0 20px',
|
|
49
|
+
backgroundColor: message.role === 'assistant' ? 'grey.300' : 'primary.main',
|
|
50
|
+
color: message.role === 'assistant' ? 'black' : 'white',
|
|
51
|
+
maxWidth: '70%',
|
|
52
|
+
}, children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { sx: { display: 'flex', alignItems: 'center', mb: 1 }, children: [(0, jsx_runtime_1.jsx)(material_1.Avatar, { sx: { mr: 1, bgcolor: message.role === 'assistant' ? 'grey.500' : 'primary.dark' }, children: message.role === 'assistant' ? (0, jsx_runtime_1.jsx)(icons_material_1.Android, {}) : (0, jsx_runtime_1.jsx)(icons_material_1.Person, {}) }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "subtitle2", children: message.role === 'assistant' ? 'AI Assistant' : 'You' })] }), (0, jsx_runtime_1.jsx)(EventDocAiSegments_1.EventDocAiSegments, { segments: message.segments })] }) }, index))), streamSegments.length > 0 && ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: { display: 'flex', alignItems: 'flex-start', mb: 2, justifyContent: 'flex-start' }, children: (0, jsx_runtime_1.jsxs)(material_1.Paper, { sx: { p: 2, borderRadius: '20px 20px 20px 0', backgroundColor: 'grey.300', color: 'black', maxWidth: '70%' }, children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { sx: { display: 'flex', alignItems: 'center', mb: 1 }, children: [(0, jsx_runtime_1.jsx)(material_1.Avatar, { sx: { mr: 1, bgcolor: 'grey.500' }, children: (0, jsx_runtime_1.jsx)(icons_material_1.Android, {}) }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "subtitle2", children: "AI Assistant" })] }), (0, jsx_runtime_1.jsx)(EventDocAiSegments_1.EventDocAiSegments, { segments: streamSegments })] }) })), isThinking && ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: { display: 'flex', alignItems: 'flex-start', mb: 2, justifyContent: 'flex-start' }, children: (0, jsx_runtime_1.jsx)(material_1.Paper, { sx: { p: 2, borderRadius: '20px 20px 20px 0', backgroundColor: 'grey.300', color: 'black', maxWidth: '70%' }, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: { display: 'flex', alignItems: 'center' }, children: [(0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 20, sx: { mr: 1 } }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body1", children: "Thinking..." })] }) }) })), state.error && ((0, jsx_runtime_1.jsx)(material_1.Typography, { color: "error", sx: { mt: 1 }, variant: "body2", children: state.error }))] }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { p: 2, borderTop: '1px solid #ccc' }, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: { display: 'flex' }, children: [(0, jsx_runtime_1.jsx)(material_1.TextField, { fullWidth: true, onChange: (e) => setInputMessage(e.target.value), onKeyDown: handleKeyPress, placeholder: "Ask about this log...", sx: { mr: 2 }, value: inputMessage, variant: "outlined" }), (0, jsx_runtime_1.jsx)(material_1.Button, { onClick: handleSendMessage, variant: "contained", children: "Send" })] }) })] }));
|
|
53
|
+
};
|
|
54
|
+
// The generic EventDocAi chat, scoped to this one log (docId = correlation id).
|
|
55
|
+
// See eventdoc-chat-plan.md — replaces the old one-off Claude chat.
|
|
56
|
+
const LogChat = ({ logServiceName, logCorrelation }) => {
|
|
57
|
+
if (!logServiceName) {
|
|
58
|
+
return ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: { display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100%' }, children: (0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 20 }) }));
|
|
59
|
+
}
|
|
60
|
+
return ((0, jsx_runtime_1.jsx)(quidproquo_web_react_2.QpqContextProvider, { contextIdentifier: quidproquo_features_1.eventDocAiContext, value: { serviceName: logServiceName, type: 'log', docId: logCorrelation }, children: (0, jsx_runtime_1.jsx)(LogChatConversation, { logCorrelation: logCorrelation }) }));
|
|
61
|
+
};
|
|
62
|
+
exports.LogChat = LogChat;
|
|
63
|
+
//# sourceMappingURL=LogChat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LogChat.js","sourceRoot":"","sources":["../../../../src/LogViewer/LogChat/LogChat.tsx"],"names":[],"mappings":"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","sourcesContent":["import { eventDocAiContext, mergeStreamParts } from 'quidproquo-features';\nimport { useEffectCallback } from 'quidproquo-web-react';\nimport { QpqContextProvider, useQpqWebsocketQueueRuntime } from 'quidproquo-web-react';\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport { Android as AndroidIcon, Person as PersonIcon } from '@mui/icons-material';\nimport { Avatar, Box, Button, CircularProgress, Paper, TextField, Typography } from '@mui/material';\n\nimport { useAdminApp } from '../../adminApp';\nimport { askEventDocAiLogChatBoot } from './logic/askEventDocAiLogChatBoot';\nimport { eventDocAiLogChatRuntime } from './eventDocAiLogChatRuntime';\nimport { EventDocAiSegments } from './EventDocAiSegments';\n\ninterface LogChatProps {\n logServiceName: string;\n logCorrelation: string;\n}\n\nconst LogChatConversation: React.FC<{ logCorrelation: string }> = ({ logCorrelation }) => {\n const [inputMessage, setInputMessage] = useState('');\n const chatContainerRef = useRef<HTMLDivElement>(null);\n\n const [api, state] = useQpqWebsocketQueueRuntime(eventDocAiLogChatRuntime, askEventDocAiLogChatBoot, logCorrelation);\n const [adminApi] = useAdminApp();\n\n const streamSegments = mergeStreamParts(state.streamParts);\n const isThinking = state.isSending && streamSegments.length === 0;\n\n const handleSendMessage = useEffectCallback(() => {\n if (inputMessage.trim() !== '') {\n // Audit trail (session event) and actual chat transport are separate concerns.\n adminApi.sendChatMessage(logCorrelation, inputMessage);\n api.eventDocAiSendMessage(inputMessage);\n setInputMessage('');\n }\n });\n\n const handleKeyPress = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n handleSendMessage();\n }\n };\n\n useEffect(() => {\n if (chatContainerRef.current) {\n chatContainerRef.current.scrollTop = chatContainerRef.current.scrollHeight;\n }\n }, [state.chatMessages, streamSegments]);\n\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column', height: '100%' }}>\n <Box ref={chatContainerRef} sx={{ flexGrow: 1, overflowY: 'auto', p: 2 }}>\n {state.isLoadingHistory && (\n <Box sx={{ display: 'flex', justifyContent: 'center', p: 2 }}>\n <CircularProgress size={20} />\n </Box>\n )}\n {state.chatMessages.map((message, index) => (\n <Box\n key={index}\n sx={{\n display: 'flex',\n alignItems: 'flex-start',\n mb: 2,\n justifyContent: message.role === 'assistant' ? 'flex-start' : 'flex-end',\n }}\n >\n <Paper\n sx={{\n p: 2,\n borderRadius: message.role === 'assistant' ? '20px 20px 20px 0' : '20px 20px 0 20px',\n backgroundColor: message.role === 'assistant' ? 'grey.300' : 'primary.main',\n color: message.role === 'assistant' ? 'black' : 'white',\n maxWidth: '70%',\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', mb: 1 }}>\n <Avatar sx={{ mr: 1, bgcolor: message.role === 'assistant' ? 'grey.500' : 'primary.dark' }}>\n {message.role === 'assistant' ? <AndroidIcon /> : <PersonIcon />}\n </Avatar>\n <Typography variant=\"subtitle2\">{message.role === 'assistant' ? 'AI Assistant' : 'You'}</Typography>\n </Box>\n <EventDocAiSegments segments={message.segments} />\n </Paper>\n </Box>\n ))}\n {streamSegments.length > 0 && (\n <Box sx={{ display: 'flex', alignItems: 'flex-start', mb: 2, justifyContent: 'flex-start' }}>\n <Paper sx={{ p: 2, borderRadius: '20px 20px 20px 0', backgroundColor: 'grey.300', color: 'black', maxWidth: '70%' }}>\n <Box sx={{ display: 'flex', alignItems: 'center', mb: 1 }}>\n <Avatar sx={{ mr: 1, bgcolor: 'grey.500' }}>\n <AndroidIcon />\n </Avatar>\n <Typography variant=\"subtitle2\">AI Assistant</Typography>\n </Box>\n <EventDocAiSegments segments={streamSegments} />\n </Paper>\n </Box>\n )}\n {isThinking && (\n <Box sx={{ display: 'flex', alignItems: 'flex-start', mb: 2, justifyContent: 'flex-start' }}>\n <Paper sx={{ p: 2, borderRadius: '20px 20px 20px 0', backgroundColor: 'grey.300', color: 'black', maxWidth: '70%' }}>\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\n <CircularProgress size={20} sx={{ mr: 1 }} />\n <Typography variant=\"body1\">Thinking...</Typography>\n </Box>\n </Paper>\n </Box>\n )}\n {state.error && (\n <Typography color=\"error\" sx={{ mt: 1 }} variant=\"body2\">\n {state.error}\n </Typography>\n )}\n </Box>\n <Box sx={{ p: 2, borderTop: '1px solid #ccc' }}>\n <Box sx={{ display: 'flex' }}>\n <TextField\n fullWidth\n onChange={(e) => setInputMessage(e.target.value)}\n onKeyDown={handleKeyPress}\n placeholder=\"Ask about this log...\"\n sx={{ mr: 2 }}\n value={inputMessage}\n variant=\"outlined\"\n />\n <Button onClick={handleSendMessage} variant=\"contained\">\n Send\n </Button>\n </Box>\n </Box>\n </Box>\n );\n};\n\n// The generic EventDocAi chat, scoped to this one log (docId = correlation id).\n// See eventdoc-chat-plan.md — replaces the old one-off Claude chat.\nexport const LogChat: React.FC<LogChatProps> = ({ logServiceName, logCorrelation }) => {\n if (!logServiceName) {\n return (\n <Box sx={{ display: 'flex', justifyContent: 'center', alignItems: 'center', height: '100%' }}>\n <CircularProgress size={20} />\n </Box>\n );\n }\n\n return (\n <QpqContextProvider contextIdentifier={eventDocAiContext} value={{ serviceName: logServiceName, type: 'log', docId: logCorrelation }}>\n <LogChatConversation logCorrelation={logCorrelation} />\n </QpqContextProvider>\n );\n};\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const eventDocAiLogChatRuntime: import("quidproquo-web-react").QpqRuntimeDefinition<import("quidproquo-features").EventDocAiState, import("quidproquo-features").EventDocAiEffects, {
|
|
2
|
+
askEventDocAiLoadChats: typeof import("quidproquo-features").askEventDocAiLoadChats;
|
|
3
|
+
askEventDocAiNewChat: typeof import("quidproquo-features").askEventDocAiNewChat;
|
|
4
|
+
askEventDocAiSelectChat: typeof import("quidproquo-features").askEventDocAiSelectChat;
|
|
5
|
+
askEventDocAiSendMessage: typeof import("quidproquo-features").askEventDocAiSendMessage;
|
|
6
|
+
}>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.eventDocAiLogChatRuntime = void 0;
|
|
4
|
+
const quidproquo_features_1 = require("quidproquo-features");
|
|
5
|
+
const quidproquo_web_react_1 = require("quidproquo-web-react");
|
|
6
|
+
// Named per log correlation (see LogChat.tsx) so each open log dialog gets its
|
|
7
|
+
// own isolated chat state instead of sharing one across every log.
|
|
8
|
+
exports.eventDocAiLogChatRuntime = (0, quidproquo_web_react_1.createQpqRuntimeDefinition)(quidproquo_features_1.sharedEventDocAiApi, (0, quidproquo_features_1.createInitialEventDocAiState)(), quidproquo_features_1.eventDocAiReducer);
|
|
9
|
+
//# sourceMappingURL=eventDocAiLogChatRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventDocAiLogChatRuntime.js","sourceRoot":"","sources":["../../../../src/LogViewer/LogChat/eventDocAiLogChatRuntime.ts"],"names":[],"mappings":";;;AAAA,6DAA2G;AAC3G,+DAAkE;AAElE,+EAA+E;AAC/E,mEAAmE;AACtD,QAAA,wBAAwB,GAAG,IAAA,iDAA0B,EAAC,yCAAmB,EAAE,IAAA,kDAA4B,GAAE,EAAE,uCAAiB,CAAC,CAAC","sourcesContent":["import { createInitialEventDocAiState, eventDocAiReducer, sharedEventDocAiApi } from 'quidproquo-features';\nimport { createQpqRuntimeDefinition } from 'quidproquo-web-react';\n\n// Named per log correlation (see LogChat.tsx) so each open log dialog gets its\n// own isolated chat state instead of sharing one across every log.\nexport const eventDocAiLogChatRuntime = createQpqRuntimeDefinition(sharedEventDocAiApi, createInitialEventDocAiState(), eventDocAiReducer);\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './LogChat';
|
|
@@ -14,5 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./LogChat"), exports);
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/LogViewer/LogChat/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B","sourcesContent":["export * from './LogChat';\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.askEventDocAiLogChatBoot = askEventDocAiLogChatBoot;
|
|
4
|
+
const quidproquo_core_1 = require("quidproquo-core");
|
|
5
|
+
const quidproquo_features_1 = require("quidproquo-features");
|
|
6
|
+
// Resume the most recently active chat for this log, if one exists — no
|
|
7
|
+
// chat-list picker UI; the first message on a fresh log implicitly starts one
|
|
8
|
+
// (see askEventDocAiSendMessage).
|
|
9
|
+
function* askEventDocAiLogChatBoot() {
|
|
10
|
+
yield* (0, quidproquo_features_1.askEventDocAiLoadChats)();
|
|
11
|
+
const { chats } = yield* (0, quidproquo_core_1.askStateRead)();
|
|
12
|
+
const latestChat = [...chats].sort((a, b) => b.updatedAt.localeCompare(a.updatedAt))[0];
|
|
13
|
+
if (latestChat) {
|
|
14
|
+
yield* (0, quidproquo_features_1.askEventDocAiSelectChat)(latestChat.chatId);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=askEventDocAiLogChatBoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"askEventDocAiLogChatBoot.js","sourceRoot":"","sources":["../../../../../src/LogViewer/LogChat/logic/askEventDocAiLogChatBoot.ts"],"names":[],"mappings":";;AAMA,4DASC;AAfD,qDAA4D;AAC5D,6DAAuG;AAEvG,wEAAwE;AACxE,8EAA8E;AAC9E,kCAAkC;AAClC,QAAe,CAAC,CAAC,wBAAwB;IACvC,KAAK,CAAC,CAAC,IAAA,4CAAsB,GAAE,CAAC;IAEhC,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,IAAA,8BAAY,GAAmB,CAAC;IACzD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExF,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,CAAC,IAAA,6CAAuB,EAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;AACH,CAAC","sourcesContent":["import { AskResponse, askStateRead } from 'quidproquo-core';\nimport { askEventDocAiLoadChats, askEventDocAiSelectChat, EventDocAiState } from 'quidproquo-features';\n\n// Resume the most recently active chat for this log, if one exists — no\n// chat-list picker UI; the first message on a fresh log implicitly starts one\n// (see askEventDocAiSendMessage).\nexport function* askEventDocAiLogChatBoot(): AskResponse<void> {\n yield* askEventDocAiLoadChats();\n\n const { chats } = yield* askStateRead<EventDocAiState>();\n const latestChat = [...chats].sort((a, b) => b.updatedAt.localeCompare(a.updatedAt))[0];\n\n if (latestChat) {\n yield* askEventDocAiSelectChat(latestChat.chatId);\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogDialog.js","sourceRoot":"","sources":["../../../../src/LogViewer/LogDialog/LogDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useBaseUrlResolvers, useStateUpdater } from 'quidproquo-web-react';\n\nimport { AppBar, Button, Dialog, DialogActions, DialogContent, DialogTitle, LinearProgress, Tab, Tabs } from '@mui/material';\n\nimport { apiRequestPost } from '../../logic';\nimport { EventTimeline } from '../EventTimeline'; // Add this import\nimport { HelpChat } from '../HelpChat';\nimport { useLogTreeData } from '../hooks';\nimport { LogCorrelations } from '../LogCorrelations';\nimport { LogRawJson } from '../LogRawJson';\nimport { LogSummary } from '../LogSummary';\nimport { useLoadedStoryResult, useLogDialogStateManagement } from './hooks';\nimport { HelpTab, LogDetailsTab, NotesTab, RawTab, TimelineTab, TraceTab, TreeTab } from './tabs';\n\ninterface LogDialogProps {\n open: boolean;\n logCorrelation: string;\n handleClose: () => void;\n storyResultMetadatas: any[];\n setSelectedLogCorrelation: (logCorrelation: string) => void;\n}\n\nfunction downloadJson(json: string, filename: string): void {\n const blob = new Blob([json], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n\n link.href = url;\n link.download = filename;\n link.click();\n\n // The URL.revokeObjectURL() method releases an existing object URL\n URL.revokeObjectURL(url);\n}\n\nconst getTabStyle = (tabIndex: number, selectedTab: number) => ({\n display: selectedTab === tabIndex ? 'block' : 'none',\n height: '100%',\n});\n\nexport const LogDialog = ({ logCorrelation, open, handleClose, setSelectedLogCorrelation }: LogDialogProps) => {\n const [logDialogState, logDialogStateApi] = useLogDialogStateManagement();\n const asyncLog = useLoadedStoryResult(logCorrelation);\n const urlResolvers = useBaseUrlResolvers();\n\n const handleExecute = async () => {\n if (asyncLog.log) {\n await apiRequestPost('http://localhost:8080/admin/service/log/execute', asyncLog.log, urlResolvers.getApiUrl());\n }\n };\n\n const handleTabChange = (event: React.SyntheticEvent, newValue: number) => {\n logDialogStateApi.setSelectedTab(newValue);\n };\n\n const treeApi = useLogTreeData(logCorrelation, false);\n\n return (\n <Dialog\n aria-describedby=\"scroll-dialog-description\"\n aria-labelledby=\"scroll-dialog-title\"\n fullWidth={true}\n maxWidth={false}\n onClose={handleClose}\n open={open}\n PaperProps={{\n style: {\n width: '90%',\n height: '90%',\n maxHeight: '90%',\n maxWidth: '90%',\n },\n }}\n scroll={'paper'}\n >\n <DialogTitle id=\"scroll-dialog-title\">Log Details - {logCorrelation}</DialogTitle>\n <AppBar color=\"primary\" position=\"sticky\">\n <Tabs indicatorColor=\"secondary\" onChange={handleTabChange} textColor=\"inherit\" value={logDialogState.selectedTab}>\n <Tab label=\"Log Details\" />\n <Tab label=\"Tree\" />\n <Tab label=\"Timeline\" />\n <Tab label=\"Notes\" />\n <Tab label=\"Raw JSON\" />\n <Tab label=\"Trace\" />\n <Tab label=\"Help\" />\n </Tabs>\n </AppBar>\n <DialogContent\n dividers={true}\n sx={{\n minHeight: '150px',\n overflowY: 'scroll',\n }}\n >\n {asyncLog.isLoading && <LinearProgress />}\n <div style={getTabStyle(logDialogState.selectedTab, 0)}>\n <LogDetailsTab log={asyncLog} logDialogState={logDialogState} logDialogStateApi={logDialogStateApi} />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 1)}>\n <TreeTab\n isVisible={logDialogState.selectedTab === 1}\n log={asyncLog}\n setSelectedLogCorrelation={setSelectedLogCorrelation}\n treeApi={treeApi}\n />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 2)}>\n <TimelineTab\n isVisible={logDialogState.selectedTab === 2}\n log={asyncLog}\n setSelectedLogCorrelation={setSelectedLogCorrelation}\n treeApi={treeApi}\n />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 3)}>\n <NotesTab log={asyncLog} />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 4)}>\n <RawTab log={asyncLog} />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 5)}>\n {/* keyed on the correlation so walking the tree remounts the tab with fresh\n trace state instead of showing the previous log's trace */}\n <TraceTab key={logCorrelation} isVisible={logDialogState.selectedTab === 5} log={asyncLog} />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 6)}>\n <HelpTab log={asyncLog} />\n </div>\n </DialogContent>\n\n <DialogActions>\n <Button disabled={asyncLog.isLoading} onClick={(event) => treeApi.refreshTreeData()} style={getTabStyle(logDialogState.selectedTab, 1)}>\n Refresh Tree\n </Button>\n <Button disabled={asyncLog.isLoading} onClick={(event) => treeApi.refreshTreeData()} style={getTabStyle(logDialogState.selectedTab, 2)}>\n Refresh Timeline\n </Button>\n <Button\n disabled={asyncLog.isLoading}\n onClick={(event) => {\n if (asyncLog.log) {\n downloadJson(JSON.stringify(asyncLog.log, null, 2), `${asyncLog.log.correlation}.json`);\n }\n event.stopPropagation();\n }}\n >\n Download\n </Button>\n {asyncLog.log && (\n <Button disabled={asyncLog.isLoading} onClick={handleExecute}>\n Execute\n </Button>\n )}\n <Button onClick={handleClose}>Close</Button>\n </DialogActions>\n </Dialog>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"LogDialog.js","sourceRoot":"","sources":["../../../../src/LogViewer/LogDialog/LogDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useBaseUrlResolvers, useStateUpdater } from 'quidproquo-web-react';\n\nimport { AppBar, Button, Dialog, DialogActions, DialogContent, DialogTitle, LinearProgress, Tab, Tabs } from '@mui/material';\n\nimport { apiRequestPost } from '../../logic';\nimport { EventTimeline } from '../EventTimeline'; // Add this import\nimport { useLogTreeData } from '../hooks';\nimport { LogCorrelations } from '../LogCorrelations';\nimport { LogRawJson } from '../LogRawJson';\nimport { LogSummary } from '../LogSummary';\nimport { useLoadedStoryResult, useLogDialogStateManagement } from './hooks';\nimport { HelpTab, LogDetailsTab, NotesTab, RawTab, TimelineTab, TraceTab, TreeTab } from './tabs';\n\ninterface LogDialogProps {\n open: boolean;\n logCorrelation: string;\n handleClose: () => void;\n storyResultMetadatas: any[];\n setSelectedLogCorrelation: (logCorrelation: string) => void;\n}\n\nfunction downloadJson(json: string, filename: string): void {\n const blob = new Blob([json], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n\n link.href = url;\n link.download = filename;\n link.click();\n\n // The URL.revokeObjectURL() method releases an existing object URL\n URL.revokeObjectURL(url);\n}\n\nconst getTabStyle = (tabIndex: number, selectedTab: number) => ({\n display: selectedTab === tabIndex ? 'block' : 'none',\n height: '100%',\n});\n\nexport const LogDialog = ({ logCorrelation, open, handleClose, setSelectedLogCorrelation }: LogDialogProps) => {\n const [logDialogState, logDialogStateApi] = useLogDialogStateManagement();\n const asyncLog = useLoadedStoryResult(logCorrelation);\n const urlResolvers = useBaseUrlResolvers();\n\n const handleExecute = async () => {\n if (asyncLog.log) {\n await apiRequestPost('http://localhost:8080/admin/service/log/execute', asyncLog.log, urlResolvers.getApiUrl());\n }\n };\n\n const handleTabChange = (event: React.SyntheticEvent, newValue: number) => {\n logDialogStateApi.setSelectedTab(newValue);\n };\n\n const treeApi = useLogTreeData(logCorrelation, false);\n\n return (\n <Dialog\n aria-describedby=\"scroll-dialog-description\"\n aria-labelledby=\"scroll-dialog-title\"\n fullWidth={true}\n maxWidth={false}\n onClose={handleClose}\n open={open}\n PaperProps={{\n style: {\n width: '90%',\n height: '90%',\n maxHeight: '90%',\n maxWidth: '90%',\n },\n }}\n scroll={'paper'}\n >\n <DialogTitle id=\"scroll-dialog-title\">Log Details - {logCorrelation}</DialogTitle>\n <AppBar color=\"primary\" position=\"sticky\">\n <Tabs indicatorColor=\"secondary\" onChange={handleTabChange} textColor=\"inherit\" value={logDialogState.selectedTab}>\n <Tab label=\"Log Details\" />\n <Tab label=\"Tree\" />\n <Tab label=\"Timeline\" />\n <Tab label=\"Notes\" />\n <Tab label=\"Raw JSON\" />\n <Tab label=\"Trace\" />\n <Tab label=\"Help\" />\n </Tabs>\n </AppBar>\n <DialogContent\n dividers={true}\n sx={{\n minHeight: '150px',\n overflowY: 'scroll',\n }}\n >\n {asyncLog.isLoading && <LinearProgress />}\n <div style={getTabStyle(logDialogState.selectedTab, 0)}>\n <LogDetailsTab log={asyncLog} logDialogState={logDialogState} logDialogStateApi={logDialogStateApi} />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 1)}>\n <TreeTab\n isVisible={logDialogState.selectedTab === 1}\n log={asyncLog}\n setSelectedLogCorrelation={setSelectedLogCorrelation}\n treeApi={treeApi}\n />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 2)}>\n <TimelineTab\n isVisible={logDialogState.selectedTab === 2}\n log={asyncLog}\n setSelectedLogCorrelation={setSelectedLogCorrelation}\n treeApi={treeApi}\n />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 3)}>\n <NotesTab log={asyncLog} />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 4)}>\n <RawTab log={asyncLog} />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 5)}>\n {/* keyed on the correlation so walking the tree remounts the tab with fresh\n trace state instead of showing the previous log's trace */}\n <TraceTab key={logCorrelation} isVisible={logDialogState.selectedTab === 5} log={asyncLog} />\n </div>\n <div style={getTabStyle(logDialogState.selectedTab, 6)}>\n <HelpTab log={asyncLog} />\n </div>\n </DialogContent>\n\n <DialogActions>\n <Button disabled={asyncLog.isLoading} onClick={(event) => treeApi.refreshTreeData()} style={getTabStyle(logDialogState.selectedTab, 1)}>\n Refresh Tree\n </Button>\n <Button disabled={asyncLog.isLoading} onClick={(event) => treeApi.refreshTreeData()} style={getTabStyle(logDialogState.selectedTab, 2)}>\n Refresh Timeline\n </Button>\n <Button\n disabled={asyncLog.isLoading}\n onClick={(event) => {\n if (asyncLog.log) {\n downloadJson(JSON.stringify(asyncLog.log, null, 2), `${asyncLog.log.correlation}.json`);\n }\n event.stopPropagation();\n }}\n >\n Download\n </Button>\n {asyncLog.log && (\n <Button disabled={asyncLog.isLoading} onClick={handleExecute}>\n Execute\n </Button>\n )}\n <Button onClick={handleClose}>Close</Button>\n </DialogActions>\n </Dialog>\n );\n};\n"]}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.HelpTab = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const
|
|
5
|
+
const adminApp_1 = require("../../../../adminApp");
|
|
6
|
+
const LogChat_1 = require("../../../LogChat");
|
|
6
7
|
const HelpTab = ({ log }) => {
|
|
7
|
-
|
|
8
|
+
const volatile = (0, adminApp_1.useVolatileState)();
|
|
9
|
+
return (0, jsx_runtime_1.jsx)(LogChat_1.LogChat, { logCorrelation: log.logCorrelation, logServiceName: volatile.logServiceName });
|
|
8
10
|
};
|
|
9
11
|
exports.HelpTab = HelpTab;
|
|
10
12
|
//# sourceMappingURL=HelpTab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelpTab.js","sourceRoot":"","sources":["../../../../../../src/LogViewer/LogDialog/tabs/HelpTab/HelpTab.tsx"],"names":[],"mappings":";;;;AAEA,
|
|
1
|
+
{"version":3,"file":"HelpTab.js","sourceRoot":"","sources":["../../../../../../src/LogViewer/LogDialog/tabs/HelpTab/HelpTab.tsx"],"names":[],"mappings":";;;;AAEA,mDAAwD;AACxD,8CAA2C;AAOpC,MAAM,OAAO,GAA2B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IACzD,MAAM,QAAQ,GAAG,IAAA,2BAAgB,GAAE,CAAC;IAEpC,OAAO,uBAAC,iBAAO,IAAC,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAC,cAAc,GAAI,CAAC;AAClG,CAAC,CAAC;AAJW,QAAA,OAAO,WAIlB","sourcesContent":["import React from 'react';\n\nimport { useVolatileState } from '../../../../adminApp';\nimport { LogChat } from '../../../LogChat';\nimport { AsyncStoryState } from '../../hooks';\n\ninterface HelpTabProps {\n log: AsyncStoryState;\n}\n\nexport const HelpTab: React.FC<HelpTabProps> = ({ log }) => {\n const volatile = useVolatileState();\n\n return <LogChat logCorrelation={log.logCorrelation} logServiceName={volatile.logServiceName} />;\n};\n"]}
|
|
@@ -15,8 +15,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.TraceTab = void 0;
|
|
16
16
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
17
17
|
const quidproquo_core_1 = require("quidproquo-core");
|
|
18
|
+
const quidproquo_features_1 = require("quidproquo-features");
|
|
18
19
|
const quidproquo_web_react_1 = require("quidproquo-web-react");
|
|
19
|
-
const quidproquo_webserver_1 = require("quidproquo-webserver");
|
|
20
20
|
const react_1 = require("react");
|
|
21
21
|
const Troubleshoot_1 = __importDefault(require("@mui/icons-material/Troubleshoot"));
|
|
22
22
|
const material_1 = require("@mui/material");
|
|
@@ -90,7 +90,7 @@ const TraceTab = ({ log, isVisible }) => {
|
|
|
90
90
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
91
91
|
}, [isVisible, hasRequested, log.isLoading, log.isLogInColdStorage]);
|
|
92
92
|
// The owning service finished tracing — the log service pushed the result
|
|
93
|
-
(0, quidproquo_web_react_1.useSubscribeToWebSocketEvent)(
|
|
93
|
+
(0, quidproquo_web_react_1.useSubscribeToWebSocketEvent)(quidproquo_features_1.WebSocketQueueQpqAdminServerMessageEventType.TraceDone, (webSocketService, message) => {
|
|
94
94
|
if (message.payload.correlation !== log.logCorrelation || !isWaiting) {
|
|
95
95
|
return;
|
|
96
96
|
}
|