@memberjunction/ng-core-entity-forms 6.2.0-edge.0 → 6.2.0-edge.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +1 -1
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +2 -2
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -1
- package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts +90 -16
- package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/add-action-dialog.component.js +218 -70
- package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +80 -16
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +146 -46
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +329 -27
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +794 -262
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +76 -0
- package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-management.service.js +77 -33
- package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +69 -15
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +182 -74
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +105 -25
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +272 -112
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +32 -6
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +71 -19
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +10 -0
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +27 -7
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +65 -15
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +152 -52
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +81 -15
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +145 -45
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +71 -17
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +175 -67
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +173 -27
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +385 -93
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts +64 -4
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +129 -29
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +260 -27
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +686 -238
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +10 -0
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +17 -9
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +74 -16
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +174 -58
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +108 -14
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.js +258 -70
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.d.ts +198 -14
- package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +387 -107
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts +12 -6
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts.map +1 -1
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.js +41 -29
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.js.map +1 -1
- package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js +14 -14
- package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js.map +1 -1
- package/dist/lib/custom/Companies/company-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Companies/company-overview.panel.js +2 -2
- package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.js +2 -2
- package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
- package/dist/lib/custom/Employees/employee-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Employees/employee-overview.panel.js +2 -2
- package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts +209 -28
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +494 -138
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +5 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.js +10 -2
- package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
- package/dist/lib/custom/Files/file-form.component.d.ts +1 -1
- package/dist/lib/custom/Files/file-form.component.js +2 -2
- package/dist/lib/custom/Files/file-form.component.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.d.ts +300 -36
- package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +664 -208
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +31 -0
- package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -1
- package/dist/lib/custom/MLModels/ml-model-view-models.js +52 -16
- package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -1
- package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +107 -10
- package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -1
- package/dist/lib/custom/MLModels/ps-model-detail.component.js +291 -101
- package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.d.ts +201 -26
- package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +429 -109
- package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +107 -14
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.js +249 -79
- package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +110 -4
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js +858 -86
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js +4 -4
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
- package/dist/lib/custom/SessionBridges/session-bridge-form.component.js.map +1 -1
- package/dist/lib/custom/Templates/template-param-dialog.component.d.ts +77 -13
- package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/template-param-dialog.component.js +196 -78
- package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
- package/dist/lib/custom/Templates/template-params-grid.component.d.ts +49 -7
- package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/template-params-grid.component.js +132 -44
- package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.d.ts +142 -17
- package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.js +333 -113
- package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +24 -4
- package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.js +64 -20
- package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.d.ts +217 -27
- package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.js +549 -169
- package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-checks.d.ts +2 -0
- package/dist/lib/custom/Tests/test-run-checks.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-checks.js +5 -1
- package/dist/lib/custom/Tests/test-run-checks.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +2 -0
- package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js +5 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.d.ts +146 -18
- package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.js +362 -106
- package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts +390 -47
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.js +1015 -343
- package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +214 -26
- package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.js +535 -159
- package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
- package/dist/lib/custom/Users/user-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Users/user-overview.panel.js +2 -2
- package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +208 -29
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +446 -138
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts +6 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js +16 -4
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts +50 -6
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +84 -12
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +89 -5
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +216 -70
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +62 -3
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +140 -42
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +81 -10
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +165 -37
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +140 -15
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +326 -100
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts +101 -15
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js +281 -97
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts +43 -25
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js +100 -64
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts +14 -2
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.js +71 -53
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts +14 -2
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js +70 -52
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts +8 -0
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js +22 -6
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts +24 -2
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js +91 -59
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts +10 -2
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js +33 -17
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts +2 -0
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js +34 -30
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts +14 -2
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js +69 -51
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +38 -12
- package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.js +103 -51
- package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +59 -51
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +76 -74
- package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +27 -25
- package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +155 -119
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts +5 -1
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts.map +1 -1
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +11 -3
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts +2 -0
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts.map +1 -1
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +16 -12
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts +1 -1
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +2 -2
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +45 -19
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.logic.js +95 -43
- package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +20 -16
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.js +73 -65
- package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
- package/dist/lib/shared/components/template-editor.component.d.ts +133 -14
- package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
- package/dist/lib/shared/components/template-editor.component.js +322 -124
- package/dist/lib/shared/components/template-editor.component.js.map +1 -1
- package/package.json +43 -42
|
@@ -105,44 +105,104 @@ function AIAgentRunStepNodeComponent_Conditional_21_Template(rf, ctx) { if (rf &
|
|
|
105
105
|
} }
|
|
106
106
|
export class AIAgentRunStepNodeComponent {
|
|
107
107
|
constructor() {
|
|
108
|
-
this.
|
|
109
|
-
this.
|
|
110
|
-
|
|
111
|
-
|
|
108
|
+
this.IsSelected = false;
|
|
109
|
+
this.ItemClick = new EventEmitter();
|
|
110
|
+
/**
|
|
111
|
+
* @deprecated Use {@link ItemClick}.
|
|
112
|
+
*
|
|
113
|
+
* The same emitter under the old binding name, so a template still binding
|
|
114
|
+
* (itemClick) keeps working. Must stay AFTER ItemClick: class fields
|
|
115
|
+
* initialise in order, and the other way round this captures undefined.
|
|
116
|
+
*/
|
|
117
|
+
this.itemClick = this.ItemClick;
|
|
118
|
+
this.ExpandToggle = new EventEmitter();
|
|
119
|
+
/**
|
|
120
|
+
* @deprecated Use {@link ExpandToggle}.
|
|
121
|
+
*
|
|
122
|
+
* The same emitter under the old binding name, so a template still binding
|
|
123
|
+
* (expandToggle) keeps working. Must stay AFTER ExpandToggle: class fields
|
|
124
|
+
* initialise in order, and the other way round this captures undefined.
|
|
125
|
+
*/
|
|
126
|
+
this.expandToggle = this.ExpandToggle;
|
|
127
|
+
this.NavigateToEntity = new EventEmitter();
|
|
128
|
+
/**
|
|
129
|
+
* @deprecated Use {@link NavigateToEntity}.
|
|
130
|
+
*
|
|
131
|
+
* The same emitter under the old binding name, so a template still binding
|
|
132
|
+
* (navigateToEntity) keeps working. Must stay AFTER NavigateToEntity: class fields
|
|
133
|
+
* initialise in order, and the other way round this captures undefined.
|
|
134
|
+
*/
|
|
135
|
+
this.navigateToEntity = this.NavigateToEntity;
|
|
112
136
|
}
|
|
137
|
+
/** @deprecated Use {@link Item}. */
|
|
138
|
+
set item(value) {
|
|
139
|
+
this.Item = value;
|
|
140
|
+
}
|
|
141
|
+
/** @deprecated Use {@link Item}. */
|
|
142
|
+
get item() {
|
|
143
|
+
return this.Item;
|
|
144
|
+
}
|
|
145
|
+
/** @deprecated Use {@link IsSelected}. */
|
|
146
|
+
set isSelected(value) {
|
|
147
|
+
this.IsSelected = value;
|
|
148
|
+
}
|
|
149
|
+
/** @deprecated Use {@link IsSelected}. */
|
|
150
|
+
get isSelected() {
|
|
151
|
+
return this.IsSelected;
|
|
152
|
+
}
|
|
153
|
+
get HasChildren() {
|
|
154
|
+
return !!this.Item.children && this.Item.children.length > 0;
|
|
155
|
+
}
|
|
156
|
+
/** @deprecated Use {@link HasChildren}. */
|
|
113
157
|
get hasChildren() {
|
|
114
|
-
return
|
|
158
|
+
return this.HasChildren;
|
|
115
159
|
}
|
|
116
|
-
get
|
|
160
|
+
get IsSubAgent() {
|
|
117
161
|
// A TaskGraph step expands too: it stands in for a whole graph of Task rows, and without the
|
|
118
162
|
// affordance the run stops at "Task Graph: X" with no way to see what actually ran.
|
|
119
|
-
return this.
|
|
120
|
-
(this.
|
|
163
|
+
return this.Item.type === 'subrun' ||
|
|
164
|
+
(this.Item.type === 'step' && (this.Item.data?.StepType === 'Sub-Agent' || this.Item.data?.StepType === 'TaskGraph'));
|
|
121
165
|
}
|
|
122
|
-
|
|
166
|
+
/** @deprecated Use {@link IsSubAgent}. */
|
|
167
|
+
get isSubAgent() {
|
|
168
|
+
return this.IsSubAgent;
|
|
169
|
+
}
|
|
170
|
+
get IsParentStep() {
|
|
123
171
|
// STRUCTURAL, not type-gated. Anything holding children can be opened — a loop's iterations, a
|
|
124
172
|
// workflow's steps, a nested run. The old test required `type === 'step'`, so a ForEach that
|
|
125
173
|
// came from a task graph rendered its children into the model and then offered no way to reach
|
|
126
174
|
// them: the work existed, was loaded, and was unreachable.
|
|
127
|
-
return !this.
|
|
175
|
+
return !this.IsSubAgent && this.HasChildren;
|
|
128
176
|
}
|
|
129
|
-
|
|
177
|
+
/** @deprecated Use {@link IsParentStep}. */
|
|
178
|
+
get isParentStep() {
|
|
179
|
+
return this.IsParentStep;
|
|
180
|
+
}
|
|
181
|
+
get CanExpand() {
|
|
130
182
|
// Can expand if it's a sub-agent OR if it's a parent step with children
|
|
131
|
-
return this.
|
|
183
|
+
return this.IsSubAgent || this.IsParentStep;
|
|
132
184
|
}
|
|
133
|
-
|
|
185
|
+
/** @deprecated Use {@link CanExpand}. */
|
|
186
|
+
get canExpand() {
|
|
187
|
+
return this.CanExpand;
|
|
188
|
+
}
|
|
189
|
+
get CanNavigateToEntity() {
|
|
134
190
|
// For steps, check if it's a type that has a target and if TargetLogID exists
|
|
135
|
-
if (this.
|
|
136
|
-
const stepType = this.
|
|
191
|
+
if (this.Item.type === 'step' && this.Item.data) {
|
|
192
|
+
const stepType = this.Item.data.StepType;
|
|
137
193
|
return (stepType === 'Actions' || stepType === 'Prompt' || stepType === 'Sub-Agent')
|
|
138
|
-
&& !!this.
|
|
194
|
+
&& !!this.Item.data.TargetLogID;
|
|
139
195
|
}
|
|
140
196
|
return false;
|
|
141
197
|
}
|
|
142
|
-
|
|
198
|
+
/** @deprecated Use {@link CanNavigateToEntity}. */
|
|
199
|
+
get canNavigateToEntity() {
|
|
200
|
+
return this.CanNavigateToEntity;
|
|
201
|
+
}
|
|
202
|
+
get EntityNavigationText() {
|
|
143
203
|
// For step types, check the StepType
|
|
144
|
-
if (this.
|
|
145
|
-
const stepType = this.
|
|
204
|
+
if (this.Item.type === 'step' && this.Item.data) {
|
|
205
|
+
const stepType = this.Item.data.StepType;
|
|
146
206
|
switch (stepType.trim().toLowerCase()) {
|
|
147
207
|
case 'actions':
|
|
148
208
|
return 'View Action Log';
|
|
@@ -158,6 +218,10 @@ export class AIAgentRunStepNodeComponent {
|
|
|
158
218
|
}
|
|
159
219
|
return "";
|
|
160
220
|
}
|
|
221
|
+
/** @deprecated Use {@link EntityNavigationText}. */
|
|
222
|
+
get entityNavigationText() {
|
|
223
|
+
return this.EntityNavigationText;
|
|
224
|
+
}
|
|
161
225
|
/**
|
|
162
226
|
* The glyph beside a row's status word.
|
|
163
227
|
*
|
|
@@ -167,7 +231,7 @@ export class AIAgentRunStepNodeComponent {
|
|
|
167
231
|
* to a task graph fell through to the unknown glyph and rendered a question mark. The projection
|
|
168
232
|
* now normalizes the two vocabularies into one; these are the values it can produce.
|
|
169
233
|
*/
|
|
170
|
-
|
|
234
|
+
GetStatusIcon(status) {
|
|
171
235
|
const iconMap = {
|
|
172
236
|
'Running': 'fa-circle-notch fa-spin',
|
|
173
237
|
'Completed': 'fa-check-circle',
|
|
@@ -184,24 +248,36 @@ export class AIAgentRunStepNodeComponent {
|
|
|
184
248
|
};
|
|
185
249
|
return iconMap[status] || 'fa-question-circle';
|
|
186
250
|
}
|
|
251
|
+
/** @deprecated Use {@link GetStatusIcon}. */
|
|
252
|
+
getStatusIcon(status) {
|
|
253
|
+
return this.GetStatusIcon(status);
|
|
254
|
+
}
|
|
255
|
+
HandleClick() {
|
|
256
|
+
this.ItemClick.emit(this.Item);
|
|
257
|
+
}
|
|
258
|
+
/** @deprecated Use {@link HandleClick}. */
|
|
187
259
|
handleClick() {
|
|
188
|
-
this.
|
|
260
|
+
return this.HandleClick();
|
|
189
261
|
}
|
|
190
|
-
|
|
191
|
-
if (this.
|
|
192
|
-
this.
|
|
262
|
+
HandleExpandToggle(event) {
|
|
263
|
+
if (this.CanExpand) {
|
|
264
|
+
this.ExpandToggle.emit(event);
|
|
193
265
|
}
|
|
194
266
|
}
|
|
195
|
-
|
|
267
|
+
/** @deprecated Use {@link HandleExpandToggle}. */
|
|
268
|
+
handleExpandToggle(event) {
|
|
269
|
+
return this.HandleExpandToggle(event);
|
|
270
|
+
}
|
|
271
|
+
NavigateToRecord(event) {
|
|
196
272
|
event.stopPropagation();
|
|
197
|
-
if (!this.
|
|
273
|
+
if (!this.CanNavigateToEntity)
|
|
198
274
|
return;
|
|
199
275
|
let entityName = '';
|
|
200
276
|
let recordId = '';
|
|
201
277
|
// For step types, use TargetLogID and determine entity based on StepType
|
|
202
|
-
if (this.
|
|
203
|
-
recordId = this.
|
|
204
|
-
const stepType = this.
|
|
278
|
+
if (this.Item.type === 'step' && this.Item.data) {
|
|
279
|
+
recordId = this.Item.data.TargetLogID;
|
|
280
|
+
const stepType = this.Item.data.StepType;
|
|
205
281
|
switch (stepType.trim().toLowerCase()) {
|
|
206
282
|
case 'actions':
|
|
207
283
|
entityName = 'MJ: Action Execution Logs';
|
|
@@ -216,8 +292,8 @@ export class AIAgentRunStepNodeComponent {
|
|
|
216
292
|
}
|
|
217
293
|
else {
|
|
218
294
|
// For direct types, use the item ID
|
|
219
|
-
recordId = this.
|
|
220
|
-
switch (this.
|
|
295
|
+
recordId = this.Item.id;
|
|
296
|
+
switch (this.Item.type.trim().toLowerCase()) {
|
|
221
297
|
case 'actions':
|
|
222
298
|
entityName = 'MJ: Action Execution Logs';
|
|
223
299
|
break;
|
|
@@ -230,9 +306,13 @@ export class AIAgentRunStepNodeComponent {
|
|
|
230
306
|
}
|
|
231
307
|
}
|
|
232
308
|
if (entityName && recordId) {
|
|
233
|
-
this.
|
|
309
|
+
this.NavigateToEntity.emit({ entityName, recordId });
|
|
234
310
|
}
|
|
235
311
|
}
|
|
312
|
+
/** @deprecated Use {@link NavigateToRecord}. */
|
|
313
|
+
navigateToRecord(event) {
|
|
314
|
+
return this.NavigateToRecord(event);
|
|
315
|
+
}
|
|
236
316
|
/**
|
|
237
317
|
* Skill-invocation records associated with this step (parsed from `AIAgentRunStep.Skills`).
|
|
238
318
|
* Non-empty on Skill steps (the activation performed), Prompt steps (skills in effect for
|
|
@@ -240,7 +320,7 @@ export class AIAgentRunStepNodeComponent {
|
|
|
240
320
|
* native agent grant.
|
|
241
321
|
*/
|
|
242
322
|
get SkillInvocations() {
|
|
243
|
-
const raw = this.
|
|
323
|
+
const raw = this.Item.type === 'step' ? this.Item.data?.Skills : null;
|
|
244
324
|
if (!raw)
|
|
245
325
|
return [];
|
|
246
326
|
try {
|
|
@@ -257,9 +337,9 @@ export class AIAgentRunStepNodeComponent {
|
|
|
257
337
|
const reason = inv.Reason ? ` — ${inv.Reason}` : '';
|
|
258
338
|
return `${inv.SkillName}: ${who}${reason}`;
|
|
259
339
|
}
|
|
260
|
-
|
|
261
|
-
if (this.
|
|
262
|
-
const step = this.
|
|
340
|
+
GetAdditionalInfo() {
|
|
341
|
+
if (this.Item.type === 'step' && this.Item.data) {
|
|
342
|
+
const step = this.Item.data;
|
|
263
343
|
const parts = [];
|
|
264
344
|
if (step.TargetActionName) {
|
|
265
345
|
parts.push(`Action: ${step.TargetActionName}`);
|
|
@@ -269,22 +349,30 @@ export class AIAgentRunStepNodeComponent {
|
|
|
269
349
|
}
|
|
270
350
|
return parts.join(' • ');
|
|
271
351
|
}
|
|
272
|
-
if (this.
|
|
273
|
-
const log = this.
|
|
352
|
+
if (this.Item.type === 'action' && this.Item.data) {
|
|
353
|
+
const log = this.Item.data;
|
|
274
354
|
if (log.Message) {
|
|
275
355
|
return log.Message.substring(0, 100) + (log.Message.length > 100 ? '...' : '');
|
|
276
356
|
}
|
|
277
357
|
}
|
|
278
358
|
return '';
|
|
279
359
|
}
|
|
280
|
-
|
|
360
|
+
/** @deprecated Use {@link GetAdditionalInfo}. */
|
|
361
|
+
getAdditionalInfo() {
|
|
362
|
+
return this.GetAdditionalInfo();
|
|
363
|
+
}
|
|
364
|
+
OnLogoError(event) {
|
|
281
365
|
// Hide the broken image and show the icon instead by clearing logoUrl
|
|
282
366
|
const imgElement = event.target;
|
|
283
367
|
imgElement.style.display = 'none';
|
|
284
|
-
this.
|
|
368
|
+
this.Item.logoUrl = undefined;
|
|
369
|
+
}
|
|
370
|
+
/** @deprecated Use {@link OnLogoError}. */
|
|
371
|
+
onLogoError(event) {
|
|
372
|
+
return this.OnLogoError(event);
|
|
285
373
|
}
|
|
286
374
|
static { this.ɵfac = function AIAgentRunStepNodeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AIAgentRunStepNodeComponent)(); }; }
|
|
287
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIAgentRunStepNodeComponent, selectors: [["mj-ai-agent-run-step-node"]], inputs: { item: "item", isSelected: "isSelected" }, outputs: { itemClick: "itemClick", expandToggle: "expandToggle", navigateToEntity: "navigateToEntity" }, standalone: false, decls: 22, vars: 21, consts: [[1, "timeline-item", 3, "click"], [1, "expand-toggle"], [1, "timeline-marker"], [1, "timeline-marker-logo", 3, "src", "alt"], [1, "fas", 3, "ngClass"], [1, "timeline-content"], [1, "timeline-header"], [1, "timeline-time"], ["title", "This step has not started", 1, "timeline-time", "timeline-time--none"], [1, "timeline-subtitle"], [1, "timeline-additional-info"], [1, "timeline-skills"], [1, "timeline-meta"], [1, "duration"], [1, "status"], [1, "timeline-actions"], [1, "btn-link", 3, "title"], [1, "expand-toggle", 3, "click"], [1, "fas"], [1, "timeline-marker-logo", 3, "error", "src", "alt"], [1, "skill-chip", 3, "title"], [1, "fas", "fa-wand-magic-sparkles"], [1, "skill-chip-mode"], [1, "fas", "fa-clock"], [1, "btn-link", 3, "click", "title"], [1, "fas", "fa-external-link-alt"], [1, "action-text"]], template: function AIAgentRunStepNodeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
375
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AIAgentRunStepNodeComponent, selectors: [["mj-ai-agent-run-step-node"]], inputs: { Item: "Item", item: "item", IsSelected: "IsSelected", isSelected: "isSelected" }, outputs: { ItemClick: "ItemClick", itemClick: "itemClick", ExpandToggle: "ExpandToggle", expandToggle: "expandToggle", NavigateToEntity: "NavigateToEntity", navigateToEntity: "navigateToEntity" }, standalone: false, decls: 22, vars: 21, consts: [[1, "timeline-item", 3, "click"], [1, "expand-toggle"], [1, "timeline-marker"], [1, "timeline-marker-logo", 3, "src", "alt"], [1, "fas", 3, "ngClass"], [1, "timeline-content"], [1, "timeline-header"], [1, "timeline-time"], ["title", "This step has not started", 1, "timeline-time", "timeline-time--none"], [1, "timeline-subtitle"], [1, "timeline-additional-info"], [1, "timeline-skills"], [1, "timeline-meta"], [1, "duration"], [1, "status"], [1, "timeline-actions"], [1, "btn-link", 3, "title"], [1, "expand-toggle", 3, "click"], [1, "fas"], [1, "timeline-marker-logo", 3, "error", "src", "alt"], [1, "skill-chip", 3, "title"], [1, "fas", "fa-wand-magic-sparkles"], [1, "skill-chip-mode"], [1, "fas", "fa-clock"], [1, "btn-link", 3, "click", "title"], [1, "fas", "fa-external-link-alt"], [1, "action-text"]], template: function AIAgentRunStepNodeComponent_Template(rf, ctx) { if (rf & 1) {
|
|
288
376
|
i0.ɵɵelementStart(0, "div", 0);
|
|
289
377
|
i0.ɵɵlistener("click", function AIAgentRunStepNodeComponent_Template_div_click_0_listener() { return ctx.handleClick(); });
|
|
290
378
|
i0.ɵɵconditionalCreate(1, AIAgentRunStepNodeComponent_Conditional_1_Template, 2, 5, "button", 1);
|
|
@@ -348,14 +436,24 @@ export class AIAgentRunStepNodeComponent {
|
|
|
348
436
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AIAgentRunStepNodeComponent, [{
|
|
349
437
|
type: Component,
|
|
350
438
|
args: [{ standalone: false, selector: 'mj-ai-agent-run-step-node', template: "<div class=\"timeline-item\"\n [class.selected]=\"isSelected\"\n [attr.data-status]=\"item.status\"\n [attr.data-type]=\"item.type\"\n [attr.data-provenance]=\"item.provenance\"\n [style.margin-left.px]=\"item.level * 24\"\n (click)=\"handleClick()\">\n\n <!-- Expand/Collapse Button for Sub-Agents and Parent Steps -->\n @if (canExpand) {\n <button class=\"expand-toggle\"\n (click)=\"handleExpandToggle($event)\"\n [attr.aria-expanded]=\"item.isExpanded\">\n <i class=\"fas\"\n [class.fa-chevron-right]=\"!item.isExpanded\"\n [class.fa-chevron-down]=\"item.isExpanded\"></i>\n </button>\n }\n\n <!-- Timeline Marker -->\n <div class=\"timeline-marker\" [attr.data-color]=\"item.color\">\n @if (item.logoUrl) {\n <img\n [src]=\"item.logoUrl\"\n [alt]=\"item.title\"\n class=\"timeline-marker-logo\"\n (error)=\"onLogoError($event)\" />\n }\n @if (!item.logoUrl) {\n <i class=\"fas\" [ngClass]=\"item.icon\"></i>\n }\n </div>\n\n <!-- Timeline Content -->\n <div class=\"timeline-content\">\n <div class=\"timeline-header\">\n <h4>{{ item.title }}</h4>\n @if (item.startTime) {\n <span class=\"timeline-time\">{{ item.startTime | date:'h:mm:ss.SSS a' }}</span>\n } @else {\n <span class=\"timeline-time timeline-time--none\" title=\"This step has not started\">—</span>\n }\n </div>\n\n <div class=\"timeline-subtitle\">{{ item.subtitle }}</div>\n\n @if (getAdditionalInfo()) {\n <div class=\"timeline-additional-info\">\n {{ getAdditionalInfo() }}\n </div>\n }\n\n @if (SkillInvocations.length > 0) {\n <div class=\"timeline-skills\">\n @for (inv of SkillInvocations; track inv.SkillID) {\n <span class=\"skill-chip\" [attr.data-activation]=\"inv.ActivationType\" [title]=\"GetSkillChipTooltip(inv)\">\n <i class=\"fas fa-wand-magic-sparkles\"></i>\n {{ inv.SkillName }}\n <span class=\"skill-chip-mode\">{{ inv.ActivationType === 'requested' ? 'user' : 'auto' }}</span>\n </span>\n }\n </div>\n }\n\n <div class=\"timeline-meta\">\n @if (item.duration) {\n <span class=\"duration\">\n <i class=\"fas fa-clock\"></i> {{ item.duration }}\n </span>\n }\n <span class=\"status\" [attr.data-status]=\"item.status\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon(item.status)\"></i>\n {{ item.status }}\n </span>\n </div>\n </div>\n\n <!-- Timeline Actions -->\n <div class=\"timeline-actions\">\n @if (canNavigateToEntity) {\n <button class=\"btn-link\"\n (click)=\"navigateToRecord($event)\"\n [title]=\"entityNavigationText\">\n <i class=\"fas fa-external-link-alt\"></i>\n <span class=\"action-text\">{{ entityNavigationText }}</span>\n </button>\n }\n </div>\n</div>", styles: [".timeline-item {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n padding: 12px;\n padding-left: 22px; /* Add extra padding to accommodate expand button */\n margin-bottom: 8px;\n background: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s;\n position: relative;\n}\n\n.timeline-item:hover {\n border-color: var(--mj-border-strong);\n background: var(--mj-bg-surface-sunken);\n transform: translateX(2px);\n}\n\n.timeline-item.selected {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 15%, var(--mj-bg-surface));\n box-shadow: 0 0 0 1px var(--mj-brand-primary);\n}\n\n/* Expand/Collapse Button */\n.expand-toggle {\n position: absolute;\n left: -34px;\n top: 12px;\n width: 24px;\n height: 24px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n border-radius: 4px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s;\n z-index: 1;\n}\n\n.expand-toggle:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n}\n\n.expand-toggle i {\n font-size: 10px;\n color: var(--mj-text-muted);\n}\n\n/* Timeline Marker */\n.timeline-marker {\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: 14px;\n position: relative;\n overflow: hidden;\n}\n\n.timeline-marker-logo {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 50%;\n}\n\n.timeline-marker[data-color=\"info\"] {\n background: var(--mj-brand-primary);\n}\n\n.timeline-marker[data-color=\"success\"] {\n background: var(--mj-status-success);\n}\n\n.timeline-marker[data-color=\"error\"] {\n background: var(--mj-status-error);\n}\n\n.timeline-marker[data-color=\"warning\"] {\n background: var(--mj-status-warning);\n}\n\n.timeline-marker[data-color=\"secondary\"] {\n background: var(--mj-text-disabled);\n}\n\n/* Timeline Content */\n.timeline-content {\n flex: 1;\n min-width: 0;\n}\n\n.timeline-header {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n margin-bottom: 4px;\n}\n\n.timeline-header h4 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.timeline-time {\n font-size: 11px;\n color: var(--mj-text-muted);\n font-family: monospace;\n white-space: nowrap;\n margin-left: 12px;\n}\n\n.timeline-subtitle {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-bottom: 4px;\n}\n\n.timeline-additional-info {\n font-size: 11px;\n color: var(--mj-text-muted);\n margin-bottom: 4px;\n font-style: italic;\n}\n\n.timeline-meta {\n display: flex;\n gap: 12px;\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n\n.duration {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.status {\n display: flex;\n align-items: center;\n gap: 4px;\n font-weight: 500;\n}\n\n.status[data-status=\"Running\"] {\n color: var(--mj-brand-primary);\n}\n\n.status[data-status=\"Completed\"] {\n color: var(--mj-status-success);\n}\n\n.status[data-status=\"Failed\"] {\n color: var(--mj-status-error);\n}\n\n.status[data-status=\"Cancelled\"] {\n color: var(--mj-status-warning);\n}\n\n.status[data-status=\"Blocked\"] {\n color: var(--mj-status-error);\n}\n\n.status[data-status=\"Waiting\"] {\n color: var(--mj-status-warning);\n}\n\n.status[data-status=\"Skipped\"],\n.status[data-status=\"Pending\"] {\n color: var(--mj-text-secondary);\n}\n\n/* ============================================================\n Work that never ran\n ============================================================\n A timeline is a record of what happened, so a step that did not happen must not read like one that\n did. `Skipped` was rendered in the same weight and colour as everything else and distinguished\n only by the word itself \u2014 so a workflow that took one of two branches looked, at a glance, like a\n workflow where everything ran.\n\n Hatching says \"no-op\" before any text is read; the dimmed content says it is still a real record\n you can open. The row stays fully clickable \u2014 the detail panel is where the explanation lives. */\n.timeline-item[data-status=\"Skipped\"] {\n background-image: repeating-linear-gradient(\n 135deg,\n transparent,\n transparent 6px,\n color-mix(in srgb, var(--mj-text-disabled) 14%, transparent) 6px,\n color-mix(in srgb, var(--mj-text-disabled) 14%, transparent) 12px\n );\n}\n\n.timeline-item[data-status=\"Skipped\"] .timeline-content {\n opacity: 0.6;\n}\n\n.timeline-item[data-status=\"Skipped\"] .timeline-header h4 {\n text-decoration: line-through;\n text-decoration-color: var(--mj-text-disabled);\n text-decoration-thickness: 1px;\n}\n\n/* Never-started work keeps its colour but recedes: it may yet run, so it is not struck through. */\n.timeline-item[data-status=\"Pending\"] .timeline-content {\n opacity: 0.75;\n}\n\n/* Timeline Actions */\n.timeline-actions {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.btn-link {\n background: none;\n border: none;\n color: var(--mj-brand-primary);\n font-size: 11px;\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 4px;\n transition: all 0.2s;\n display: flex;\n align-items: center;\n gap: 4px;\n white-space: nowrap;\n}\n\n.btn-link:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n color: var(--mj-brand-primary);\n}\n\n.btn-link i {\n font-size: 10px;\n}\n\n.action-text {\n display: none;\n}\n\n.timeline-item:hover .action-text {\n display: inline;\n}\n\n/* Type-specific styling */\n.timeline-item[data-type=\"subrun\"] {\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n}\n\n.timeline-item[data-type=\"action\"] {\n border-left: 3px solid var(--mj-status-success);\n}\n\n.timeline-item[data-type=\"prompt\"] {\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n/* Dispatcher provenance.\n A workflow step ran on the task-graph dispatcher and OUTLIVES the agent run that submitted it \u2014\n genuinely a different thing from a step the run executed itself. Someone reading a failure needs\n to know which they are looking at before they know where to go next.\n\n Keyed on PROVENANCE rather than on type, so a workflow's action still renders as an action \u2014\n same icon, same status treatment, same navigation as every other action row \u2014 and merely carries\n the rail that says where it ran. Keying this on type is what turned every workflow step into an\n undifferentiated box and threw away the displayer it should have had. */\n.timeline-item[data-type=\"taskgraph\"] {\n border-left: 3px solid var(--mj-status-info);\n background: color-mix(in srgb, var(--mj-status-info) 6%, var(--mj-bg-surface));\n}\n\n.timeline-item[data-provenance=\"workflow\"]:not([data-type=\"taskgraph\"]) {\n border-left: 3px solid color-mix(in srgb, var(--mj-status-info) 55%, transparent);\n}\n/* ============================================================\n Skill observability \u2014 badges on steps touched by skills\n ============================================================ */\n.timeline-skills {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n}\n\n.skill-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 25%, transparent);\n}\n\n/* Agent self-activation gets a warning accent \u2014 it expanded its own tool surface */\n.skill-chip[data-activation=\"auto\"] {\n background: color-mix(in srgb, var(--mj-status-warning) 10%, var(--mj-bg-surface));\n color: var(--mj-status-warning-text);\n border-color: color-mix(in srgb, var(--mj-status-warning) 30%, transparent);\n}\n\n.skill-chip-mode {\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n opacity: 0.75;\n padding-left: 4px;\n border-left: 1px solid color-mix(in srgb, currentColor 30%, transparent);\n}\n\n/* A step that has not started shows an em dash, not a time. Muted so the eye skips it \u2014 the\n absence of a timestamp is the information, and it should not read as a value. */\n.timeline-time--none {\n color: var(--mj-text-disabled);\n}\n"] }]
|
|
351
|
-
}], null, {
|
|
439
|
+
}], null, { Item: [{
|
|
440
|
+
type: Input
|
|
441
|
+
}], item: [{
|
|
442
|
+
type: Input
|
|
443
|
+
}], IsSelected: [{
|
|
352
444
|
type: Input
|
|
353
445
|
}], isSelected: [{
|
|
354
446
|
type: Input
|
|
447
|
+
}], ItemClick: [{
|
|
448
|
+
type: Output
|
|
355
449
|
}], itemClick: [{
|
|
356
450
|
type: Output
|
|
451
|
+
}], ExpandToggle: [{
|
|
452
|
+
type: Output
|
|
357
453
|
}], expandToggle: [{
|
|
358
454
|
type: Output
|
|
455
|
+
}], NavigateToEntity: [{
|
|
456
|
+
type: Output
|
|
359
457
|
}], navigateToEntity: [{
|
|
360
458
|
type: Output
|
|
361
459
|
}] }); })();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent-run-step-node.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.ts","../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { MJAIAgentRunStepEntity_AgentSkillInvocation } from '@memberjunction/core-entities';\nimport { TimelineItem } from './ai-agent-run-timeline.component';\n\n@Component({\n standalone: false,\n selector: 'mj-ai-agent-run-step-node',\n templateUrl: './ai-agent-run-step-node.component.html',\n styleUrls: ['./ai-agent-run-step-node.component.css']\n})\nexport class AIAgentRunStepNodeComponent {\n @Input() item!: TimelineItem;\n @Input() isSelected = false;\n @Output() itemClick = new EventEmitter<TimelineItem>();\n @Output() expandToggle = new EventEmitter<Event>();\n @Output() navigateToEntity = new EventEmitter<{ entityName: string; recordId: string }>();\n\n get hasChildren(): boolean {\n return !!this.item.children && this.item.children.length > 0;\n }\n\n get isSubAgent(): boolean {\n // A TaskGraph step expands too: it stands in for a whole graph of Task rows, and without the\n // affordance the run stops at \"Task Graph: X\" with no way to see what actually ran.\n return this.item.type === 'subrun' ||\n (this.item.type === 'step' && (this.item.data?.StepType === 'Sub-Agent' || this.item.data?.StepType === 'TaskGraph'));\n }\n\n get isParentStep(): boolean {\n // STRUCTURAL, not type-gated. Anything holding children can be opened — a loop's iterations, a\n // workflow's steps, a nested run. The old test required `type === 'step'`, so a ForEach that\n // came from a task graph rendered its children into the model and then offered no way to reach\n // them: the work existed, was loaded, and was unreachable.\n return !this.isSubAgent && this.hasChildren;\n }\n\n get canExpand(): boolean {\n // Can expand if it's a sub-agent OR if it's a parent step with children\n return this.isSubAgent || this.isParentStep;\n }\n\n get canNavigateToEntity(): boolean {\n // For steps, check if it's a type that has a target and if TargetLogID exists\n if (this.item.type === 'step' && this.item.data) {\n const stepType = this.item.data.StepType;\n return (stepType === 'Actions' || stepType === 'Prompt' || stepType === 'Sub-Agent') \n && !!this.item.data.TargetLogID;\n }\n return false;\n }\n\n get entityNavigationText(): string {\n // For step types, check the StepType\n if (this.item.type === 'step' && this.item.data) {\n const stepType = this.item.data.StepType;\n switch (stepType.trim().toLowerCase()) {\n case 'actions':\n return 'View Action Log';\n case 'prompt':\n return 'View Prompt Run';\n case 'sub-agent':\n return 'View Agent Run';\n case 'taskgraph':\n return 'View Workflow Run';\n default:\n return 'View Details';\n }\n }\n\n return \"\";\n }\n\n /**\n * The glyph beside a row's status word.\n *\n * Covers BOTH status vocabularies' worth of meaning, because this list used to know only what an\n * `AIAgentRunStep` can be — `Running / Completed / Failed / Cancelled / Paused`. A workflow step is\n * `Pending`, `Skipped` or `Blocked` (and says `Complete`, not `Completed`), so every row belonging\n * to a task graph fell through to the unknown glyph and rendered a question mark. The projection\n * now normalizes the two vocabularies into one; these are the values it can produce.\n */\n getStatusIcon(status: string): string {\n const iconMap: Record<string, string> = {\n 'Running': 'fa-circle-notch fa-spin',\n 'Completed': 'fa-check-circle',\n 'Failed': 'fa-times-circle',\n 'Cancelled': 'fa-ban',\n 'Paused': 'fa-pause-circle',\n // A branch the workflow did not take. Not a failure and not a pause — deliberately its own\n // glyph, because reading it as either sends someone hunting for a problem that never happened.\n 'Skipped': 'fa-diamond-turn-right',\n 'Pending': 'fa-hourglass-half',\n // Failure-driven unsatisfiability: something upstream broke and this can no longer run.\n 'Blocked': 'fa-circle-exclamation',\n 'Waiting': 'fa-user-clock'\n };\n return iconMap[status] || 'fa-question-circle';\n }\n\n handleClick() {\n this.itemClick.emit(this.item);\n }\n\n handleExpandToggle(event: Event) {\n if (this.canExpand) {\n this.expandToggle.emit(event);\n }\n }\n\n navigateToRecord(event: Event) {\n event.stopPropagation();\n \n if (!this.canNavigateToEntity) return;\n\n let entityName = '';\n let recordId = '';\n\n // For step types, use TargetLogID and determine entity based on StepType\n if (this.item.type === 'step' && this.item.data) {\n recordId = this.item.data.TargetLogID;\n const stepType = this.item.data.StepType;\n \n switch (stepType.trim().toLowerCase()) {\n case 'actions':\n entityName = 'MJ: Action Execution Logs';\n break;\n case 'prompt':\n entityName = 'MJ: AI Prompt Runs';\n break;\n case 'sub-agent':\n entityName = 'MJ: AI Agent Runs';\n break;\n }\n } else {\n // For direct types, use the item ID\n recordId = this.item.id;\n \n switch (this.item.type.trim().toLowerCase()) {\n case 'actions':\n entityName = 'MJ: Action Execution Logs';\n break;\n case 'prompt':\n entityName = 'MJ: AI Prompt Runs';\n break;\n case 'sub-agent':\n entityName = 'MJ: AI Agent Runs';\n break;\n }\n }\n\n if (entityName && recordId) {\n this.navigateToEntity.emit({ entityName, recordId });\n }\n }\n\n /**\n * Skill-invocation records associated with this step (parsed from `AIAgentRunStep.Skills`).\n * Non-empty on Skill steps (the activation performed), Prompt steps (skills in effect for\n * the turn), and Actions/Sub-Agent steps whose tool was granted by a skill rather than a\n * native agent grant.\n */\n get SkillInvocations(): MJAIAgentRunStepEntity_AgentSkillInvocation[] {\n const raw = this.item.type === 'step' ? this.item.data?.Skills : null;\n if (!raw) return [];\n try {\n const parsed = typeof raw === 'string' ? JSON.parse(raw) : raw;\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n return [];\n }\n }\n\n /** Tooltip summarizing an invocation's provenance for the badge hover. */\n public GetSkillChipTooltip(inv: MJAIAgentRunStepEntity_AgentSkillInvocation): string {\n const who = inv.ActivationType === 'requested' ? 'requested by the user (/skill mention)' : 'self-activated by the agent';\n const reason = inv.Reason ? ` — ${inv.Reason}` : '';\n return `${inv.SkillName}: ${who}${reason}`;\n }\n\n getAdditionalInfo(): string {\n if (this.item.type === 'step' && this.item.data) {\n const step = this.item.data;\n const parts = [];\n\n if (step.TargetActionName) {\n parts.push(`Action: ${step.TargetActionName}`);\n }\n if (step.Error) {\n parts.push('Error occurred');\n }\n\n return parts.join(' • ');\n }\n\n if (this.item.type === 'action' && this.item.data) {\n const log = this.item.data;\n if (log.Message) {\n return log.Message.substring(0, 100) + (log.Message.length > 100 ? '...' : '');\n }\n }\n\n return '';\n }\n\n onLogoError(event: Event): void {\n // Hide the broken image and show the icon instead by clearing logoUrl\n const imgElement = event.target as HTMLImageElement;\n imgElement.style.display = 'none';\n this.item.logoUrl = undefined;\n }\n}","<div class=\"timeline-item\"\n [class.selected]=\"isSelected\"\n [attr.data-status]=\"item.status\"\n [attr.data-type]=\"item.type\"\n [attr.data-provenance]=\"item.provenance\"\n [style.margin-left.px]=\"item.level * 24\"\n (click)=\"handleClick()\">\n\n <!-- Expand/Collapse Button for Sub-Agents and Parent Steps -->\n @if (canExpand) {\n <button class=\"expand-toggle\"\n (click)=\"handleExpandToggle($event)\"\n [attr.aria-expanded]=\"item.isExpanded\">\n <i class=\"fas\"\n [class.fa-chevron-right]=\"!item.isExpanded\"\n [class.fa-chevron-down]=\"item.isExpanded\"></i>\n </button>\n }\n\n <!-- Timeline Marker -->\n <div class=\"timeline-marker\" [attr.data-color]=\"item.color\">\n @if (item.logoUrl) {\n <img\n [src]=\"item.logoUrl\"\n [alt]=\"item.title\"\n class=\"timeline-marker-logo\"\n (error)=\"onLogoError($event)\" />\n }\n @if (!item.logoUrl) {\n <i class=\"fas\" [ngClass]=\"item.icon\"></i>\n }\n </div>\n\n <!-- Timeline Content -->\n <div class=\"timeline-content\">\n <div class=\"timeline-header\">\n <h4>{{ item.title }}</h4>\n @if (item.startTime) {\n <span class=\"timeline-time\">{{ item.startTime | date:'h:mm:ss.SSS a' }}</span>\n } @else {\n <span class=\"timeline-time timeline-time--none\" title=\"This step has not started\">—</span>\n }\n </div>\n\n <div class=\"timeline-subtitle\">{{ item.subtitle }}</div>\n\n @if (getAdditionalInfo()) {\n <div class=\"timeline-additional-info\">\n {{ getAdditionalInfo() }}\n </div>\n }\n\n @if (SkillInvocations.length > 0) {\n <div class=\"timeline-skills\">\n @for (inv of SkillInvocations; track inv.SkillID) {\n <span class=\"skill-chip\" [attr.data-activation]=\"inv.ActivationType\" [title]=\"GetSkillChipTooltip(inv)\">\n <i class=\"fas fa-wand-magic-sparkles\"></i>\n {{ inv.SkillName }}\n <span class=\"skill-chip-mode\">{{ inv.ActivationType === 'requested' ? 'user' : 'auto' }}</span>\n </span>\n }\n </div>\n }\n\n <div class=\"timeline-meta\">\n @if (item.duration) {\n <span class=\"duration\">\n <i class=\"fas fa-clock\"></i> {{ item.duration }}\n </span>\n }\n <span class=\"status\" [attr.data-status]=\"item.status\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon(item.status)\"></i>\n {{ item.status }}\n </span>\n </div>\n </div>\n\n <!-- Timeline Actions -->\n <div class=\"timeline-actions\">\n @if (canNavigateToEntity) {\n <button class=\"btn-link\"\n (click)=\"navigateToRecord($event)\"\n [title]=\"entityNavigationText\">\n <i class=\"fas fa-external-link-alt\"></i>\n <span class=\"action-text\">{{ entityNavigationText }}</span>\n </button>\n }\n </div>\n</div>"]}
|
|
1
|
+
{"version":3,"file":"ai-agent-run-step-node.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.ts","../../../../src/lib/custom/ai-agent-run/ai-agent-run-step-node.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { MJAIAgentRunStepEntity_AgentSkillInvocation } from '@memberjunction/core-entities';\nimport { TimelineItem } from './ai-agent-run-timeline.component';\n\n@Component({\n standalone: false,\n selector: 'mj-ai-agent-run-step-node',\n templateUrl: './ai-agent-run-step-node.component.html',\n styleUrls: ['./ai-agent-run-step-node.component.css']\n})\nexport class AIAgentRunStepNodeComponent {\n @Input() Item!: TimelineItem;\n\n /** @deprecated Use {@link Item}. */\n @Input() set item(value: TimelineItem) {\n this.Item = value;\n }\n /** @deprecated Use {@link Item}. */\n get item(): TimelineItem {\n return this.Item;\n }\n @Input() IsSelected = false;\n\n /** @deprecated Use {@link IsSelected}. */\n @Input() set isSelected(value: AIAgentRunStepNodeComponent['IsSelected']) {\n this.IsSelected = value;\n }\n /** @deprecated Use {@link IsSelected}. */\n get isSelected(): AIAgentRunStepNodeComponent['IsSelected'] {\n return this.IsSelected;\n }\n @Output() ItemClick = new EventEmitter<TimelineItem>();\n\n /**\n * @deprecated Use {@link ItemClick}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (itemClick) keeps working. Must stay AFTER ItemClick: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() itemClick = this.ItemClick;\n @Output() ExpandToggle = new EventEmitter<Event>();\n\n /**\n * @deprecated Use {@link ExpandToggle}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (expandToggle) keeps working. Must stay AFTER ExpandToggle: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() expandToggle = this.ExpandToggle;\n @Output() NavigateToEntity = new EventEmitter<{ entityName: string; recordId: string }>();\n\n /**\n * @deprecated Use {@link NavigateToEntity}.\n *\n * The same emitter under the old binding name, so a template still binding\n * (navigateToEntity) keeps working. Must stay AFTER NavigateToEntity: class fields\n * initialise in order, and the other way round this captures undefined.\n */\n @Output() navigateToEntity = this.NavigateToEntity;\n\n get HasChildren(): boolean {\n return !!this.Item.children && this.Item.children.length > 0;\n }\n\n /** @deprecated Use {@link HasChildren}. */\n get hasChildren(): boolean {\n return this.HasChildren;\n }\n\n get IsSubAgent(): boolean {\n // A TaskGraph step expands too: it stands in for a whole graph of Task rows, and without the\n // affordance the run stops at \"Task Graph: X\" with no way to see what actually ran.\n return this.Item.type === 'subrun' ||\n (this.Item.type === 'step' && (this.Item.data?.StepType === 'Sub-Agent' || this.Item.data?.StepType === 'TaskGraph'));\n }\n\n /** @deprecated Use {@link IsSubAgent}. */\n get isSubAgent(): boolean {\n return this.IsSubAgent;\n }\n\n get IsParentStep(): boolean {\n // STRUCTURAL, not type-gated. Anything holding children can be opened — a loop's iterations, a\n // workflow's steps, a nested run. The old test required `type === 'step'`, so a ForEach that\n // came from a task graph rendered its children into the model and then offered no way to reach\n // them: the work existed, was loaded, and was unreachable.\n return !this.IsSubAgent && this.HasChildren;\n }\n\n /** @deprecated Use {@link IsParentStep}. */\n get isParentStep(): boolean {\n return this.IsParentStep;\n }\n\n get CanExpand(): boolean {\n // Can expand if it's a sub-agent OR if it's a parent step with children\n return this.IsSubAgent || this.IsParentStep;\n }\n\n /** @deprecated Use {@link CanExpand}. */\n get canExpand(): boolean {\n return this.CanExpand;\n }\n\n get CanNavigateToEntity(): boolean {\n // For steps, check if it's a type that has a target and if TargetLogID exists\n if (this.Item.type === 'step' && this.Item.data) {\n const stepType = this.Item.data.StepType;\n return (stepType === 'Actions' || stepType === 'Prompt' || stepType === 'Sub-Agent') \n && !!this.Item.data.TargetLogID;\n }\n return false;\n }\n\n /** @deprecated Use {@link CanNavigateToEntity}. */\n get canNavigateToEntity(): boolean {\n return this.CanNavigateToEntity;\n }\n\n get EntityNavigationText(): string {\n // For step types, check the StepType\n if (this.Item.type === 'step' && this.Item.data) {\n const stepType = this.Item.data.StepType;\n switch (stepType.trim().toLowerCase()) {\n case 'actions':\n return 'View Action Log';\n case 'prompt':\n return 'View Prompt Run';\n case 'sub-agent':\n return 'View Agent Run';\n case 'taskgraph':\n return 'View Workflow Run';\n default:\n return 'View Details';\n }\n }\n\n return \"\";\n }\n\n /** @deprecated Use {@link EntityNavigationText}. */\n get entityNavigationText(): string {\n return this.EntityNavigationText;\n }\n\n /**\n * The glyph beside a row's status word.\n *\n * Covers BOTH status vocabularies' worth of meaning, because this list used to know only what an\n * `AIAgentRunStep` can be — `Running / Completed / Failed / Cancelled / Paused`. A workflow step is\n * `Pending`, `Skipped` or `Blocked` (and says `Complete`, not `Completed`), so every row belonging\n * to a task graph fell through to the unknown glyph and rendered a question mark. The projection\n * now normalizes the two vocabularies into one; these are the values it can produce.\n */\n GetStatusIcon(status: string): string {\n const iconMap: Record<string, string> = {\n 'Running': 'fa-circle-notch fa-spin',\n 'Completed': 'fa-check-circle',\n 'Failed': 'fa-times-circle',\n 'Cancelled': 'fa-ban',\n 'Paused': 'fa-pause-circle',\n // A branch the workflow did not take. Not a failure and not a pause — deliberately its own\n // glyph, because reading it as either sends someone hunting for a problem that never happened.\n 'Skipped': 'fa-diamond-turn-right',\n 'Pending': 'fa-hourglass-half',\n // Failure-driven unsatisfiability: something upstream broke and this can no longer run.\n 'Blocked': 'fa-circle-exclamation',\n 'Waiting': 'fa-user-clock'\n };\n return iconMap[status] || 'fa-question-circle';\n }\n\n /** @deprecated Use {@link GetStatusIcon}. */\n getStatusIcon(status: string): string {\n return this.GetStatusIcon(status);\n }\n\n HandleClick() {\n this.ItemClick.emit(this.Item);\n }\n\n /** @deprecated Use {@link HandleClick}. */\n handleClick() {\n return this.HandleClick();\n }\n\n HandleExpandToggle(event: Event) {\n if (this.CanExpand) {\n this.ExpandToggle.emit(event);\n }\n }\n\n /** @deprecated Use {@link HandleExpandToggle}. */\n handleExpandToggle(event: Event) {\n return this.HandleExpandToggle(event);\n }\n\n NavigateToRecord(event: Event) {\n event.stopPropagation();\n \n if (!this.CanNavigateToEntity) return;\n\n let entityName = '';\n let recordId = '';\n\n // For step types, use TargetLogID and determine entity based on StepType\n if (this.Item.type === 'step' && this.Item.data) {\n recordId = this.Item.data.TargetLogID;\n const stepType = this.Item.data.StepType;\n \n switch (stepType.trim().toLowerCase()) {\n case 'actions':\n entityName = 'MJ: Action Execution Logs';\n break;\n case 'prompt':\n entityName = 'MJ: AI Prompt Runs';\n break;\n case 'sub-agent':\n entityName = 'MJ: AI Agent Runs';\n break;\n }\n } else {\n // For direct types, use the item ID\n recordId = this.Item.id;\n \n switch (this.Item.type.trim().toLowerCase()) {\n case 'actions':\n entityName = 'MJ: Action Execution Logs';\n break;\n case 'prompt':\n entityName = 'MJ: AI Prompt Runs';\n break;\n case 'sub-agent':\n entityName = 'MJ: AI Agent Runs';\n break;\n }\n }\n\n if (entityName && recordId) {\n this.NavigateToEntity.emit({ entityName, recordId });\n }\n }\n\n /** @deprecated Use {@link NavigateToRecord}. */\n navigateToRecord(event: Event) {\n return this.NavigateToRecord(event);\n }\n\n /**\n * Skill-invocation records associated with this step (parsed from `AIAgentRunStep.Skills`).\n * Non-empty on Skill steps (the activation performed), Prompt steps (skills in effect for\n * the turn), and Actions/Sub-Agent steps whose tool was granted by a skill rather than a\n * native agent grant.\n */\n get SkillInvocations(): MJAIAgentRunStepEntity_AgentSkillInvocation[] {\n const raw = this.Item.type === 'step' ? this.Item.data?.Skills : null;\n if (!raw) return [];\n try {\n const parsed = typeof raw === 'string' ? JSON.parse(raw) : raw;\n return Array.isArray(parsed) ? parsed : [];\n } catch {\n return [];\n }\n }\n\n /** Tooltip summarizing an invocation's provenance for the badge hover. */\n public GetSkillChipTooltip(inv: MJAIAgentRunStepEntity_AgentSkillInvocation): string {\n const who = inv.ActivationType === 'requested' ? 'requested by the user (/skill mention)' : 'self-activated by the agent';\n const reason = inv.Reason ? ` — ${inv.Reason}` : '';\n return `${inv.SkillName}: ${who}${reason}`;\n }\n\n GetAdditionalInfo(): string {\n if (this.Item.type === 'step' && this.Item.data) {\n const step = this.Item.data;\n const parts = [];\n\n if (step.TargetActionName) {\n parts.push(`Action: ${step.TargetActionName}`);\n }\n if (step.Error) {\n parts.push('Error occurred');\n }\n\n return parts.join(' • ');\n }\n\n if (this.Item.type === 'action' && this.Item.data) {\n const log = this.Item.data;\n if (log.Message) {\n return log.Message.substring(0, 100) + (log.Message.length > 100 ? '...' : '');\n }\n }\n\n return '';\n }\n\n /** @deprecated Use {@link GetAdditionalInfo}. */\n getAdditionalInfo(): string {\n return this.GetAdditionalInfo();\n }\n\n OnLogoError(event: Event): void {\n // Hide the broken image and show the icon instead by clearing logoUrl\n const imgElement = event.target as HTMLImageElement;\n imgElement.style.display = 'none';\n this.Item.logoUrl = undefined;\n }\n\n /** @deprecated Use {@link OnLogoError}. */\n onLogoError(event: Event): void {\n return this.OnLogoError(event);\n }\n}","<div class=\"timeline-item\"\n [class.selected]=\"isSelected\"\n [attr.data-status]=\"item.status\"\n [attr.data-type]=\"item.type\"\n [attr.data-provenance]=\"item.provenance\"\n [style.margin-left.px]=\"item.level * 24\"\n (click)=\"handleClick()\">\n\n <!-- Expand/Collapse Button for Sub-Agents and Parent Steps -->\n @if (canExpand) {\n <button class=\"expand-toggle\"\n (click)=\"handleExpandToggle($event)\"\n [attr.aria-expanded]=\"item.isExpanded\">\n <i class=\"fas\"\n [class.fa-chevron-right]=\"!item.isExpanded\"\n [class.fa-chevron-down]=\"item.isExpanded\"></i>\n </button>\n }\n\n <!-- Timeline Marker -->\n <div class=\"timeline-marker\" [attr.data-color]=\"item.color\">\n @if (item.logoUrl) {\n <img\n [src]=\"item.logoUrl\"\n [alt]=\"item.title\"\n class=\"timeline-marker-logo\"\n (error)=\"onLogoError($event)\" />\n }\n @if (!item.logoUrl) {\n <i class=\"fas\" [ngClass]=\"item.icon\"></i>\n }\n </div>\n\n <!-- Timeline Content -->\n <div class=\"timeline-content\">\n <div class=\"timeline-header\">\n <h4>{{ item.title }}</h4>\n @if (item.startTime) {\n <span class=\"timeline-time\">{{ item.startTime | date:'h:mm:ss.SSS a' }}</span>\n } @else {\n <span class=\"timeline-time timeline-time--none\" title=\"This step has not started\">—</span>\n }\n </div>\n\n <div class=\"timeline-subtitle\">{{ item.subtitle }}</div>\n\n @if (getAdditionalInfo()) {\n <div class=\"timeline-additional-info\">\n {{ getAdditionalInfo() }}\n </div>\n }\n\n @if (SkillInvocations.length > 0) {\n <div class=\"timeline-skills\">\n @for (inv of SkillInvocations; track inv.SkillID) {\n <span class=\"skill-chip\" [attr.data-activation]=\"inv.ActivationType\" [title]=\"GetSkillChipTooltip(inv)\">\n <i class=\"fas fa-wand-magic-sparkles\"></i>\n {{ inv.SkillName }}\n <span class=\"skill-chip-mode\">{{ inv.ActivationType === 'requested' ? 'user' : 'auto' }}</span>\n </span>\n }\n </div>\n }\n\n <div class=\"timeline-meta\">\n @if (item.duration) {\n <span class=\"duration\">\n <i class=\"fas fa-clock\"></i> {{ item.duration }}\n </span>\n }\n <span class=\"status\" [attr.data-status]=\"item.status\">\n <i class=\"fas\" [ngClass]=\"getStatusIcon(item.status)\"></i>\n {{ item.status }}\n </span>\n </div>\n </div>\n\n <!-- Timeline Actions -->\n <div class=\"timeline-actions\">\n @if (canNavigateToEntity) {\n <button class=\"btn-link\"\n (click)=\"navigateToRecord($event)\"\n [title]=\"entityNavigationText\">\n <i class=\"fas fa-external-link-alt\"></i>\n <span class=\"action-text\">{{ entityNavigationText }}</span>\n </button>\n }\n </div>\n</div>"]}
|
|
@@ -50,7 +50,11 @@ export interface TimelineItem {
|
|
|
50
50
|
}
|
|
51
51
|
export declare class AIAgentRunTimelineComponent extends BaseAngularComponent implements OnInit, OnDestroy {
|
|
52
52
|
private cdr;
|
|
53
|
-
|
|
53
|
+
AiAgentRunId: string;
|
|
54
|
+
/** @deprecated Use {@link AiAgentRunId}. */
|
|
55
|
+
set aiAgentRunId(value: string);
|
|
56
|
+
/** @deprecated Use {@link AiAgentRunId}. */
|
|
57
|
+
get aiAgentRunId(): string;
|
|
54
58
|
/**
|
|
55
59
|
* The run's execution tree, loaded ONCE by the form and shared with every tab.
|
|
56
60
|
*
|
|
@@ -68,8 +72,31 @@ export declare class AIAgentRunTimelineComponent extends BaseAngularComponent im
|
|
|
68
72
|
get RunTree(): AgentRunTreeNode | null;
|
|
69
73
|
private runTree;
|
|
70
74
|
private runTree$;
|
|
71
|
-
|
|
75
|
+
DataHelper: AIAgentRunDataHelper;
|
|
76
|
+
/** @deprecated Use {@link DataHelper}. */
|
|
77
|
+
set dataHelper(value: AIAgentRunDataHelper);
|
|
78
|
+
/** @deprecated Use {@link DataHelper}. */
|
|
79
|
+
get dataHelper(): AIAgentRunDataHelper;
|
|
80
|
+
ItemSelected: EventEmitter<TimelineItem>;
|
|
81
|
+
/**
|
|
82
|
+
* @deprecated Use {@link ItemSelected}.
|
|
83
|
+
*
|
|
84
|
+
* The same emitter under the old binding name, so a template still binding
|
|
85
|
+
* (itemSelected) keeps working. Must stay AFTER ItemSelected: class fields
|
|
86
|
+
* initialise in order, and the other way round this captures undefined.
|
|
87
|
+
*/
|
|
72
88
|
itemSelected: EventEmitter<TimelineItem>;
|
|
89
|
+
NavigateToEntity: EventEmitter<{
|
|
90
|
+
entityName: string;
|
|
91
|
+
recordId: string;
|
|
92
|
+
}>;
|
|
93
|
+
/**
|
|
94
|
+
* @deprecated Use {@link NavigateToEntity}.
|
|
95
|
+
*
|
|
96
|
+
* The same emitter under the old binding name, so a template still binding
|
|
97
|
+
* (navigateToEntity) keeps working. Must stay AFTER NavigateToEntity: class fields
|
|
98
|
+
* initialise in order, and the other way round this captures undefined.
|
|
99
|
+
*/
|
|
73
100
|
navigateToEntity: EventEmitter<{
|
|
74
101
|
entityName: string;
|
|
75
102
|
recordId: string;
|
|
@@ -85,14 +112,42 @@ export declare class AIAgentRunTimelineComponent extends BaseAngularComponent im
|
|
|
85
112
|
* already fetched by id.
|
|
86
113
|
*/
|
|
87
114
|
private actionIDByLogID;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
115
|
+
Steps$: Observable<MJAIAgentRunStepEntity[]>;
|
|
116
|
+
/** @deprecated Use {@link Steps$}. */
|
|
117
|
+
get steps$(): Observable<MJAIAgentRunStepEntity[]>;
|
|
118
|
+
/** @deprecated Use {@link Steps$}. */
|
|
119
|
+
set steps$(value: Observable<MJAIAgentRunStepEntity[]>);
|
|
120
|
+
SubRuns$: Observable<MJAIAgentRunEntity[]>;
|
|
121
|
+
/** @deprecated Use {@link SubRuns$}. */
|
|
122
|
+
get subRuns$(): Observable<MJAIAgentRunEntity[]>;
|
|
123
|
+
/** @deprecated Use {@link SubRuns$}. */
|
|
124
|
+
set subRuns$(value: Observable<MJAIAgentRunEntity[]>);
|
|
125
|
+
ActionLogs$: Observable<MJActionExecutionLogEntity[]>;
|
|
126
|
+
/** @deprecated Use {@link ActionLogs$}. */
|
|
127
|
+
get actionLogs$(): Observable<MJActionExecutionLogEntity[]>;
|
|
128
|
+
/** @deprecated Use {@link ActionLogs$}. */
|
|
129
|
+
set actionLogs$(value: Observable<MJActionExecutionLogEntity[]>);
|
|
130
|
+
PromptRuns$: Observable<MJAIPromptRunEntity[]>;
|
|
131
|
+
/** @deprecated Use {@link PromptRuns$}. */
|
|
132
|
+
get promptRuns$(): Observable<MJAIPromptRunEntity[]>;
|
|
133
|
+
/** @deprecated Use {@link PromptRuns$}. */
|
|
134
|
+
set promptRuns$(value: Observable<MJAIPromptRunEntity[]>);
|
|
135
|
+
TimelineItems$: Observable<TimelineItem[]>;
|
|
136
|
+
/** @deprecated Use {@link TimelineItems$}. */
|
|
137
|
+
get timelineItems$(): Observable<TimelineItem[]>;
|
|
138
|
+
/** @deprecated Use {@link TimelineItems$}. */
|
|
139
|
+
set timelineItems$(value: Observable<TimelineItem[]>);
|
|
140
|
+
Loading: boolean;
|
|
141
|
+
/** @deprecated Use {@link Loading}. */
|
|
142
|
+
get loading(): boolean;
|
|
143
|
+
/** @deprecated Use {@link Loading}. */
|
|
144
|
+
set loading(value: boolean);
|
|
94
145
|
error: string | null;
|
|
95
|
-
|
|
146
|
+
SelectedItem: TimelineItem | null;
|
|
147
|
+
/** @deprecated Use {@link SelectedItem}. */
|
|
148
|
+
get selectedItem(): TimelineItem | null;
|
|
149
|
+
/** @deprecated Use {@link SelectedItem}. */
|
|
150
|
+
set selectedItem(value: TimelineItem | null);
|
|
96
151
|
/** Graph steps currently being expanded, so a second click cannot start a second load. */
|
|
97
152
|
private expandingGraphIDs;
|
|
98
153
|
constructor(cdr: ChangeDetectorRef);
|
|
@@ -131,12 +186,24 @@ export declare class AIAgentRunTimelineComponent extends BaseAngularComponent im
|
|
|
131
186
|
private getStepIconInfo;
|
|
132
187
|
private getStepIcon;
|
|
133
188
|
private getStatusColor;
|
|
189
|
+
CalculateDuration(start: Date, end?: Date | null): string;
|
|
190
|
+
/** @deprecated Use {@link CalculateDuration}. */
|
|
134
191
|
calculateDuration(start: Date, end?: Date | null): string;
|
|
192
|
+
SelectItem(item: TimelineItem): void;
|
|
193
|
+
/** @deprecated Use {@link SelectItem}. */
|
|
135
194
|
selectItem(item: TimelineItem): void;
|
|
195
|
+
ToggleItemExpansion(item: TimelineItem, event: Event): Promise<void>;
|
|
196
|
+
/** @deprecated Use {@link ToggleItemExpansion}. */
|
|
136
197
|
toggleItemExpansion(item: TimelineItem, event: Event): Promise<void>;
|
|
137
198
|
private loadSubAgentChildren;
|
|
199
|
+
NavigateToSubRun(runId: string, event: Event): void;
|
|
200
|
+
/** @deprecated Use {@link NavigateToSubRun}. */
|
|
138
201
|
navigateToSubRun(runId: string, event: Event): void;
|
|
202
|
+
NavigateToActionLog(logId: string, event: Event): void;
|
|
203
|
+
/** @deprecated Use {@link NavigateToActionLog}. */
|
|
139
204
|
navigateToActionLog(logId: string, event: Event): void;
|
|
205
|
+
NavigateToPromptRun(runId: string, event: Event): void;
|
|
206
|
+
/** @deprecated Use {@link NavigateToPromptRun}. */
|
|
140
207
|
navigateToPromptRun(runId: string, event: Event): void;
|
|
141
208
|
/**
|
|
142
209
|
* TrackBy function for timeline items
|
|
@@ -176,9 +243,13 @@ export declare class AIAgentRunTimelineComponent extends BaseAngularComponent im
|
|
|
176
243
|
ExpandTaskGraph(item: TimelineItem): Promise<void>;
|
|
177
244
|
/** True while a graph's steps are being fetched, so the row can say so. */
|
|
178
245
|
IsExpandingGraph(item: TimelineItem): boolean;
|
|
246
|
+
TrackByItemId(index: number, item: TimelineItem): string;
|
|
247
|
+
/** @deprecated Use {@link TrackByItemId}. */
|
|
179
248
|
trackByItemId(index: number, item: TimelineItem): string;
|
|
249
|
+
CreateSubRunDataHelper(): AIAgentRunDataHelper;
|
|
250
|
+
/** @deprecated Use {@link CreateSubRunDataHelper}. */
|
|
180
251
|
createSubRunDataHelper(): AIAgentRunDataHelper;
|
|
181
252
|
static ɵfac: i0.ɵɵFactoryDeclaration<AIAgentRunTimelineComponent, never>;
|
|
182
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentRunTimelineComponent, "mj-ai-agent-run-timeline", never, { "aiAgentRunId": { "alias": "aiAgentRunId"; "required": false; }; "RunTree": { "alias": "RunTree"; "required": false; }; "dataHelper": { "alias": "dataHelper"; "required": false; }; }, { "itemSelected": "itemSelected"; "navigateToEntity": "navigateToEntity"; }, never, never, false, never>;
|
|
253
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AIAgentRunTimelineComponent, "mj-ai-agent-run-timeline", never, { "AiAgentRunId": { "alias": "AiAgentRunId"; "required": false; }; "aiAgentRunId": { "alias": "aiAgentRunId"; "required": false; }; "RunTree": { "alias": "RunTree"; "required": false; }; "DataHelper": { "alias": "DataHelper"; "required": false; }; "dataHelper": { "alias": "dataHelper"; "required": false; }; }, { "ItemSelected": "ItemSelected"; "itemSelected": "itemSelected"; "NavigateToEntity": "NavigateToEntity"; "navigateToEntity": "navigateToEntity"; }, never, never, false, never>;
|
|
183
254
|
}
|
|
184
255
|
//# sourceMappingURL=ai-agent-run-timeline.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-agent-run-timeline.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-timeline.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAA2B,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACtI,OAAO,EAAW,UAAU,EAAkC,MAAM,MAAM,CAAC;AAE3E,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC1J,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAInE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;;AAa5F,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;IACrE;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAOa,2BAA4B,SAAQ,oBAAqB,YAAW,MAAM,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"ai-agent-run-timeline.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/ai-agent-run/ai-agent-run-timeline.component.ts"],"names":[],"mappings":"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"}
|