@memberjunction/ng-dashboards 3.3.0 → 3.4.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/AI/components/agents/agent-configuration.component.d.ts +24 -0
- package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
- package/dist/AI/components/agents/agent-configuration.component.js +198 -111
- package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
- package/dist/AI/components/models/model-management.component.d.ts +23 -0
- package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
- package/dist/AI/components/models/model-management.component.js +189 -83
- package/dist/AI/components/models/model-management.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.d.ts +23 -0
- package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-management.component.js +135 -30
- package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
- package/dist/APIKeys/api-applications-panel.component.d.ts +5 -3
- package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-applications-panel.component.js +50 -51
- package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.d.ts +4 -3
- package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-create-dialog.component.js +119 -94
- package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.d.ts +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-edit-panel.component.js +100 -87
- package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
- package/dist/APIKeys/api-key-list.component.d.ts +2 -1
- package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
- package/dist/APIKeys/api-key-list.component.js +24 -20
- package/dist/APIKeys/api-key-list.component.js.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.d.ts +6 -4
- package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
- package/dist/APIKeys/api-keys-resource.component.js +42 -57
- package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
- package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts +22 -0
- package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-breadcrumb.component.js +139 -0
- package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-card.component.d.ts +39 -0
- package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-card.component.js +410 -0
- package/dist/Actions/components/explorer/action-card.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-explorer.component.d.ts +62 -0
- package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-explorer.component.js +527 -0
- package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-list-item.component.d.ts +24 -0
- package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-list-item.component.js +210 -0
- package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts +63 -0
- package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-toolbar.component.js +483 -0
- package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.d.ts +57 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.js +454 -0
- package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -0
- package/dist/Actions/components/explorer/index.d.ts +10 -0
- package/dist/Actions/components/explorer/index.d.ts.map +1 -0
- package/dist/Actions/components/explorer/index.js +14 -0
- package/dist/Actions/components/explorer/index.js.map +1 -0
- package/dist/Actions/components/explorer/new-action-panel.component.d.ts +49 -0
- package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/new-action-panel.component.js +359 -0
- package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -0
- package/dist/Actions/components/explorer/new-category-panel.component.d.ts +37 -0
- package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -0
- package/dist/Actions/components/explorer/new-category-panel.component.js +282 -0
- package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -0
- package/dist/Actions/index.d.ts +3 -0
- package/dist/Actions/index.d.ts.map +1 -1
- package/dist/Actions/index.js +5 -0
- package/dist/Actions/index.js.map +1 -1
- package/dist/Actions/services/action-explorer-state.service.d.ts +104 -0
- package/dist/Actions/services/action-explorer-state.service.d.ts.map +1 -0
- package/dist/Actions/services/action-explorer-state.service.js +352 -0
- package/dist/Actions/services/action-explorer-state.service.js.map +1 -0
- package/dist/Communication/communication-dashboard.component.d.ts +2 -6
- package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
- package/dist/Communication/communication-dashboard.component.js +142 -93
- package/dist/Communication/communication-dashboard.component.js.map +1 -1
- package/dist/Communication/communication-logs-resource.component.d.ts +10 -4
- package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-logs-resource.component.js +253 -121
- package/dist/Communication/communication-logs-resource.component.js.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.d.ts +38 -3
- package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-monitor-resource.component.js +431 -157
- package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
- package/dist/Communication/communication-providers-resource.component.d.ts +16 -5
- package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-providers-resource.component.js +229 -118
- package/dist/Communication/communication-providers-resource.component.js.map +1 -1
- package/dist/Communication/communication-runs-resource.component.d.ts +4 -2
- package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
- package/dist/Communication/communication-runs-resource.component.js +155 -149
- package/dist/Communication/communication-runs-resource.component.js.map +1 -1
- package/dist/Communication/communication-templates-resource.component.d.ts +43 -0
- package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -0
- package/dist/Communication/communication-templates-resource.component.js +371 -0
- package/dist/Communication/communication-templates-resource.component.js.map +1 -0
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +69 -267
- package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
- package/dist/ComponentStudio/component-studio-dashboard.component.js +698 -1802
- package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +68 -0
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +401 -0
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -0
- package/dist/ComponentStudio/components/browser/component-browser.component.d.ts +44 -0
- package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/browser/component-browser.component.js +636 -0
- package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts +35 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +380 -0
- package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts +24 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +221 -0
- package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts +28 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js +263 -0
- package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts +34 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.js +307 -0
- package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts +29 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +159 -0
- package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts +20 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +192 -0
- package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts +57 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.js +342 -0
- package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +15 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +144 -0
- package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -0
- package/dist/ComponentStudio/services/component-studio-state.service.d.ts +203 -0
- package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -0
- package/dist/ComponentStudio/services/component-studio-state.service.js +651 -0
- package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -0
- package/dist/ComponentStudio/services/component-version.service.d.ts +120 -0
- package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -0
- package/dist/ComponentStudio/services/component-version.service.js +394 -0
- package/dist/ComponentStudio/services/component-version.service.js.map +1 -0
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +1 -1
- package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +2 -2
- package/dist/MCP/components/mcp-connection-dialog.component.d.ts +72 -0
- package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-connection-dialog.component.js +529 -0
- package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +77 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.js +535 -0
- package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -0
- package/dist/MCP/components/mcp-server-dialog.component.d.ts +77 -0
- package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-server-dialog.component.js +437 -0
- package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +271 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.js +1300 -0
- package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -0
- package/dist/MCP/index.d.ts +11 -0
- package/dist/MCP/index.d.ts.map +1 -0
- package/dist/MCP/index.js +15 -0
- package/dist/MCP/index.js.map +1 -0
- package/dist/MCP/mcp-dashboard.component.d.ts +409 -0
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -0
- package/dist/MCP/mcp-dashboard.component.js +2486 -0
- package/dist/MCP/mcp-dashboard.component.js.map +1 -0
- package/dist/MCP/mcp-resource.component.d.ts +20 -0
- package/dist/MCP/mcp-resource.component.d.ts.map +1 -0
- package/dist/MCP/mcp-resource.component.js +55 -0
- package/dist/MCP/mcp-resource.component.js.map +1 -0
- package/dist/MCP/mcp.module.d.ts +27 -0
- package/dist/MCP/mcp.module.d.ts.map +1 -0
- package/dist/MCP/mcp.module.js +122 -0
- package/dist/MCP/mcp.module.js.map +1 -0
- package/dist/MCP/services/mcp-tools.service.d.ts +109 -0
- package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -0
- package/dist/MCP/services/mcp-tools.service.js +222 -0
- package/dist/MCP/services/mcp-tools.service.js.map +1 -0
- package/dist/Scheduling/components/index.d.ts +5 -8
- package/dist/Scheduling/components/index.d.ts.map +1 -1
- package/dist/Scheduling/components/index.js +6 -9
- package/dist/Scheduling/components/index.js.map +1 -1
- package/dist/Scheduling/components/job-slideout.component.d.ts +45 -0
- package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -0
- package/dist/Scheduling/components/job-slideout.component.js +458 -0
- package/dist/Scheduling/components/job-slideout.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +19 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.js +51 -0
- package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-activity.component.d.ts +71 -0
- package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-activity.component.js +714 -0
- package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +3 -4
- package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js +3 -7
- package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts +52 -34
- package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
- package/dist/Scheduling/components/scheduling-jobs.component.js +446 -261
- package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +19 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.js +51 -0
- package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -0
- package/dist/Scheduling/components/scheduling-overview.component.d.ts +43 -0
- package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -0
- package/dist/Scheduling/components/scheduling-overview.component.js +595 -0
- package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -0
- package/dist/Scheduling/scheduling-dashboard.component.d.ts +22 -32
- package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
- package/dist/Scheduling/scheduling-dashboard.component.js +175 -169
- package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +49 -6
- package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
- package/dist/Scheduling/services/scheduling-instrumentation.service.js +218 -149
- package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
- package/dist/Testing/components/index.d.ts +7 -8
- package/dist/Testing/components/index.d.ts.map +1 -1
- package/dist/Testing/components/index.js +8 -9
- package/dist/Testing/components/index.js.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.d.ts +0 -4
- package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics-resource.component.js +1 -7
- package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
- package/dist/Testing/components/testing-analytics.component.d.ts +52 -37
- package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
- package/dist/Testing/components/testing-analytics.component.js +1023 -569
- package/dist/Testing/components/testing-analytics.component.js.map +1 -1
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js +47 -0
- package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts +57 -0
- package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-dashboard-tab.component.js +649 -0
- package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -0
- package/dist/{Scheduling/components/scheduling-types-resource.component.d.ts → Testing/components/testing-explorer-resource.component.d.ts} +5 -9
- package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-explorer-resource.component.js +47 -0
- package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-explorer.component.d.ts +193 -0
- package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-explorer.component.js +2212 -0
- package/dist/Testing/components/testing-explorer.component.js.map +1 -0
- package/dist/Testing/components/testing-review-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-review-resource.component.js +47 -0
- package/dist/Testing/components/testing-review-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-review.component.d.ts +60 -0
- package/dist/Testing/components/testing-review.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-review.component.js +985 -0
- package/dist/Testing/components/testing-review.component.js.map +1 -0
- package/dist/Testing/components/testing-runs-resource.component.d.ts +16 -0
- package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-runs-resource.component.js +47 -0
- package/dist/Testing/components/testing-runs-resource.component.js.map +1 -0
- package/dist/Testing/components/testing-runs.component.d.ts +82 -0
- package/dist/Testing/components/testing-runs.component.d.ts.map +1 -0
- package/dist/Testing/components/testing-runs.component.js +1067 -0
- package/dist/Testing/components/testing-runs.component.js.map +1 -0
- package/dist/Testing/testing-dashboard.component.d.ts +12 -15
- package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
- package/dist/Testing/testing-dashboard.component.js +46 -68
- package/dist/Testing/testing-dashboard.component.js.map +1 -1
- package/dist/module.d.ts +121 -104
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +185 -93
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +5 -3
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +23 -16
- package/dist/public-api.js.map +1 -1
- package/dist/shared/pipes/highlight-search.pipe.d.ts +17 -0
- package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -0
- package/dist/shared/pipes/highlight-search.pipe.js +40 -0
- package/dist/shared/pipes/highlight-search.pipe.js.map +1 -0
- package/dist/shared/pipes/index.d.ts +2 -0
- package/dist/shared/pipes/index.d.ts.map +1 -0
- package/dist/shared/pipes/index.js +2 -0
- package/dist/shared/pipes/index.js.map +1 -0
- package/dist/shared/shared-pipes.module.d.ts +11 -0
- package/dist/shared/shared-pipes.module.d.ts.map +1 -0
- package/dist/shared/shared-pipes.module.js +24 -0
- package/dist/shared/shared-pipes.module.js.map +1 -0
- package/package.json +39 -32
- package/dist/Credentials/components/credential-category-edit-panel.component.d.ts +0 -44
- package/dist/Credentials/components/credential-category-edit-panel.component.d.ts.map +0 -1
- package/dist/Credentials/components/credential-category-edit-panel.component.js +0 -456
- package/dist/Credentials/components/credential-category-edit-panel.component.js.map +0 -1
- package/dist/Credentials/components/credential-edit-panel.component.d.ts +0 -70
- package/dist/Credentials/components/credential-edit-panel.component.d.ts.map +0 -1
- package/dist/Credentials/components/credential-edit-panel.component.js +0 -694
- package/dist/Credentials/components/credential-edit-panel.component.js.map +0 -1
- package/dist/Credentials/components/credential-type-edit-panel.component.d.ts +0 -56
- package/dist/Credentials/components/credential-type-edit-panel.component.d.ts.map +0 -1
- package/dist/Credentials/components/credential-type-edit-panel.component.js +0 -563
- package/dist/Credentials/components/credential-type-edit-panel.component.js.map +0 -1
- package/dist/Scheduling/components/scheduling-health-resource.component.d.ts +0 -20
- package/dist/Scheduling/components/scheduling-health-resource.component.d.ts.map +0 -1
- package/dist/Scheduling/components/scheduling-health-resource.component.js +0 -55
- package/dist/Scheduling/components/scheduling-health-resource.component.js.map +0 -1
- package/dist/Scheduling/components/scheduling-health.component.d.ts +0 -30
- package/dist/Scheduling/components/scheduling-health.component.d.ts.map +0 -1
- package/dist/Scheduling/components/scheduling-health.component.js +0 -315
- package/dist/Scheduling/components/scheduling-health.component.js.map +0 -1
- package/dist/Scheduling/components/scheduling-history-resource.component.d.ts +0 -20
- package/dist/Scheduling/components/scheduling-history-resource.component.d.ts.map +0 -1
- package/dist/Scheduling/components/scheduling-history-resource.component.js +0 -55
- package/dist/Scheduling/components/scheduling-history-resource.component.js.map +0 -1
- package/dist/Scheduling/components/scheduling-history.component.d.ts +0 -48
- package/dist/Scheduling/components/scheduling-history.component.d.ts.map +0 -1
- package/dist/Scheduling/components/scheduling-history.component.js +0 -377
- package/dist/Scheduling/components/scheduling-history.component.js.map +0 -1
- package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts +0 -20
- package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts.map +0 -1
- package/dist/Scheduling/components/scheduling-monitor-resource.component.js +0 -55
- package/dist/Scheduling/components/scheduling-monitor-resource.component.js.map +0 -1
- package/dist/Scheduling/components/scheduling-monitoring.component.d.ts +0 -37
- package/dist/Scheduling/components/scheduling-monitoring.component.d.ts.map +0 -1
- package/dist/Scheduling/components/scheduling-monitoring.component.js +0 -488
- package/dist/Scheduling/components/scheduling-monitoring.component.js.map +0 -1
- package/dist/Scheduling/components/scheduling-types-resource.component.d.ts.map +0 -1
- package/dist/Scheduling/components/scheduling-types-resource.component.js +0 -55
- package/dist/Scheduling/components/scheduling-types-resource.component.js.map +0 -1
- package/dist/Scheduling/components/scheduling-types.component.d.ts +0 -22
- package/dist/Scheduling/components/scheduling-types.component.d.ts.map +0 -1
- package/dist/Scheduling/components/scheduling-types.component.js +0 -165
- package/dist/Scheduling/components/scheduling-types.component.js.map +0 -1
- package/dist/Testing/components/testing-execution-resource.component.d.ts +0 -20
- package/dist/Testing/components/testing-execution-resource.component.d.ts.map +0 -1
- package/dist/Testing/components/testing-execution-resource.component.js +0 -55
- package/dist/Testing/components/testing-execution-resource.component.js.map +0 -1
- package/dist/Testing/components/testing-execution.component.d.ts +0 -71
- package/dist/Testing/components/testing-execution.component.d.ts.map +0 -1
- package/dist/Testing/components/testing-execution.component.js +0 -845
- package/dist/Testing/components/testing-execution.component.js.map +0 -1
- package/dist/Testing/components/testing-feedback-resource.component.d.ts +0 -20
- package/dist/Testing/components/testing-feedback-resource.component.d.ts.map +0 -1
- package/dist/Testing/components/testing-feedback-resource.component.js +0 -55
- package/dist/Testing/components/testing-feedback-resource.component.js.map +0 -1
- package/dist/Testing/components/testing-feedback.component.d.ts +0 -111
- package/dist/Testing/components/testing-feedback.component.d.ts.map +0 -1
- package/dist/Testing/components/testing-feedback.component.js +0 -1486
- package/dist/Testing/components/testing-feedback.component.js.map +0 -1
- package/dist/Testing/components/testing-overview-resource.component.d.ts +0 -20
- package/dist/Testing/components/testing-overview-resource.component.d.ts.map +0 -1
- package/dist/Testing/components/testing-overview-resource.component.js +0 -55
- package/dist/Testing/components/testing-overview-resource.component.js.map +0 -1
- package/dist/Testing/components/testing-overview.component.d.ts +0 -30
- package/dist/Testing/components/testing-overview.component.d.ts.map +0 -1
- package/dist/Testing/components/testing-overview.component.js +0 -361
- package/dist/Testing/components/testing-overview.component.js.map +0 -1
- package/dist/Testing/components/testing-version-comparison.component.d.ts +0 -62
- package/dist/Testing/components/testing-version-comparison.component.d.ts.map +0 -1
- package/dist/Testing/components/testing-version-comparison.component.js +0 -815
- package/dist/Testing/components/testing-version-comparison.component.js.map +0 -1
- package/dist/Testing/components/testing-version-resource.component.d.ts +0 -20
- package/dist/Testing/components/testing-version-resource.component.d.ts.map +0 -1
- package/dist/Testing/components/testing-version-resource.component.js +0 -55
- package/dist/Testing/components/testing-version-resource.component.js.map +0 -1
|
@@ -0,0 +1,535 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview MCP Log Detail Slide-Out Panel Component
|
|
3
|
+
*
|
|
4
|
+
* Displays detailed information about an MCP tool execution log
|
|
5
|
+
* in a slide-out panel from the right side.
|
|
6
|
+
*/
|
|
7
|
+
import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';
|
|
8
|
+
import { Subject } from 'rxjs';
|
|
9
|
+
import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
10
|
+
import { trigger, transition, style, animate } from '@angular/animations';
|
|
11
|
+
import { UserInfoEngine } from '@memberjunction/core-entities';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/common";
|
|
14
|
+
import * as i2 from "@angular/forms";
|
|
15
|
+
import * as i3 from "@progress/kendo-angular-buttons";
|
|
16
|
+
import * as i4 from "@memberjunction/ng-code-editor";
|
|
17
|
+
function MCPLogDetailPanelComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
19
|
+
i0.ɵɵelementStart(0, "div", 2);
|
|
20
|
+
i0.ɵɵlistener("click", function MCPLogDetailPanelComponent_Conditional_0_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closePanel()); });
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
} }
|
|
23
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
25
|
+
i0.ɵɵelementStart(0, "div", 28);
|
|
26
|
+
i0.ɵɵlistener("mousedown", function MCPLogDetailPanelComponent_div_1_Conditional_1_Template_div_mousedown_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onResizeStart($event)); });
|
|
27
|
+
i0.ɵɵelement(1, "div", 29);
|
|
28
|
+
i0.ɵɵelementEnd();
|
|
29
|
+
} if (rf & 2) {
|
|
30
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
31
|
+
i0.ɵɵclassProp("active", ctx_r1.IsResizing);
|
|
32
|
+
} }
|
|
33
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
+
i0.ɵɵelementStart(0, "span", 13);
|
|
35
|
+
i0.ɵɵtext(1);
|
|
36
|
+
i0.ɵɵelementEnd();
|
|
37
|
+
} if (rf & 2) {
|
|
38
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
39
|
+
i0.ɵɵadvance();
|
|
40
|
+
i0.ɵɵtextInterpolate(ctx_r1.formatDuration(ctx_r1.Log.DurationMs));
|
|
41
|
+
} }
|
|
42
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
+
i0.ɵɵelementStart(0, "div", 18)(1, "span", 19);
|
|
44
|
+
i0.ɵɵtext(2, "Server");
|
|
45
|
+
i0.ɵɵelementEnd();
|
|
46
|
+
i0.ɵɵelementStart(3, "span", 21);
|
|
47
|
+
i0.ɵɵtext(4);
|
|
48
|
+
i0.ɵɵelementEnd()();
|
|
49
|
+
} if (rf & 2) {
|
|
50
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
51
|
+
i0.ɵɵadvance(4);
|
|
52
|
+
i0.ɵɵtextInterpolate(ctx_r1.Log.ServerName);
|
|
53
|
+
} }
|
|
54
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_50_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
+
i0.ɵɵelementStart(0, "div", 37)(1, "pre", 38);
|
|
56
|
+
i0.ɵɵtext(2);
|
|
57
|
+
i0.ɵɵelementEnd()();
|
|
58
|
+
} if (rf & 2) {
|
|
59
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
60
|
+
i0.ɵɵadvance(2);
|
|
61
|
+
i0.ɵɵtextInterpolate(ctx_r1.Log.ErrorMessage);
|
|
62
|
+
} }
|
|
63
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_50_Template(rf, ctx) { if (rf & 1) {
|
|
64
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
65
|
+
i0.ɵɵelementStart(0, "div", 23)(1, "div", 30);
|
|
66
|
+
i0.ɵɵlistener("click", function MCPLogDetailPanelComponent_div_1_Conditional_50_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleSection(ctx_r1.ErrorSection)); });
|
|
67
|
+
i0.ɵɵelementStart(2, "div", 31);
|
|
68
|
+
i0.ɵɵelement(3, "i", 32);
|
|
69
|
+
i0.ɵɵelementStart(4, "h3", 33);
|
|
70
|
+
i0.ɵɵelement(5, "i", 34);
|
|
71
|
+
i0.ɵɵtext(6, " Error ");
|
|
72
|
+
i0.ɵɵelementEnd()();
|
|
73
|
+
i0.ɵɵelementStart(7, "button", 35);
|
|
74
|
+
i0.ɵɵlistener("click", function MCPLogDetailPanelComponent_div_1_Conditional_50_Template_button_click_7_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.copyError(); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
75
|
+
i0.ɵɵelement(8, "i", 36);
|
|
76
|
+
i0.ɵɵelementEnd()();
|
|
77
|
+
i0.ɵɵtemplate(9, MCPLogDetailPanelComponent_div_1_Conditional_50_Conditional_9_Template, 3, 1, "div", 37);
|
|
78
|
+
i0.ɵɵelementEnd();
|
|
79
|
+
} if (rf & 2) {
|
|
80
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
81
|
+
i0.ɵɵadvance(3);
|
|
82
|
+
i0.ɵɵclassProp("expanded", ctx_r1.ErrorSection.expanded);
|
|
83
|
+
i0.ɵɵadvance(6);
|
|
84
|
+
i0.ɵɵconditional(ctx_r1.ErrorSection.expanded ? 9 : -1);
|
|
85
|
+
} }
|
|
86
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_51_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
87
|
+
i0.ɵɵelementStart(0, "div", 41);
|
|
88
|
+
i0.ɵɵelement(1, "mj-code-editor", 42);
|
|
89
|
+
i0.ɵɵelementEnd();
|
|
90
|
+
} if (rf & 2) {
|
|
91
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
92
|
+
i0.ɵɵadvance();
|
|
93
|
+
i0.ɵɵproperty("ngModel", ctx_r1.FormattedInputArgs)("language", "json")("readonly", true);
|
|
94
|
+
} }
|
|
95
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_51_Template(rf, ctx) { if (rf & 1) {
|
|
96
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
97
|
+
i0.ɵɵelementStart(0, "div", 24)(1, "div", 30);
|
|
98
|
+
i0.ɵɵlistener("click", function MCPLogDetailPanelComponent_div_1_Conditional_51_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleSection(ctx_r1.InputArgsSection)); });
|
|
99
|
+
i0.ɵɵelementStart(2, "div", 31);
|
|
100
|
+
i0.ɵɵelement(3, "i", 32);
|
|
101
|
+
i0.ɵɵelementStart(4, "h3", 15);
|
|
102
|
+
i0.ɵɵelement(5, "i", 39);
|
|
103
|
+
i0.ɵɵtext(6, " Input Arguments ");
|
|
104
|
+
i0.ɵɵelementEnd()();
|
|
105
|
+
i0.ɵɵelementStart(7, "button", 40);
|
|
106
|
+
i0.ɵɵlistener("click", function MCPLogDetailPanelComponent_div_1_Conditional_51_Template_button_click_7_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.copyInputArgs(); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
107
|
+
i0.ɵɵelement(8, "i", 36);
|
|
108
|
+
i0.ɵɵelementEnd()();
|
|
109
|
+
i0.ɵɵtemplate(9, MCPLogDetailPanelComponent_div_1_Conditional_51_Conditional_9_Template, 2, 3, "div", 41);
|
|
110
|
+
i0.ɵɵelementEnd();
|
|
111
|
+
} if (rf & 2) {
|
|
112
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
113
|
+
i0.ɵɵadvance(3);
|
|
114
|
+
i0.ɵɵclassProp("expanded", ctx_r1.InputArgsSection.expanded);
|
|
115
|
+
i0.ɵɵadvance(6);
|
|
116
|
+
i0.ɵɵconditional(ctx_r1.InputArgsSection.expanded ? 9 : -1);
|
|
117
|
+
} }
|
|
118
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_52_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
119
|
+
i0.ɵɵelementStart(0, "div", 41);
|
|
120
|
+
i0.ɵɵelement(1, "mj-code-editor", 42);
|
|
121
|
+
i0.ɵɵelementEnd();
|
|
122
|
+
} if (rf & 2) {
|
|
123
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
124
|
+
i0.ɵɵadvance();
|
|
125
|
+
i0.ɵɵproperty("ngModel", ctx_r1.FormattedResult)("language", "json")("readonly", true);
|
|
126
|
+
} }
|
|
127
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_52_Template(rf, ctx) { if (rf & 1) {
|
|
128
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
129
|
+
i0.ɵɵelementStart(0, "div", 24)(1, "div", 30);
|
|
130
|
+
i0.ɵɵlistener("click", function MCPLogDetailPanelComponent_div_1_Conditional_52_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleSection(ctx_r1.ResultSection)); });
|
|
131
|
+
i0.ɵɵelementStart(2, "div", 31);
|
|
132
|
+
i0.ɵɵelement(3, "i", 32);
|
|
133
|
+
i0.ɵɵelementStart(4, "h3", 15);
|
|
134
|
+
i0.ɵɵelement(5, "i", 43);
|
|
135
|
+
i0.ɵɵtext(6, " Result ");
|
|
136
|
+
i0.ɵɵelementEnd()();
|
|
137
|
+
i0.ɵɵelementStart(7, "button", 44);
|
|
138
|
+
i0.ɵɵlistener("click", function MCPLogDetailPanelComponent_div_1_Conditional_52_Template_button_click_7_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.copyResult(); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
139
|
+
i0.ɵɵelement(8, "i", 36);
|
|
140
|
+
i0.ɵɵelementEnd()();
|
|
141
|
+
i0.ɵɵtemplate(9, MCPLogDetailPanelComponent_div_1_Conditional_52_Conditional_9_Template, 2, 3, "div", 41);
|
|
142
|
+
i0.ɵɵelementEnd();
|
|
143
|
+
} if (rf & 2) {
|
|
144
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
145
|
+
i0.ɵɵadvance(3);
|
|
146
|
+
i0.ɵɵclassProp("expanded", ctx_r1.ResultSection.expanded);
|
|
147
|
+
i0.ɵɵadvance(6);
|
|
148
|
+
i0.ɵɵconditional(ctx_r1.ResultSection.expanded ? 9 : -1);
|
|
149
|
+
} }
|
|
150
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_53_Template(rf, ctx) { if (rf & 1) {
|
|
151
|
+
i0.ɵɵelementStart(0, "div", 14)(1, "h3", 15);
|
|
152
|
+
i0.ɵɵelement(2, "i", 45);
|
|
153
|
+
i0.ɵɵtext(3, " Executed By ");
|
|
154
|
+
i0.ɵɵelementEnd();
|
|
155
|
+
i0.ɵɵelementStart(4, "div", 17)(5, "div", 18)(6, "span", 19);
|
|
156
|
+
i0.ɵɵtext(7, "User");
|
|
157
|
+
i0.ɵɵelementEnd();
|
|
158
|
+
i0.ɵɵelementStart(8, "span", 21);
|
|
159
|
+
i0.ɵɵtext(9);
|
|
160
|
+
i0.ɵɵelementEnd()()()();
|
|
161
|
+
} if (rf & 2) {
|
|
162
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
163
|
+
i0.ɵɵadvance(9);
|
|
164
|
+
i0.ɵɵtextInterpolate(ctx_r1.Log.UserName);
|
|
165
|
+
} }
|
|
166
|
+
function MCPLogDetailPanelComponent_div_1_Conditional_55_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
168
|
+
i0.ɵɵelementStart(0, "button", 46);
|
|
169
|
+
i0.ɵɵlistener("click", function MCPLogDetailPanelComponent_div_1_Conditional_55_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onRunAgain()); });
|
|
170
|
+
i0.ɵɵelement(1, "i", 47);
|
|
171
|
+
i0.ɵɵtext(2, " Run Again ");
|
|
172
|
+
i0.ɵɵelementEnd();
|
|
173
|
+
} }
|
|
174
|
+
function MCPLogDetailPanelComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
175
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
176
|
+
i0.ɵɵelementStart(0, "div", 3);
|
|
177
|
+
i0.ɵɵtemplate(1, MCPLogDetailPanelComponent_div_1_Conditional_1_Template, 2, 2, "div", 4);
|
|
178
|
+
i0.ɵɵelementStart(2, "div", 5)(3, "h2", 6);
|
|
179
|
+
i0.ɵɵelement(4, "i", 7);
|
|
180
|
+
i0.ɵɵtext(5, " Execution Details ");
|
|
181
|
+
i0.ɵɵelementEnd();
|
|
182
|
+
i0.ɵɵelementStart(6, "button", 8);
|
|
183
|
+
i0.ɵɵlistener("click", function MCPLogDetailPanelComponent_div_1_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closePanel()); });
|
|
184
|
+
i0.ɵɵelement(7, "i", 9);
|
|
185
|
+
i0.ɵɵelementEnd()();
|
|
186
|
+
i0.ɵɵelementStart(8, "div", 10)(9, "div", 11);
|
|
187
|
+
i0.ɵɵelement(10, "i");
|
|
188
|
+
i0.ɵɵelementStart(11, "span", 12);
|
|
189
|
+
i0.ɵɵtext(12);
|
|
190
|
+
i0.ɵɵelementEnd();
|
|
191
|
+
i0.ɵɵtemplate(13, MCPLogDetailPanelComponent_div_1_Conditional_13_Template, 2, 1, "span", 13);
|
|
192
|
+
i0.ɵɵelementEnd();
|
|
193
|
+
i0.ɵɵelementStart(14, "div", 14)(15, "h3", 15);
|
|
194
|
+
i0.ɵɵelement(16, "i", 16);
|
|
195
|
+
i0.ɵɵtext(17, " Tool ");
|
|
196
|
+
i0.ɵɵelementEnd();
|
|
197
|
+
i0.ɵɵelementStart(18, "div", 17)(19, "div", 18)(20, "span", 19);
|
|
198
|
+
i0.ɵɵtext(21, "Name");
|
|
199
|
+
i0.ɵɵelementEnd();
|
|
200
|
+
i0.ɵɵelementStart(22, "span", 20);
|
|
201
|
+
i0.ɵɵtext(23);
|
|
202
|
+
i0.ɵɵelementEnd()();
|
|
203
|
+
i0.ɵɵtemplate(24, MCPLogDetailPanelComponent_div_1_Conditional_24_Template, 5, 1, "div", 18);
|
|
204
|
+
i0.ɵɵelementStart(25, "div", 18)(26, "span", 19);
|
|
205
|
+
i0.ɵɵtext(27, "Connection");
|
|
206
|
+
i0.ɵɵelementEnd();
|
|
207
|
+
i0.ɵɵelementStart(28, "span", 21);
|
|
208
|
+
i0.ɵɵtext(29);
|
|
209
|
+
i0.ɵɵelementEnd()()()();
|
|
210
|
+
i0.ɵɵelementStart(30, "div", 14)(31, "h3", 15);
|
|
211
|
+
i0.ɵɵelement(32, "i", 22);
|
|
212
|
+
i0.ɵɵtext(33, " Timing ");
|
|
213
|
+
i0.ɵɵelementEnd();
|
|
214
|
+
i0.ɵɵelementStart(34, "div", 17)(35, "div", 18)(36, "span", 19);
|
|
215
|
+
i0.ɵɵtext(37, "Started");
|
|
216
|
+
i0.ɵɵelementEnd();
|
|
217
|
+
i0.ɵɵelementStart(38, "span", 21);
|
|
218
|
+
i0.ɵɵtext(39);
|
|
219
|
+
i0.ɵɵelementEnd()();
|
|
220
|
+
i0.ɵɵelementStart(40, "div", 18)(41, "span", 19);
|
|
221
|
+
i0.ɵɵtext(42, "Completed");
|
|
222
|
+
i0.ɵɵelementEnd();
|
|
223
|
+
i0.ɵɵelementStart(43, "span", 21);
|
|
224
|
+
i0.ɵɵtext(44);
|
|
225
|
+
i0.ɵɵelementEnd()();
|
|
226
|
+
i0.ɵɵelementStart(45, "div", 18)(46, "span", 19);
|
|
227
|
+
i0.ɵɵtext(47, "Duration");
|
|
228
|
+
i0.ɵɵelementEnd();
|
|
229
|
+
i0.ɵɵelementStart(48, "span", 21);
|
|
230
|
+
i0.ɵɵtext(49);
|
|
231
|
+
i0.ɵɵelementEnd()()()();
|
|
232
|
+
i0.ɵɵtemplate(50, MCPLogDetailPanelComponent_div_1_Conditional_50_Template, 10, 3, "div", 23)(51, MCPLogDetailPanelComponent_div_1_Conditional_51_Template, 10, 3, "div", 24)(52, MCPLogDetailPanelComponent_div_1_Conditional_52_Template, 10, 3, "div", 24)(53, MCPLogDetailPanelComponent_div_1_Conditional_53_Template, 10, 1, "div", 14);
|
|
233
|
+
i0.ɵɵelementEnd();
|
|
234
|
+
i0.ɵɵelementStart(54, "div", 25);
|
|
235
|
+
i0.ɵɵtemplate(55, MCPLogDetailPanelComponent_div_1_Conditional_55_Template, 3, 0, "button", 26);
|
|
236
|
+
i0.ɵɵelementStart(56, "button", 27);
|
|
237
|
+
i0.ɵɵlistener("click", function MCPLogDetailPanelComponent_div_1_Template_button_click_56_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closePanel()); });
|
|
238
|
+
i0.ɵɵtext(57, "Close");
|
|
239
|
+
i0.ɵɵelementEnd()()();
|
|
240
|
+
} if (rf & 2) {
|
|
241
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
242
|
+
i0.ɵɵstyleProp("width", ctx_r1.IsMobileMode ? null : ctx_r1.PanelWidth, "px");
|
|
243
|
+
i0.ɵɵclassProp("mobile", ctx_r1.IsMobileMode)("resizing", ctx_r1.IsResizing);
|
|
244
|
+
i0.ɵɵproperty("@slideIn", undefined);
|
|
245
|
+
i0.ɵɵadvance();
|
|
246
|
+
i0.ɵɵconditional(!ctx_r1.IsMobileMode ? 1 : -1);
|
|
247
|
+
i0.ɵɵadvance(8);
|
|
248
|
+
i0.ɵɵproperty("ngClass", ctx_r1.getStatusClass(ctx_r1.Log.Status));
|
|
249
|
+
i0.ɵɵadvance();
|
|
250
|
+
i0.ɵɵclassMap(ctx_r1.getStatusIcon(ctx_r1.Log.Status));
|
|
251
|
+
i0.ɵɵadvance(2);
|
|
252
|
+
i0.ɵɵtextInterpolate(ctx_r1.Log.Status);
|
|
253
|
+
i0.ɵɵadvance();
|
|
254
|
+
i0.ɵɵconditional(ctx_r1.Log.DurationMs ? 13 : -1);
|
|
255
|
+
i0.ɵɵadvance(10);
|
|
256
|
+
i0.ɵɵtextInterpolate(ctx_r1.Log.ToolName);
|
|
257
|
+
i0.ɵɵadvance();
|
|
258
|
+
i0.ɵɵconditional(ctx_r1.Log.ServerName ? 24 : -1);
|
|
259
|
+
i0.ɵɵadvance(5);
|
|
260
|
+
i0.ɵɵtextInterpolate(ctx_r1.Log.ConnectionName);
|
|
261
|
+
i0.ɵɵadvance(10);
|
|
262
|
+
i0.ɵɵtextInterpolate(ctx_r1.formatDate(ctx_r1.Log.StartedAt));
|
|
263
|
+
i0.ɵɵadvance(5);
|
|
264
|
+
i0.ɵɵtextInterpolate(ctx_r1.formatDate(ctx_r1.Log.CompletedAt));
|
|
265
|
+
i0.ɵɵadvance(5);
|
|
266
|
+
i0.ɵɵtextInterpolate(ctx_r1.formatDuration(ctx_r1.Log.DurationMs));
|
|
267
|
+
i0.ɵɵadvance();
|
|
268
|
+
i0.ɵɵconditional(ctx_r1.Log.ErrorMessage ? 50 : -1);
|
|
269
|
+
i0.ɵɵadvance();
|
|
270
|
+
i0.ɵɵconditional(ctx_r1.Log.InputArgs ? 51 : -1);
|
|
271
|
+
i0.ɵɵadvance();
|
|
272
|
+
i0.ɵɵconditional(ctx_r1.Log.Result ? 52 : -1);
|
|
273
|
+
i0.ɵɵadvance();
|
|
274
|
+
i0.ɵɵconditional(ctx_r1.Log.UserName ? 53 : -1);
|
|
275
|
+
i0.ɵɵadvance(2);
|
|
276
|
+
i0.ɵɵconditional(ctx_r1.Log.ToolID ? 55 : -1);
|
|
277
|
+
} }
|
|
278
|
+
export class MCPLogDetailPanelComponent {
|
|
279
|
+
cdr;
|
|
280
|
+
// ========================================
|
|
281
|
+
// Inputs
|
|
282
|
+
// ========================================
|
|
283
|
+
Visible = false;
|
|
284
|
+
Log = null;
|
|
285
|
+
// ========================================
|
|
286
|
+
// Outputs
|
|
287
|
+
// ========================================
|
|
288
|
+
Close = new EventEmitter();
|
|
289
|
+
RunAgain = new EventEmitter();
|
|
290
|
+
// ========================================
|
|
291
|
+
// Expandable Sections State
|
|
292
|
+
// ========================================
|
|
293
|
+
InputArgsSection = { expanded: true };
|
|
294
|
+
ResultSection = { expanded: true };
|
|
295
|
+
ErrorSection = { expanded: true };
|
|
296
|
+
// ========================================
|
|
297
|
+
// Panel Width / Resize State
|
|
298
|
+
// ========================================
|
|
299
|
+
PANEL_WIDTH_SETTING_KEY = 'mcp-log-detail-panel/width';
|
|
300
|
+
MIN_PANEL_WIDTH = 320;
|
|
301
|
+
MAX_PANEL_WIDTH = 800;
|
|
302
|
+
DEFAULT_PANEL_WIDTH = 500;
|
|
303
|
+
MOBILE_BREAKPOINT = 768;
|
|
304
|
+
PanelWidth = this.DEFAULT_PANEL_WIDTH;
|
|
305
|
+
IsResizing = false;
|
|
306
|
+
get IsMobileMode() {
|
|
307
|
+
return typeof window !== 'undefined' && window.innerWidth <= this.MOBILE_BREAKPOINT;
|
|
308
|
+
}
|
|
309
|
+
widthPersistSubject = new Subject();
|
|
310
|
+
destroy$ = new Subject();
|
|
311
|
+
constructor(cdr) {
|
|
312
|
+
this.cdr = cdr;
|
|
313
|
+
this.widthPersistSubject.pipe(debounceTime(500), takeUntil(this.destroy$)).subscribe(width => {
|
|
314
|
+
this.persistPanelWidth(width);
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
ngOnInit() {
|
|
318
|
+
this.loadSavedPanelWidth();
|
|
319
|
+
}
|
|
320
|
+
ngOnDestroy() {
|
|
321
|
+
this.destroy$.next();
|
|
322
|
+
this.destroy$.complete();
|
|
323
|
+
}
|
|
324
|
+
// ========================================
|
|
325
|
+
// Panel Resize Handlers
|
|
326
|
+
// ========================================
|
|
327
|
+
onResizeStart(event) {
|
|
328
|
+
if (this.IsMobileMode)
|
|
329
|
+
return;
|
|
330
|
+
event.preventDefault();
|
|
331
|
+
this.IsResizing = true;
|
|
332
|
+
document.body.style.cursor = 'ew-resize';
|
|
333
|
+
document.body.style.userSelect = 'none';
|
|
334
|
+
}
|
|
335
|
+
onMouseMove(event) {
|
|
336
|
+
if (!this.IsResizing)
|
|
337
|
+
return;
|
|
338
|
+
const newWidth = window.innerWidth - event.clientX;
|
|
339
|
+
this.PanelWidth = Math.min(Math.max(newWidth, this.MIN_PANEL_WIDTH), Math.min(this.MAX_PANEL_WIDTH, window.innerWidth - 50));
|
|
340
|
+
this.cdr.detectChanges();
|
|
341
|
+
}
|
|
342
|
+
onMouseUp() {
|
|
343
|
+
if (this.IsResizing) {
|
|
344
|
+
this.IsResizing = false;
|
|
345
|
+
document.body.style.cursor = '';
|
|
346
|
+
document.body.style.userSelect = '';
|
|
347
|
+
this.widthPersistSubject.next(this.PanelWidth);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
onWindowResize() {
|
|
351
|
+
if (this.IsMobileMode) {
|
|
352
|
+
this.PanelWidth = window.innerWidth;
|
|
353
|
+
}
|
|
354
|
+
else if (this.PanelWidth > window.innerWidth - 50) {
|
|
355
|
+
this.PanelWidth = Math.max(this.MIN_PANEL_WIDTH, window.innerWidth - 50);
|
|
356
|
+
}
|
|
357
|
+
this.cdr.detectChanges();
|
|
358
|
+
}
|
|
359
|
+
loadSavedPanelWidth() {
|
|
360
|
+
if (this.IsMobileMode) {
|
|
361
|
+
this.PanelWidth = window.innerWidth;
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
364
|
+
try {
|
|
365
|
+
const savedWidth = UserInfoEngine.Instance.GetSetting(this.PANEL_WIDTH_SETTING_KEY);
|
|
366
|
+
if (savedWidth) {
|
|
367
|
+
const width = parseInt(savedWidth, 10);
|
|
368
|
+
if (!isNaN(width) && width >= this.MIN_PANEL_WIDTH && width <= this.MAX_PANEL_WIDTH) {
|
|
369
|
+
this.PanelWidth = width;
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
console.warn('[MCPLogDetailPanel] Failed to load saved panel width:', error);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
async persistPanelWidth(width) {
|
|
378
|
+
try {
|
|
379
|
+
await UserInfoEngine.Instance.SetSetting(this.PANEL_WIDTH_SETTING_KEY, String(width));
|
|
380
|
+
}
|
|
381
|
+
catch (error) {
|
|
382
|
+
console.warn('[MCPLogDetailPanel] Failed to persist panel width:', error);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
// ========================================
|
|
386
|
+
// Actions
|
|
387
|
+
// ========================================
|
|
388
|
+
closePanel() {
|
|
389
|
+
this.Close.emit();
|
|
390
|
+
}
|
|
391
|
+
onRunAgain() {
|
|
392
|
+
if (this.Log?.ToolID && this.Log?.ConnectionID) {
|
|
393
|
+
this.RunAgain.emit({
|
|
394
|
+
toolId: this.Log.ToolID,
|
|
395
|
+
connectionId: this.Log.ConnectionID
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
// ========================================
|
|
400
|
+
// Section Toggle & Copy Actions
|
|
401
|
+
// ========================================
|
|
402
|
+
toggleSection(section) {
|
|
403
|
+
section.expanded = !section.expanded;
|
|
404
|
+
this.cdr.detectChanges();
|
|
405
|
+
}
|
|
406
|
+
async copyInputArgs() {
|
|
407
|
+
await this.copyToClipboard(this.FormattedInputArgs, 'Input arguments copied to clipboard');
|
|
408
|
+
}
|
|
409
|
+
async copyResult() {
|
|
410
|
+
await this.copyToClipboard(this.FormattedResult, 'Result copied to clipboard');
|
|
411
|
+
}
|
|
412
|
+
async copyError() {
|
|
413
|
+
await this.copyToClipboard(this.Log?.ErrorMessage || '', 'Error message copied to clipboard');
|
|
414
|
+
}
|
|
415
|
+
async copyToClipboard(text, successMessage) {
|
|
416
|
+
if (!text)
|
|
417
|
+
return;
|
|
418
|
+
try {
|
|
419
|
+
await navigator.clipboard.writeText(text);
|
|
420
|
+
// Could emit an event or show a toast here
|
|
421
|
+
console.log(successMessage);
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
console.error('Failed to copy to clipboard:', error);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
// ========================================
|
|
428
|
+
// Formatting Helpers
|
|
429
|
+
// ========================================
|
|
430
|
+
formatDate(date) {
|
|
431
|
+
if (!date)
|
|
432
|
+
return 'N/A';
|
|
433
|
+
const d = typeof date === 'string' ? new Date(date) : date;
|
|
434
|
+
return d.toLocaleString();
|
|
435
|
+
}
|
|
436
|
+
formatDuration(ms) {
|
|
437
|
+
if (ms === null)
|
|
438
|
+
return '-';
|
|
439
|
+
if (ms < 1000)
|
|
440
|
+
return `${ms}ms`;
|
|
441
|
+
return `${(ms / 1000).toFixed(2)}s`;
|
|
442
|
+
}
|
|
443
|
+
formatJson(jsonString) {
|
|
444
|
+
if (!jsonString)
|
|
445
|
+
return '';
|
|
446
|
+
try {
|
|
447
|
+
const parsed = JSON.parse(jsonString);
|
|
448
|
+
return JSON.stringify(parsed, null, 2);
|
|
449
|
+
}
|
|
450
|
+
catch {
|
|
451
|
+
return jsonString;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
get FormattedInputArgs() {
|
|
455
|
+
return this.formatJson(this.Log?.InputArgs);
|
|
456
|
+
}
|
|
457
|
+
get FormattedResult() {
|
|
458
|
+
return this.formatJson(this.Log?.Result);
|
|
459
|
+
}
|
|
460
|
+
getStatusIcon(status) {
|
|
461
|
+
switch (status) {
|
|
462
|
+
case 'Success': return 'fa-solid fa-check-circle';
|
|
463
|
+
case 'Error': return 'fa-solid fa-times-circle';
|
|
464
|
+
case 'Running': return 'fa-solid fa-spinner fa-spin';
|
|
465
|
+
default: return 'fa-solid fa-question-circle';
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
getStatusClass(status) {
|
|
469
|
+
switch (status) {
|
|
470
|
+
case 'Success': return 'status-success';
|
|
471
|
+
case 'Error': return 'status-error';
|
|
472
|
+
case 'Running': return 'status-running';
|
|
473
|
+
default: return 'status-unknown';
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
static ɵfac = function MCPLogDetailPanelComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MCPLogDetailPanelComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
477
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MCPLogDetailPanelComponent, selectors: [["mj-mcp-log-detail-panel"]], hostBindings: function MCPLogDetailPanelComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
478
|
+
i0.ɵɵlistener("mousemove", function MCPLogDetailPanelComponent_mousemove_HostBindingHandler($event) { return ctx.onMouseMove($event); }, false, i0.ɵɵresolveDocument)("mouseup", function MCPLogDetailPanelComponent_mouseup_HostBindingHandler() { return ctx.onMouseUp(); }, false, i0.ɵɵresolveDocument)("resize", function MCPLogDetailPanelComponent_resize_HostBindingHandler() { return ctx.onWindowResize(); }, false, i0.ɵɵresolveWindow);
|
|
479
|
+
} }, inputs: { Visible: "Visible", Log: "Log" }, outputs: { Close: "Close", RunAgain: "RunAgain" }, decls: 2, vars: 2, consts: [[1, "panel-backdrop"], ["class", "slide-out-panel", 3, "width", "mobile", "resizing", 4, "ngIf"], [1, "panel-backdrop", 3, "click"], [1, "slide-out-panel"], ["title", "Drag to resize", 1, "resize-handle", 3, "active"], [1, "panel-header"], [1, "panel-title"], [1, "fa-solid", "fa-list-check"], ["title", "Close", 1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "panel-content"], [1, "status-banner", 3, "ngClass"], [1, "status-text"], [1, "duration"], [1, "info-section"], [1, "section-title"], [1, "fa-solid", "fa-wrench"], [1, "info-card"], [1, "info-row"], [1, "info-label"], [1, "info-value", "tool-name"], [1, "info-value"], [1, "fa-solid", "fa-clock"], [1, "info-section", "error-section", "expandable-section"], [1, "info-section", "expandable-section"], [1, "panel-actions"], ["kendoButton", "", "themeColor", "primary"], ["kendoButton", "", "fillMode", "flat", 3, "click"], ["title", "Drag to resize", 1, "resize-handle", 3, "mousedown"], [1, "resize-grip"], [1, "section-header", "clickable", 3, "click"], [1, "section-title-row"], [1, "fa-solid", "fa-chevron-right", "expand-icon"], [1, "section-title", "error"], [1, "fa-solid", "fa-exclamation-triangle"], ["kendoButton", "", "fillMode", "flat", "size", "small", "title", "Copy error", 3, "click"], [1, "fa-solid", "fa-copy"], [1, "error-card"], [1, "error-message"], [1, "fa-solid", "fa-arrow-right-to-bracket"], ["kendoButton", "", "fillMode", "flat", "size", "small", "title", "Copy input arguments", 3, "click"], [1, "code-card"], [3, "ngModel", "language", "readonly"], [1, "fa-solid", "fa-arrow-right-from-bracket"], ["kendoButton", "", "fillMode", "flat", "size", "small", "title", "Copy result", 3, "click"], [1, "fa-solid", "fa-user"], ["kendoButton", "", "themeColor", "primary", 3, "click"], [1, "fa-solid", "fa-play"]], template: function MCPLogDetailPanelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
480
|
+
i0.ɵɵtemplate(0, MCPLogDetailPanelComponent_Conditional_0_Template, 1, 0, "div", 0)(1, MCPLogDetailPanelComponent_div_1_Template, 58, 24, "div", 1);
|
|
481
|
+
} if (rf & 2) {
|
|
482
|
+
i0.ɵɵconditional(ctx.Visible ? 0 : -1);
|
|
483
|
+
i0.ɵɵadvance();
|
|
484
|
+
i0.ɵɵproperty("ngIf", ctx.Visible && ctx.Log);
|
|
485
|
+
} }, dependencies: [i1.NgClass, i1.NgIf, i2.NgControlStatus, i2.NgModel, i3.ButtonComponent, i4.CodeEditorComponent], styles: ["\n\n\n\n\n\n\n.panel-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 1000;\n animation: _ngcontent-%COMP%_fadeIn 0.2s ease-out;\n}\n\n@keyframes _ngcontent-%COMP%_fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n\n\n\n\n.slide-out-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n background: white;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n z-index: 1001;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.slide-out-panel.mobile[_ngcontent-%COMP%] {\n width: 100% !important;\n left: 0;\n}\n\n.slide-out-panel.resizing[_ngcontent-%COMP%] {\n user-select: none;\n transition: none;\n}\n\n\n\n\n\n.resize-handle[_ngcontent-%COMP%] {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: ew-resize;\n background: transparent;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s ease;\n}\n\n.resize-handle[_ngcontent-%COMP%]:hover, \n.resize-handle.active[_ngcontent-%COMP%] {\n background: rgba(33, 150, 243, 0.1);\n}\n\n.resize-grip[_ngcontent-%COMP%] {\n width: 3px;\n height: 40px;\n background: #ccc;\n border-radius: 2px;\n opacity: 0;\n transition: opacity 0.15s ease;\n}\n\n.resize-handle[_ngcontent-%COMP%]:hover .resize-grip[_ngcontent-%COMP%], \n.resize-handle.active[_ngcontent-%COMP%] .resize-grip[_ngcontent-%COMP%] {\n opacity: 1;\n background: var(--mj-primary-color, #2196f3);\n}\n\n\n\n\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.panel-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.close-btn[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: none;\n background: transparent;\n border-radius: 50%;\n cursor: pointer;\n color: #666;\n transition: all 0.15s ease;\n}\n\n.close-btn[_ngcontent-%COMP%]:hover {\n background: #f5f5f5;\n color: #333;\n}\n\n.close-btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n}\n\n\n\n\n\n.panel-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n\n\n\n\n.status-banner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n border-radius: 8px;\n margin-bottom: 20px;\n font-weight: 600;\n font-size: 16px;\n}\n\n.status-banner.status-success[_ngcontent-%COMP%] {\n background: rgba(76, 175, 80, 0.1);\n color: #388e3c;\n}\n\n.status-banner.status-success[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: #4caf50;\n}\n\n.status-banner.status-error[_ngcontent-%COMP%] {\n background: rgba(244, 67, 54, 0.1);\n color: #c62828;\n}\n\n.status-banner.status-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: #f44336;\n}\n\n.status-banner.status-running[_ngcontent-%COMP%] {\n background: rgba(33, 150, 243, 0.1);\n color: #1976d2;\n}\n\n.status-banner.status-running[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: #2196f3;\n}\n\n.status-banner[_ngcontent-%COMP%] .status-text[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.status-banner[_ngcontent-%COMP%] .duration[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: normal;\n background: rgba(0, 0, 0, 0.05);\n padding: 4px 10px;\n border-radius: 4px;\n}\n\n\n\n\n\n.info-section[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.section-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary-color, #666);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.section-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--mj-primary-color, #2196f3);\n}\n\n.section-title.error[_ngcontent-%COMP%] {\n color: #c62828;\n}\n\n.section-title.error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #f44336;\n}\n\n\n\n\n\n.expandable-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.expandable-section[_ngcontent-%COMP%] .section-header.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n padding: 8px 12px;\n margin: -8px -12px 12px -12px;\n border-radius: 6px;\n transition: background 0.15s ease;\n}\n\n.expandable-section[_ngcontent-%COMP%] .section-header.clickable[_ngcontent-%COMP%]:hover {\n background: rgba(0, 0, 0, 0.03);\n}\n\n.section-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #999;\n transition: transform 0.2s ease;\n}\n\n.expand-icon.expanded[_ngcontent-%COMP%] {\n transform: rotate(90deg);\n}\n\n\n\n\n\n.info-card[_ngcontent-%COMP%] {\n background: #fafafa;\n border-radius: 8px;\n border: 1px solid #e8e8e8;\n padding: 12px 16px;\n}\n\n.info-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 0;\n font-size: 14px;\n}\n\n.info-row[_ngcontent-%COMP%]:not(:last-child) {\n border-bottom: 1px solid #e8e8e8;\n}\n\n.info-label[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary-color, #666);\n}\n\n.info-value[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.info-value.tool-name[_ngcontent-%COMP%] {\n font-family: 'Consolas', 'Monaco', monospace;\n background: rgba(33, 150, 243, 0.1);\n padding: 2px 8px;\n border-radius: 4px;\n color: var(--mj-primary-color, #2196f3);\n}\n\n\n\n\n\n.error-card[_ngcontent-%COMP%] {\n background: #fff5f5;\n border: 1px solid rgba(244, 67, 54, 0.2);\n border-radius: 8px;\n padding: 16px;\n}\n\n.error-message[_ngcontent-%COMP%] {\n margin: 0;\n font-family: monospace;\n font-size: 13px;\n line-height: 1.5;\n color: #c62828;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n\n\n\n\n.code-card[_ngcontent-%COMP%] {\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n overflow: hidden;\n height: 200px;\n}\n\n.code-card[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n}\n\n\n\n\n\n.panel-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n padding: 16px 20px;\n background: white;\n border-top: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n min-width: 100px;\n}\n\n.panel-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 6px;\n}\n\n\n\n\n\n@media (max-width: 768px) {\n .slide-out-panel[_ngcontent-%COMP%] {\n width: 100% !important;\n left: 0;\n }\n\n .resize-handle[_ngcontent-%COMP%] {\n display: none;\n }\n\n .panel-content[_ngcontent-%COMP%] {\n padding: 16px;\n }\n\n .status-banner[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n }\n\n .panel-actions[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n }\n\n .panel-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 80px;\n }\n\n .code-card[_ngcontent-%COMP%] {\n height: 150px;\n }\n}"], data: { animation: [
|
|
486
|
+
trigger('slideIn', [
|
|
487
|
+
transition(':enter', [
|
|
488
|
+
style({ transform: 'translateX(100%)', opacity: 0 }),
|
|
489
|
+
animate('250ms ease-out', style({ transform: 'translateX(0)', opacity: 1 }))
|
|
490
|
+
]),
|
|
491
|
+
transition(':leave', [
|
|
492
|
+
animate('200ms ease-in', style({ transform: 'translateX(100%)', opacity: 0 }))
|
|
493
|
+
])
|
|
494
|
+
])
|
|
495
|
+
] } });
|
|
496
|
+
}
|
|
497
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MCPLogDetailPanelComponent, [{
|
|
498
|
+
type: Component,
|
|
499
|
+
args: [{ selector: 'mj-mcp-log-detail-panel', animations: [
|
|
500
|
+
trigger('slideIn', [
|
|
501
|
+
transition(':enter', [
|
|
502
|
+
style({ transform: 'translateX(100%)', opacity: 0 }),
|
|
503
|
+
animate('250ms ease-out', style({ transform: 'translateX(0)', opacity: 1 }))
|
|
504
|
+
]),
|
|
505
|
+
transition(':leave', [
|
|
506
|
+
animate('200ms ease-in', style({ transform: 'translateX(100%)', opacity: 0 }))
|
|
507
|
+
])
|
|
508
|
+
])
|
|
509
|
+
], template: "<!-- Backdrop -->\n@if (Visible) {\n <div class=\"panel-backdrop\" (click)=\"closePanel()\"></div>\n}\n\n<!-- Slide-out Panel -->\n<div class=\"slide-out-panel\"\n *ngIf=\"Visible && Log\"\n @slideIn\n [style.width.px]=\"IsMobileMode ? null : PanelWidth\"\n [class.mobile]=\"IsMobileMode\"\n [class.resizing]=\"IsResizing\">\n\n <!-- Resize Handle -->\n @if (!IsMobileMode) {\n <div class=\"resize-handle\"\n (mousedown)=\"onResizeStart($event)\"\n [class.active]=\"IsResizing\"\n title=\"Drag to resize\">\n <div class=\"resize-grip\"></div>\n </div>\n }\n\n <!-- Panel Header -->\n <div class=\"panel-header\">\n <h2 class=\"panel-title\">\n <i class=\"fa-solid fa-list-check\"></i>\n Execution Details\n </h2>\n <button class=\"close-btn\" (click)=\"closePanel()\" title=\"Close\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <!-- Panel Content -->\n <div class=\"panel-content\">\n <!-- Status Banner -->\n <div class=\"status-banner\" [ngClass]=\"getStatusClass(Log.Status)\">\n <i [class]=\"getStatusIcon(Log.Status)\"></i>\n <span class=\"status-text\">{{ Log.Status }}</span>\n @if (Log.DurationMs) {\n <span class=\"duration\">{{ formatDuration(Log.DurationMs) }}</span>\n }\n </div>\n\n <!-- Tool Info -->\n <div class=\"info-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-wrench\"></i>\n Tool\n </h3>\n <div class=\"info-card\">\n <div class=\"info-row\">\n <span class=\"info-label\">Name</span>\n <span class=\"info-value tool-name\">{{ Log.ToolName }}</span>\n </div>\n @if (Log.ServerName) {\n <div class=\"info-row\">\n <span class=\"info-label\">Server</span>\n <span class=\"info-value\">{{ Log.ServerName }}</span>\n </div>\n }\n <div class=\"info-row\">\n <span class=\"info-label\">Connection</span>\n <span class=\"info-value\">{{ Log.ConnectionName }}</span>\n </div>\n </div>\n </div>\n\n <!-- Timing Info -->\n <div class=\"info-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-clock\"></i>\n Timing\n </h3>\n <div class=\"info-card\">\n <div class=\"info-row\">\n <span class=\"info-label\">Started</span>\n <span class=\"info-value\">{{ formatDate(Log.StartedAt) }}</span>\n </div>\n <div class=\"info-row\">\n <span class=\"info-label\">Completed</span>\n <span class=\"info-value\">{{ formatDate(Log.CompletedAt) }}</span>\n </div>\n <div class=\"info-row\">\n <span class=\"info-label\">Duration</span>\n <span class=\"info-value\">{{ formatDuration(Log.DurationMs) }}</span>\n </div>\n </div>\n </div>\n\n <!-- Error Message (if any) -->\n @if (Log.ErrorMessage) {\n <div class=\"info-section error-section expandable-section\">\n <div class=\"section-header clickable\" (click)=\"toggleSection(ErrorSection)\">\n <div class=\"section-title-row\">\n <i class=\"fa-solid fa-chevron-right expand-icon\" [class.expanded]=\"ErrorSection.expanded\"></i>\n <h3 class=\"section-title error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n Error\n </h3>\n </div>\n <button kendoButton fillMode=\"flat\" size=\"small\" (click)=\"copyError(); $event.stopPropagation()\" title=\"Copy error\">\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </div>\n @if (ErrorSection.expanded) {\n <div class=\"error-card\">\n <pre class=\"error-message\">{{ Log.ErrorMessage }}</pre>\n </div>\n }\n </div>\n }\n\n <!-- Input Arguments -->\n @if (Log.InputArgs) {\n <div class=\"info-section expandable-section\">\n <div class=\"section-header clickable\" (click)=\"toggleSection(InputArgsSection)\">\n <div class=\"section-title-row\">\n <i class=\"fa-solid fa-chevron-right expand-icon\" [class.expanded]=\"InputArgsSection.expanded\"></i>\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-arrow-right-to-bracket\"></i>\n Input Arguments\n </h3>\n </div>\n <button kendoButton fillMode=\"flat\" size=\"small\" (click)=\"copyInputArgs(); $event.stopPropagation()\" title=\"Copy input arguments\">\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </div>\n @if (InputArgsSection.expanded) {\n <div class=\"code-card\">\n <mj-code-editor\n [ngModel]=\"FormattedInputArgs\"\n [language]=\"'json'\"\n [readonly]=\"true\">\n </mj-code-editor>\n </div>\n }\n </div>\n }\n\n <!-- Result -->\n @if (Log.Result) {\n <div class=\"info-section expandable-section\">\n <div class=\"section-header clickable\" (click)=\"toggleSection(ResultSection)\">\n <div class=\"section-title-row\">\n <i class=\"fa-solid fa-chevron-right expand-icon\" [class.expanded]=\"ResultSection.expanded\"></i>\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-arrow-right-from-bracket\"></i>\n Result\n </h3>\n </div>\n <button kendoButton fillMode=\"flat\" size=\"small\" (click)=\"copyResult(); $event.stopPropagation()\" title=\"Copy result\">\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n </div>\n @if (ResultSection.expanded) {\n <div class=\"code-card\">\n <mj-code-editor\n [ngModel]=\"FormattedResult\"\n [language]=\"'json'\"\n [readonly]=\"true\">\n </mj-code-editor>\n </div>\n }\n </div>\n }\n\n <!-- User Info -->\n @if (Log.UserName) {\n <div class=\"info-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-user\"></i>\n Executed By\n </h3>\n <div class=\"info-card\">\n <div class=\"info-row\">\n <span class=\"info-label\">User</span>\n <span class=\"info-value\">{{ Log.UserName }}</span>\n </div>\n </div>\n </div>\n }\n </div>\n\n <!-- Panel Actions -->\n <div class=\"panel-actions\">\n @if (Log.ToolID) {\n <button kendoButton themeColor=\"primary\" (click)=\"onRunAgain()\">\n <i class=\"fa-solid fa-play\"></i>\n Run Again\n </button>\n }\n <button kendoButton fillMode=\"flat\" (click)=\"closePanel()\">Close</button>\n </div>\n</div>\n", styles: ["/* MCP Log Detail Panel Styles */\n\n/* ========================================\n Backdrop\n ======================================== */\n.panel-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 1000;\n animation: fadeIn 0.2s ease-out;\n}\n\n@keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n}\n\n/* ========================================\n Slide-Out Panel\n ======================================== */\n.slide-out-panel {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n background: white;\n box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);\n z-index: 1001;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.slide-out-panel.mobile {\n width: 100% !important;\n left: 0;\n}\n\n.slide-out-panel.resizing {\n user-select: none;\n transition: none;\n}\n\n/* ========================================\n Resize Handle\n ======================================== */\n.resize-handle {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n width: 6px;\n cursor: ew-resize;\n background: transparent;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background 0.15s ease;\n}\n\n.resize-handle:hover,\n.resize-handle.active {\n background: rgba(33, 150, 243, 0.1);\n}\n\n.resize-grip {\n width: 3px;\n height: 40px;\n background: #ccc;\n border-radius: 2px;\n opacity: 0;\n transition: opacity 0.15s ease;\n}\n\n.resize-handle:hover .resize-grip,\n.resize-handle.active .resize-grip {\n opacity: 1;\n background: var(--mj-primary-color, #2196f3);\n}\n\n/* ========================================\n Panel Header\n ======================================== */\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n background: white;\n border-bottom: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-title {\n display: flex;\n align-items: center;\n gap: 10px;\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-color, #333);\n}\n\n.panel-title i {\n color: var(--mj-primary-color, #2196f3);\n}\n\n.close-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: none;\n background: transparent;\n border-radius: 50%;\n cursor: pointer;\n color: #666;\n transition: all 0.15s ease;\n}\n\n.close-btn:hover {\n background: #f5f5f5;\n color: #333;\n}\n\n.close-btn i {\n font-size: 18px;\n}\n\n/* ========================================\n Panel Content\n ======================================== */\n.panel-content {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n/* ========================================\n Status Banner\n ======================================== */\n.status-banner {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n border-radius: 8px;\n margin-bottom: 20px;\n font-weight: 600;\n font-size: 16px;\n}\n\n.status-banner.status-success {\n background: rgba(76, 175, 80, 0.1);\n color: #388e3c;\n}\n\n.status-banner.status-success i {\n font-size: 24px;\n color: #4caf50;\n}\n\n.status-banner.status-error {\n background: rgba(244, 67, 54, 0.1);\n color: #c62828;\n}\n\n.status-banner.status-error i {\n font-size: 24px;\n color: #f44336;\n}\n\n.status-banner.status-running {\n background: rgba(33, 150, 243, 0.1);\n color: #1976d2;\n}\n\n.status-banner.status-running i {\n font-size: 24px;\n color: #2196f3;\n}\n\n.status-banner .status-text {\n flex: 1;\n}\n\n.status-banner .duration {\n font-size: 14px;\n font-weight: normal;\n background: rgba(0, 0, 0, 0.05);\n padding: 4px 10px;\n border-radius: 4px;\n}\n\n/* ========================================\n Info Sections\n ======================================== */\n.info-section {\n margin-bottom: 20px;\n}\n\n.section-title {\n display: flex;\n align-items: center;\n gap: 8px;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-secondary-color, #666);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.section-title i {\n font-size: 14px;\n color: var(--mj-primary-color, #2196f3);\n}\n\n.section-title.error {\n color: #c62828;\n}\n\n.section-title.error i {\n color: #f44336;\n}\n\n/* ========================================\n Expandable Sections\n ======================================== */\n.expandable-section .section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.expandable-section .section-header.clickable {\n cursor: pointer;\n padding: 8px 12px;\n margin: -8px -12px 12px -12px;\n border-radius: 6px;\n transition: background 0.15s ease;\n}\n\n.expandable-section .section-header.clickable:hover {\n background: rgba(0, 0, 0, 0.03);\n}\n\n.section-title-row {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.expand-icon {\n font-size: 12px;\n color: #999;\n transition: transform 0.2s ease;\n}\n\n.expand-icon.expanded {\n transform: rotate(90deg);\n}\n\n/* ========================================\n Info Cards\n ======================================== */\n.info-card {\n background: #fafafa;\n border-radius: 8px;\n border: 1px solid #e8e8e8;\n padding: 12px 16px;\n}\n\n.info-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 0;\n font-size: 14px;\n}\n\n.info-row:not(:last-child) {\n border-bottom: 1px solid #e8e8e8;\n}\n\n.info-label {\n color: var(--mj-text-secondary-color, #666);\n}\n\n.info-value {\n font-weight: 500;\n color: var(--mj-text-color, #333);\n}\n\n.info-value.tool-name {\n font-family: 'Consolas', 'Monaco', monospace;\n background: rgba(33, 150, 243, 0.1);\n padding: 2px 8px;\n border-radius: 4px;\n color: var(--mj-primary-color, #2196f3);\n}\n\n/* ========================================\n Error Card\n ======================================== */\n.error-card {\n background: #fff5f5;\n border: 1px solid rgba(244, 67, 54, 0.2);\n border-radius: 8px;\n padding: 16px;\n}\n\n.error-message {\n margin: 0;\n font-family: monospace;\n font-size: 13px;\n line-height: 1.5;\n color: #c62828;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n/* ========================================\n Code Card\n ======================================== */\n.code-card {\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n overflow: hidden;\n height: 200px;\n}\n\n.code-card mj-code-editor {\n width: 100%;\n height: 100%;\n}\n\n/* ========================================\n Panel Actions\n ======================================== */\n.panel-actions {\n display: flex;\n gap: 8px;\n padding: 16px 20px;\n background: white;\n border-top: 1px solid #e0e0e0;\n flex-shrink: 0;\n}\n\n.panel-actions button {\n min-width: 100px;\n}\n\n.panel-actions button i {\n margin-right: 6px;\n}\n\n/* ========================================\n Responsive / Mobile\n ======================================== */\n@media (max-width: 768px) {\n .slide-out-panel {\n width: 100% !important;\n left: 0;\n }\n\n .resize-handle {\n display: none;\n }\n\n .panel-content {\n padding: 16px;\n }\n\n .status-banner {\n flex-wrap: wrap;\n }\n\n .panel-actions {\n flex-wrap: wrap;\n }\n\n .panel-actions button {\n flex: 1;\n min-width: 80px;\n }\n\n .code-card {\n height: 150px;\n }\n}\n"] }]
|
|
510
|
+
}], () => [{ type: i0.ChangeDetectorRef }], { Visible: [{
|
|
511
|
+
type: Input
|
|
512
|
+
}], Log: [{
|
|
513
|
+
type: Input
|
|
514
|
+
}], Close: [{
|
|
515
|
+
type: Output
|
|
516
|
+
}], RunAgain: [{
|
|
517
|
+
type: Output
|
|
518
|
+
}], onMouseMove: [{
|
|
519
|
+
type: HostListener,
|
|
520
|
+
args: ['document:mousemove', ['$event']]
|
|
521
|
+
}], onMouseUp: [{
|
|
522
|
+
type: HostListener,
|
|
523
|
+
args: ['document:mouseup']
|
|
524
|
+
}], onWindowResize: [{
|
|
525
|
+
type: HostListener,
|
|
526
|
+
args: ['window:resize']
|
|
527
|
+
}] }); })();
|
|
528
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MCPLogDetailPanelComponent, { className: "MCPLogDetailPanelComponent", filePath: "src/MCP/components/mcp-log-detail-panel.component.ts", lineNumber: 47 }); })();
|
|
529
|
+
/**
|
|
530
|
+
* Tree-shaking prevention function
|
|
531
|
+
*/
|
|
532
|
+
export function LoadMCPLogDetailPanel() {
|
|
533
|
+
// Ensures the component is not tree-shaken
|
|
534
|
+
}
|
|
535
|
+
//# sourceMappingURL=mcp-log-detail-panel.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-log-detail-panel.component.js","sourceRoot":"","sources":["../../../src/MCP/components/mcp-log-detail-panel.component.ts","../../../src/MCP/components/mcp-log-detail-panel.component.html"],"names":[],"mappings":"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"}
|