@memberjunction/ng-core-entity-forms 6.1.4 → 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/README.md +22 -0
- 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-form.component.d.ts +27 -0
- package/dist/lib/custom/MLModels/ml-model-form.component.d.ts.map +1 -0
- package/dist/lib/custom/MLModels/ml-model-form.component.js +193 -0
- package/dist/lib/custom/MLModels/ml-model-form.component.js.map +1 -0
- package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +75 -0
- package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -0
- package/dist/lib/custom/MLModels/ml-model-view-models.js +244 -0
- package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -0
- package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +173 -0
- package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -0
- package/dist/lib/custom/MLModels/ps-model-detail.component.js +883 -0
- package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -0
- 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 +133 -7
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js +1268 -19
- 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 +121 -14
- 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 +287 -79
- 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/custom-forms.module.d.ts +32 -30
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +21 -4
- package/dist/lib/custom/custom-forms.module.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/MJAIPrompt/mjaiprompt.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js +62 -26
- package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.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/MJCredential/mjcredential.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js +33 -15
- package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +100 -82
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js +24 -20
- package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.js +122 -0
- package/dist/lib/generated/Entities/MJFeatureValue/mjfeaturevalue.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.js +125 -0
- package/dist/lib/generated/Entities/MJFeatureValueCache/mjfeaturevaluecache.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +23 -5
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.form.component.js +25 -6
- package/dist/lib/generated/Entities/MJProcessRunDetail/mjprocessrundetail.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/MJQuery/mjquery.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js +11 -15
- package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js +43 -7
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.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/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.js +78 -0
- package/dist/lib/generated/Entities/MJWebSearchProvider/mjwebsearchprovider.form.component.js.map +1 -0
- package/dist/lib/generated/generated-forms.module.d.ts +240 -237
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +11 -2
- package/dist/lib/generated/generated-forms.module.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 +122 -1
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.logic.js +236 -11
- package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +72 -13
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.js +577 -78
- 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/dist/public-api.d.ts +4 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +4 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +43 -41
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-action-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/add-action-dialog.component.ts","../../../../src/lib/custom/AIAgents/add-action-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, Output, EventEmitter } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Subject, BehaviorSubject, combineLatest, debounceTime, distinctUntilChanged, takeUntil, startWith } from 'rxjs';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport { MJActionEntity, MJActionCategoryEntity } from '@memberjunction/core-entities';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nexport interface CategoryTreeNode {\n id: string;\n name: string;\n count: number;\n icon: string;\n children?: CategoryTreeNode[];\n expanded?: boolean;\n}\n\nexport interface ActionDisplayItem extends MJActionEntity {\n selected: boolean;\n categoryName?: string;\n}\n\n/**\n * Modern, clean dialog for selecting actions to add to an AI Agent.\n * Features searchable action list, category filtering, and multi-select capability.\n */\n@Component({\n standalone: false,\n selector: 'mj-add-action-dialog',\n templateUrl: './add-action-dialog.component.html',\n styleUrls: ['./add-action-dialog.component.css']\n})\nexport class AddActionDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n \n // Input properties set by service\n agentId: string = '';\n agentName: string = '';\n existingActionIds: string[] = [];\n\n // Reactive state management\n private destroy$ = new Subject<void>();\n public result = new Subject<MJActionEntity[]>();\n \n // Data streams\n allActions$ = new BehaviorSubject<ActionDisplayItem[]>([]);\n categories$ = new BehaviorSubject<MJActionCategoryEntity[]>([]);\n filteredActions$ = new BehaviorSubject<ActionDisplayItem[]>([]);\n categoryTree$ = new BehaviorSubject<CategoryTreeNode[]>([]);\n selectedActions$ = new BehaviorSubject<Set<string>>(new Set());\n isLoading$ = new BehaviorSubject<boolean>(false);\n \n // UI state\n searchControl = new FormControl('');\n selectedCategoryId$ = new BehaviorSubject<string>('all');\n viewMode$ = new BehaviorSubject<'grid' | 'list'>('grid');\n expandedCategories = new Set<string>();\n\n // Computed values\n get selectedCount(): number {\n return this.selectedActions$.value.size;\n }\n\n get totalActionCount(): number {\n return this.allActions$.value.length;\n }\n\n get filteredCount(): number {\n return this.filteredActions$.value.length;\n }\n\n @Output() DialogClose = new EventEmitter<void>();\n\n constructor(\n private cdr: ChangeDetectorRef\n ) {\n super();}\n\n ngOnInit() {\n this.initializeData();\n this.setupFiltering();\n this.preselectExistingActions();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private async initializeData() {\n this.isLoading$.next(true);\n \n try {\n await this.loadActionsAndCategories();\n this.buildCategoryTree();\n } catch (error) {\n console.error('Error loading dialog data:', error);\n } finally {\n this.isLoading$.next(false);\n }\n }\n\n private async loadActionsAndCategories() {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n \n const [actionsResult, categoriesResult] = await rv.RunViews([\n {\n EntityName: 'MJ: Actions',\n ExtraFilter: 'Status = \\'Active\\'',\n OrderBy: 'Category, Name',\n ResultType: 'entity_object',\n MaxRows: 5000\n },\n {\n EntityName: 'MJ: Action Categories',\n ExtraFilter: 'Status = \\'Active\\'',\n OrderBy: 'Name',\n ResultType: 'entity_object',\n MaxRows: 1000\n }\n ]);\n\n if (actionsResult.Success) {\n const actions = (actionsResult.Results as MJActionEntity[] || []).map(action => ({\n ...action.GetAll(),\n selected: false,\n categoryName: action.Category || 'Uncategorized'\n } as ActionDisplayItem));\n \n this.allActions$.next(actions);\n }\n\n if (categoriesResult.Success) {\n this.categories$.next(categoriesResult.Results as MJActionCategoryEntity[] || []);\n }\n }\n\n private buildCategoryTree() {\n const actions = this.allActions$.value;\n const categories = this.categories$.value;\n \n // Count actions per category\n const categoryCounts = new Map<string, number>();\n actions.forEach(action => {\n const categoryName = action.categoryName || 'Uncategorized';\n categoryCounts.set(categoryName, (categoryCounts.get(categoryName) || 0) + 1);\n });\n\n // Build tree nodes\n const treeNodes: CategoryTreeNode[] = [\n {\n id: 'all',\n name: 'All Actions',\n count: actions.length,\n icon: 'fa-th'\n }\n ];\n\n // Add category nodes\n categories.forEach(category => {\n const count = categoryCounts.get(category.Name) || 0;\n if (count > 0) {\n treeNodes.push({\n id: category.ID,\n name: category.Name,\n count,\n icon: this.getCategoryIcon(category.Name)\n });\n }\n });\n\n // Add uncategorized if needed\n const uncategorizedCount = categoryCounts.get('Uncategorized') || 0;\n if (uncategorizedCount > 0) {\n treeNodes.push({\n id: 'uncategorized',\n name: 'Uncategorized',\n count: uncategorizedCount,\n icon: 'fa-question-circle'\n });\n }\n\n this.categoryTree$.next(treeNodes);\n }\n\n private getCategoryIcon(categoryName: string): string {\n const iconMap: { [key: string]: string } = {\n 'Data': 'fa-database',\n 'Communication': 'fa-envelope',\n 'Integration': 'fa-plug',\n 'Security': 'fa-shield-alt',\n 'Workflow': 'fa-project-diagram',\n 'AI': 'fa-brain',\n 'Files': 'fa-file-alt',\n 'Utilities': 'fa-tools',\n 'System': 'fa-cog',\n 'Analytics': 'fa-chart-line'\n };\n return iconMap[categoryName] || 'fa-folder';\n }\n\n private setupFiltering() {\n combineLatest([\n this.allActions$,\n this.searchControl.valueChanges.pipe(\n debounceTime(300),\n distinctUntilChanged(),\n startWith('') // Emit initial empty value\n ),\n this.selectedCategoryId$\n ]).pipe(\n takeUntil(this.destroy$)\n ).subscribe(([actions, searchTerm, categoryId]) => {\n this.filterActions(actions, searchTerm || '', categoryId);\n });\n }\n\n private filterActions(actions: ActionDisplayItem[], searchTerm: string, categoryId: string) {\n let filtered = [...actions];\n\n // Category filter\n if (categoryId !== 'all') {\n if (categoryId === 'uncategorized') {\n filtered = filtered.filter(action => !action.Category);\n } else {\n const categoryName = this.getCategoryNameById(categoryId);\n filtered = filtered.filter(action => action.categoryName === categoryName);\n }\n }\n\n // Search filter\n if (searchTerm) {\n const term = searchTerm.toLowerCase();\n filtered = filtered.filter(action =>\n action.Name.toLowerCase().includes(term) ||\n (action.Description && action.Description.toLowerCase().includes(term)) ||\n (action.categoryName && action.categoryName.toLowerCase().includes(term))\n );\n }\n\n this.filteredActions$.next(filtered);\n }\n\n private getCategoryNameById(categoryId: string): string {\n const category = this.categories$.value.find(c => UUIDsEqual(c.ID, categoryId));\n return category?.Name || '';\n }\n\n private preselectExistingActions() {\n if (this.existingActionIds.length > 0) {\n const selected = new Set(this.existingActionIds);\n this.selectedActions$.next(selected);\n \n // Update action selection state\n const actions = this.allActions$.value;\n actions.forEach(action => {\n action.selected = selected.has(action.ID);\n });\n this.allActions$.next(actions);\n }\n }\n\n // === UI Event Handlers ===\n\n selectCategory(categoryId: string) {\n this.selectedCategoryId$.next(categoryId);\n }\n\n toggleViewMode() {\n const currentMode = this.viewMode$.value;\n this.viewMode$.next(currentMode === 'grid' ? 'list' : 'grid');\n }\n\n toggleActionSelection(action: ActionDisplayItem) {\n const selected = this.selectedActions$.value;\n const actions = this.allActions$.value;\n \n // Find the action and toggle its selection\n const actionToUpdate = actions.find(a => UUIDsEqual(a.ID, action.ID));\n if (actionToUpdate) {\n actionToUpdate.selected = !actionToUpdate.selected;\n \n if (actionToUpdate.selected) {\n selected.add(action.ID);\n } else {\n selected.delete(action.ID);\n }\n \n this.selectedActions$.next(new Set(selected));\n this.allActions$.next(actions);\n \n // Update filtered actions to reflect selection state\n const filtered = this.filteredActions$.value;\n const filteredAction = filtered.find(a => UUIDsEqual(a.ID, action.ID));\n if (filteredAction) {\n filteredAction.selected = actionToUpdate.selected;\n this.filteredActions$.next(filtered);\n }\n }\n }\n\n // Backs the no-results empty-state \"Clear Filters\" CTA: resets every dimension\n // the list narrows on — search AND the category filter — so the CTA actually\n // returns results instead of appearing to do nothing.\n clearSearch() {\n this.searchControl.reset();\n this.selectedCategoryId$.next('all');\n }\n\n getActionIcon(action: ActionDisplayItem): string {\n // Return custom icon if set\n if (action.IconClass) {\n return action.IconClass;\n }\n\n // Fallback icon mapping based on action name/type\n const name = action.Name.toLowerCase();\n if (name.includes('create') || name.includes('add')) return 'fa-plus-circle';\n if (name.includes('update') || name.includes('edit')) return 'fa-edit';\n if (name.includes('delete') || name.includes('remove')) return 'fa-trash';\n if (name.includes('email') || name.includes('send')) return 'fa-envelope';\n if (name.includes('export')) return 'fa-file-export';\n if (name.includes('import')) return 'fa-file-import';\n if (name.includes('report')) return 'fa-file-alt';\n if (name.includes('api')) return 'fa-plug';\n \n return 'fa-bolt'; // Default action icon\n }\n\n // === Dialog Actions ===\n\n cancel() {\n this.result.next([]);\n this.DialogClose.emit();\n }\n\n addSelectedActions() {\n const selectedIds = this.selectedActions$.value;\n const allActions = this.allActions$.value;\n\n // Get the selected action display items (excluding existing ones)\n const selectedDisplayItems = allActions\n .filter(action => selectedIds.has(action.ID) && !this.existingActionIds.some(id => UUIDsEqual(id, action.ID)));\n\n // Convert ActionDisplayItem to MJActionEntity by casting (they have the same structure)\n const selectedActions: MJActionEntity[] = selectedDisplayItems.map(item => item as MJActionEntity);\n\n this.result.next(selectedActions);\n this.DialogClose.emit();\n }\n}","<!-- Add Action Dialog -->\n<div class=\"add-action-dialog\">\n \n <!-- Dialog Header -->\n <div class=\"dialog-header\">\n <div class=\"search-section\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-prefix-icon\"></i>\n <input\n class=\"mj-input search-input\"\n [formControl]=\"searchControl\"\n placeholder=\"Search actions by name, description, or category...\">\n </div>\n </div>\n \n <div class=\"header-actions\">\n <!-- View Toggle -->\n <button mjButton\n variant=\"flat\"\n (click)=\"toggleViewMode()\"\n [title]=\"(viewMode$ | async) === 'grid' ? 'Switch to list view' : 'Switch to grid view'\">\n <i class=\"fa-solid\"\n [class.fa-th]=\"(viewMode$ | async) === 'grid'\"\n [class.fa-list]=\"(viewMode$ | async) === 'list'\"></i>\n </button>\n \n <!-- Stats -->\n <div class=\"stats\">\n <span class=\"stat-item\">\n <i class=\"fa-solid fa-bolt\"></i>\n {{ filteredCount }} of {{ totalActionCount }} actions\n </span>\n </div>\n </div>\n </div>\n\n <!-- Main Content -->\n <div class=\"dialog-content\">\n \n <!-- Category Sidebar -->\n <div class=\"category-sidebar\">\n <div class=\"sidebar-header\">\n <h4><i class=\"fa-solid fa-folder-tree\"></i> Categories</h4>\n </div>\n \n <div class=\"category-list\">\n @for (category of categoryTree$ | async; track category.id) {\n <div class=\"category-item\" \n [class.selected]=\"(selectedCategoryId$ | async) === category.id\"\n (click)=\"selectCategory(category.id)\">\n <i class=\"fa-solid {{ category.icon }} category-icon\"></i>\n <span class=\"category-name\">{{ category.name }}</span>\n <span class=\"category-count\">{{ category.count }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Actions Display -->\n <div class=\"actions-container\">\n \n <!-- Loading State -->\n @if (isLoading$ | async) {\n <div class=\"loading-state\">\n <div class=\"loading-spinner\">\n <i class=\"fa-solid fa-spinner fa-spin fa-2x\"></i>\n </div>\n <p>Loading actions...</p>\n </div>\n }\n\n <!-- Empty State -->\n @if (!(isLoading$ | async) && filteredCount === 0) {\n <mj-empty-state\n Variant=\"no-results\"\n Title=\"No actions found\"\n Message=\"Try adjusting your search criteria or selecting a different category\"\n ActionText=\"Clear Filters\"\n ActionVariant=\"flat\"\n (Action)=\"clearSearch()\"\n Size=\"compact\" />\n }\n\n <!-- Grid View -->\n @if (!(isLoading$ | async) && (viewMode$ | async) === 'grid' && filteredCount > 0) {\n <div class=\"actions-grid\">\n @for (action of filteredActions$ | async; track action.ID) {\n <div class=\"action-card\" \n [class.selected]=\"action.selected\"\n [class.existing]=\"existingActionIds.includes(action.ID)\"\n (click)=\"toggleActionSelection(action)\">\n \n <!-- Selection Indicator -->\n <div class=\"selection-indicator\">\n <i class=\"fa-solid\" \n [class.fa-check-circle]=\"action.selected\" \n [class.fa-circle]=\"!action.selected\"></i>\n </div>\n \n <!-- Card Content -->\n <div class=\"card-header\">\n <div class=\"action-icon\">\n <i class=\"fa-solid {{ getActionIcon(action) }}\"></i>\n </div>\n <h3 class=\"action-name\">{{ action.Name }}</h3>\n </div>\n \n <div class=\"card-body\">\n <p class=\"action-description\">{{ action.Description || 'No description available' }}</p>\n \n @if (action.categoryName) {\n <div class=\"category-badge\">\n <i class=\"fa-solid fa-folder\"></i>\n {{ action.categoryName }}\n </div>\n }\n \n @if (action.Type) {\n <div class=\"type-badge\">\n <i class=\"fa-solid fa-tag\"></i>\n {{ action.Type }}\n </div>\n }\n </div>\n \n <!-- Existing Action Overlay -->\n @if (existingActionIds.includes(action.ID)) {\n <div class=\"existing-overlay\">\n <i class=\"fa-solid fa-check\"></i>\n <span>Already Added</span>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <!-- List View -->\n @if (!(isLoading$ | async) && (viewMode$ | async) === 'list' && filteredCount > 0) {\n <div class=\"actions-list\">\n \n <!-- List Header -->\n <div class=\"list-header\">\n <span class=\"col-select\"></span>\n <span class=\"col-name\">Name</span>\n <span class=\"col-category\">Category</span>\n <span class=\"col-type\">Type</span>\n <span class=\"col-description\">Description</span>\n <span class=\"col-status\">Status</span>\n </div>\n \n <!-- List Items -->\n @for (action of filteredActions$ | async; track action.ID) {\n <div class=\"list-item\" \n [class.selected]=\"action.selected\"\n [class.existing]=\"existingActionIds.includes(action.ID)\"\n (click)=\"toggleActionSelection(action)\">\n \n <span class=\"col-select\">\n <i class=\"fa-solid\" \n [class.fa-check-circle]=\"action.selected\" \n [class.fa-circle]=\"!action.selected\"></i>\n </span>\n \n <span class=\"col-name\">\n <i class=\"fa-solid {{ getActionIcon(action) }} action-icon\"></i>\n {{ action.Name }}\n </span>\n \n <span class=\"col-category\">{{ action.categoryName || '-' }}</span>\n <span class=\"col-type\">{{ action.Type || '-' }}</span>\n <span class=\"col-description\">{{ action.Description || '-' }}</span>\n \n <span class=\"col-status\">\n @if (existingActionIds.includes(action.ID)) {\n <span class=\"status-badge existing\">\n <i class=\"fa-solid fa-check\"></i>\n Added\n </span>\n } @else {\n <span class=\"status-badge available\">\n <i class=\"fa-solid fa-plus\"></i>\n Available\n </span>\n }\n </span>\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Selected Actions Summary -->\n @if (selectedCount > 0) {\n <div class=\"selection-summary\">\n <div class=\"summary-content\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>{{ selectedCount }} action{{ selectedCount === 1 ? '' : 's' }} selected</span>\n </div>\n </div>\n }\n\n <!-- Dialog Footer -->\n <div class=\"dialog-footer\">\n <button mjButton\n variant=\"flat\"\n (click)=\"cancel()\">\n Cancel\n </button>\n\n <button mjButton\n variant=\"primary\"\n [disabled]=\"selectedCount === 0\"\n (click)=\"addSelectedActions()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Selected ({{ selectedCount }})\n </button>\n </div>\n</div>"]}
|
|
1
|
+
{"version":3,"file":"add-action-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/add-action-dialog.component.ts","../../../../src/lib/custom/AIAgents/add-action-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, Output, EventEmitter } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { Subject, BehaviorSubject, combineLatest, debounceTime, distinctUntilChanged, takeUntil, startWith } from 'rxjs';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport { MJActionEntity, MJActionCategoryEntity } from '@memberjunction/core-entities';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nexport interface CategoryTreeNode {\n id: string; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n name: string; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n count: number; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n icon: string; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n children?: CategoryTreeNode[]; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n expanded?: boolean; // case-violation-ok-legacy-back-compat: the type is named in an exported signature, so consumers build object literals against it; an interface has no runtime carrier for a stub\n}\n\nexport interface ActionDisplayItem extends MJActionEntity {\n Selected: boolean;\n CategoryName?: string;\n}\n\n/**\n * Modern, clean dialog for selecting actions to add to an AI Agent.\n * Features searchable action list, category filtering, and multi-select capability.\n */\n@Component({\n standalone: false,\n selector: 'mj-add-action-dialog',\n templateUrl: './add-action-dialog.component.html',\n styleUrls: ['./add-action-dialog.component.css']\n})\nexport class AddActionDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n \n // Input properties set by service\n AgentId: string = '';\n\n /** @deprecated Use {@link AgentId}. */\n get agentId(): string {\n return this.AgentId;\n }\n /** @deprecated Use {@link AgentId}. */\n set agentId(value: string) {\n this.AgentId = value;\n }\n AgentName: string = '';\n\n /** @deprecated Use {@link AgentName}. */\n get agentName(): string {\n return this.AgentName;\n }\n /** @deprecated Use {@link AgentName}. */\n set agentName(value: string) {\n this.AgentName = value;\n }\n ExistingActionIds: string[] = [];\n\n /** @deprecated Use {@link ExistingActionIds}. */\n get existingActionIds(): string[] {\n return this.ExistingActionIds;\n }\n /** @deprecated Use {@link ExistingActionIds}. */\n set existingActionIds(value: string[]) {\n this.ExistingActionIds = value;\n }\n\n // Reactive state management\n private destroy$ = new Subject<void>();\n public Result = new Subject<MJActionEntity[]>();\n\n /** @deprecated Use {@link Result}. */\n public get result() {\n return this.Result;\n }\n /** @deprecated Use {@link Result}. */\n public set result(value) {\n this.Result = value;\n }\n \n // Data streams\n AllActions$ = new BehaviorSubject<ActionDisplayItem[]>([]);\n\n /** @deprecated Use {@link AllActions$}. */\n get allActions$() {\n return this.AllActions$;\n }\n /** @deprecated Use {@link AllActions$}. */\n set allActions$(value) {\n this.AllActions$ = value;\n }\n Categories$ = new BehaviorSubject<MJActionCategoryEntity[]>([]);\n\n /** @deprecated Use {@link Categories$}. */\n get categories$() {\n return this.Categories$;\n }\n /** @deprecated Use {@link Categories$}. */\n set categories$(value) {\n this.Categories$ = value;\n }\n FilteredActions$ = new BehaviorSubject<ActionDisplayItem[]>([]);\n\n /** @deprecated Use {@link FilteredActions$}. */\n get filteredActions$() {\n return this.FilteredActions$;\n }\n /** @deprecated Use {@link FilteredActions$}. */\n set filteredActions$(value) {\n this.FilteredActions$ = value;\n }\n CategoryTree$ = new BehaviorSubject<CategoryTreeNode[]>([]);\n\n /** @deprecated Use {@link CategoryTree$}. */\n get categoryTree$() {\n return this.CategoryTree$;\n }\n /** @deprecated Use {@link CategoryTree$}. */\n set categoryTree$(value) {\n this.CategoryTree$ = value;\n }\n SelectedActions$ = new BehaviorSubject<Set<string>>(new Set());\n\n /** @deprecated Use {@link SelectedActions$}. */\n get selectedActions$() {\n return this.SelectedActions$;\n }\n /** @deprecated Use {@link SelectedActions$}. */\n set selectedActions$(value) {\n this.SelectedActions$ = value;\n }\n IsLoading$ = new BehaviorSubject<boolean>(false);\n\n /** @deprecated Use {@link IsLoading$}. */\n get isLoading$() {\n return this.IsLoading$;\n }\n /** @deprecated Use {@link IsLoading$}. */\n set isLoading$(value) {\n this.IsLoading$ = value;\n }\n \n // UI state\n SearchControl = new FormControl('');\n\n /** @deprecated Use {@link SearchControl}. */\n get searchControl() {\n return this.SearchControl;\n }\n /** @deprecated Use {@link SearchControl}. */\n set searchControl(value) {\n this.SearchControl = value;\n }\n SelectedCategoryId$ = new BehaviorSubject<string>('all');\n\n /** @deprecated Use {@link SelectedCategoryId$}. */\n get selectedCategoryId$() {\n return this.SelectedCategoryId$;\n }\n /** @deprecated Use {@link SelectedCategoryId$}. */\n set selectedCategoryId$(value) {\n this.SelectedCategoryId$ = value;\n }\n ViewMode$ = new BehaviorSubject<'grid' | 'list'>('grid');\n\n /** @deprecated Use {@link ViewMode$}. */\n get viewMode$() {\n return this.ViewMode$;\n }\n /** @deprecated Use {@link ViewMode$}. */\n set viewMode$(value) {\n this.ViewMode$ = value;\n }\n ExpandedCategories = new Set<string>();\n\n /** @deprecated Use {@link ExpandedCategories}. */\n get expandedCategories() {\n return this.ExpandedCategories;\n }\n /** @deprecated Use {@link ExpandedCategories}. */\n set expandedCategories(value) {\n this.ExpandedCategories = value;\n }\n\n // Computed values\n get SelectedCount(): number {\n return this.SelectedActions$.value.size;\n }\n\n /** @deprecated Use {@link SelectedCount}. */\n get selectedCount(): number {\n return this.SelectedCount;\n }\n\n get TotalActionCount(): number {\n return this.AllActions$.value.length;\n }\n\n /** @deprecated Use {@link TotalActionCount}. */\n get totalActionCount(): number {\n return this.TotalActionCount;\n }\n\n get FilteredCount(): number {\n return this.FilteredActions$.value.length;\n }\n\n /** @deprecated Use {@link FilteredCount}. */\n get filteredCount(): number {\n return this.FilteredCount;\n }\n\n @Output() DialogClose = new EventEmitter<void>();\n\n constructor(\n private cdr: ChangeDetectorRef\n ) {\n super();}\n\n ngOnInit() {\n this.initializeData();\n this.setupFiltering();\n this.preselectExistingActions();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private async initializeData() {\n this.IsLoading$.next(true);\n \n try {\n await this.loadActionsAndCategories();\n this.buildCategoryTree();\n } catch (error) {\n console.error('Error loading dialog data:', error);\n } finally {\n this.IsLoading$.next(false);\n }\n }\n\n private async loadActionsAndCategories() {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n \n const [actionsResult, categoriesResult] = await rv.RunViews([\n {\n EntityName: 'MJ: Actions',\n ExtraFilter: 'Status = \\'Active\\'',\n OrderBy: 'Category, Name',\n ResultType: 'entity_object',\n MaxRows: 5000\n },\n {\n EntityName: 'MJ: Action Categories',\n ExtraFilter: 'Status = \\'Active\\'',\n OrderBy: 'Name',\n ResultType: 'entity_object',\n MaxRows: 1000\n }\n ]);\n\n if (actionsResult.Success) {\n const actions = (actionsResult.Results as MJActionEntity[] || []).map(action => ({\n ...action.GetAll(),\n Selected: false,\n CategoryName: action.Category || 'Uncategorized'\n } as ActionDisplayItem));\n \n this.AllActions$.next(actions);\n }\n\n if (categoriesResult.Success) {\n this.Categories$.next(categoriesResult.Results as MJActionCategoryEntity[] || []);\n }\n }\n\n private buildCategoryTree() {\n const actions = this.AllActions$.value;\n const categories = this.Categories$.value;\n \n // Count actions per category\n const categoryCounts = new Map<string, number>();\n actions.forEach(action => {\n const categoryName = action.CategoryName || 'Uncategorized';\n categoryCounts.set(categoryName, (categoryCounts.get(categoryName) || 0) + 1);\n });\n\n // Build tree nodes\n const treeNodes: CategoryTreeNode[] = [\n {\n id: 'all',\n name: 'All Actions',\n count: actions.length,\n icon: 'fa-th'\n }\n ];\n\n // Add category nodes\n categories.forEach(category => {\n const count = categoryCounts.get(category.Name) || 0;\n if (count > 0) {\n treeNodes.push({\n id: category.ID,\n name: category.Name,\n count,\n icon: this.getCategoryIcon(category.Name)\n });\n }\n });\n\n // Add uncategorized if needed\n const uncategorizedCount = categoryCounts.get('Uncategorized') || 0;\n if (uncategorizedCount > 0) {\n treeNodes.push({\n id: 'uncategorized',\n name: 'Uncategorized',\n count: uncategorizedCount,\n icon: 'fa-question-circle'\n });\n }\n\n this.CategoryTree$.next(treeNodes);\n }\n\n private getCategoryIcon(categoryName: string): string {\n const iconMap: { [key: string]: string } = {\n 'Data': 'fa-database',\n 'Communication': 'fa-envelope',\n 'Integration': 'fa-plug',\n 'Security': 'fa-shield-alt',\n 'Workflow': 'fa-project-diagram',\n 'AI': 'fa-brain',\n 'Files': 'fa-file-alt',\n 'Utilities': 'fa-tools',\n 'System': 'fa-cog',\n 'Analytics': 'fa-chart-line'\n };\n return iconMap[categoryName] || 'fa-folder';\n }\n\n private setupFiltering() {\n combineLatest([\n this.AllActions$,\n this.SearchControl.valueChanges.pipe(\n debounceTime(300),\n distinctUntilChanged(),\n startWith('') // Emit initial empty value\n ),\n this.SelectedCategoryId$\n ]).pipe(\n takeUntil(this.destroy$)\n ).subscribe(([actions, searchTerm, categoryId]) => {\n this.filterActions(actions, searchTerm || '', categoryId);\n });\n }\n\n private filterActions(actions: ActionDisplayItem[], searchTerm: string, categoryId: string) {\n let filtered = [...actions];\n\n // Category filter\n if (categoryId !== 'all') {\n if (categoryId === 'uncategorized') {\n filtered = filtered.filter(action => !action.Category);\n } else {\n const categoryName = this.getCategoryNameById(categoryId);\n filtered = filtered.filter(action => action.CategoryName === categoryName);\n }\n }\n\n // Search filter\n if (searchTerm) {\n const term = searchTerm.toLowerCase();\n filtered = filtered.filter(action =>\n action.Name.toLowerCase().includes(term) ||\n (action.Description && action.Description.toLowerCase().includes(term)) ||\n (action.CategoryName && action.CategoryName.toLowerCase().includes(term))\n );\n }\n\n this.FilteredActions$.next(filtered);\n }\n\n private getCategoryNameById(categoryId: string): string {\n const category = this.Categories$.value.find(c => UUIDsEqual(c.ID, categoryId));\n return category?.Name || '';\n }\n\n private preselectExistingActions() {\n if (this.ExistingActionIds.length > 0) {\n const selected = new Set(this.ExistingActionIds);\n this.SelectedActions$.next(selected);\n \n // Update action selection state\n const actions = this.AllActions$.value;\n actions.forEach(action => {\n action.Selected = selected.has(action.ID);\n });\n this.AllActions$.next(actions);\n }\n }\n\n // === UI Event Handlers ===\n\n SelectCategory(categoryId: string) {\n this.SelectedCategoryId$.next(categoryId);\n }\n\n /** @deprecated Use {@link SelectCategory}. */\n selectCategory(categoryId: string) {\n return this.SelectCategory(categoryId);\n }\n\n ToggleViewMode() {\n const currentMode = this.ViewMode$.value;\n this.ViewMode$.next(currentMode === 'grid' ? 'list' : 'grid');\n }\n\n /** @deprecated Use {@link ToggleViewMode}. */\n toggleViewMode() {\n return this.ToggleViewMode();\n }\n\n ToggleActionSelection(action: ActionDisplayItem) {\n const selected = this.SelectedActions$.value;\n const actions = this.AllActions$.value;\n \n // Find the action and toggle its selection\n const actionToUpdate = actions.find(a => UUIDsEqual(a.ID, action.ID));\n if (actionToUpdate) {\n actionToUpdate.Selected = !actionToUpdate.Selected;\n \n if (actionToUpdate.Selected) {\n selected.add(action.ID);\n } else {\n selected.delete(action.ID);\n }\n \n this.SelectedActions$.next(new Set(selected));\n this.AllActions$.next(actions);\n \n // Update filtered actions to reflect selection state\n const filtered = this.FilteredActions$.value;\n const filteredAction = filtered.find(a => UUIDsEqual(a.ID, action.ID));\n if (filteredAction) {\n filteredAction.Selected = actionToUpdate.Selected;\n this.FilteredActions$.next(filtered);\n }\n }\n }\n\n /** @deprecated Use {@link ToggleActionSelection}. */\n toggleActionSelection(action: ActionDisplayItem) {\n return this.ToggleActionSelection(action);\n }\n\n // Backs the no-results empty-state \"Clear Filters\" CTA: resets every dimension\n // the list narrows on — search AND the category filter — so the CTA actually\n // returns results instead of appearing to do nothing.\n ClearSearch() {\n this.SearchControl.reset();\n this.SelectedCategoryId$.next('all');\n }\n\n /** @deprecated Use {@link ClearSearch}. */\n clearSearch() {\n return this.ClearSearch();\n }\n\n GetActionIcon(action: ActionDisplayItem): string {\n // Return custom icon if set\n if (action.IconClass) {\n return action.IconClass;\n }\n\n // Fallback icon mapping based on action name/type\n const name = action.Name.toLowerCase();\n if (name.includes('create') || name.includes('add')) return 'fa-plus-circle';\n if (name.includes('update') || name.includes('edit')) return 'fa-edit';\n if (name.includes('delete') || name.includes('remove')) return 'fa-trash';\n if (name.includes('email') || name.includes('send')) return 'fa-envelope';\n if (name.includes('export')) return 'fa-file-export';\n if (name.includes('import')) return 'fa-file-import';\n if (name.includes('report')) return 'fa-file-alt';\n if (name.includes('api')) return 'fa-plug';\n \n return 'fa-bolt'; // Default action icon\n }\n\n /** @deprecated Use {@link GetActionIcon}. */\n getActionIcon(action: ActionDisplayItem): string {\n return this.GetActionIcon(action);\n }\n\n // === Dialog Actions ===\n\n cancel() {\n this.Result.next([]);\n this.DialogClose.emit();\n }\n\n AddSelectedActions() {\n const selectedIds = this.SelectedActions$.value;\n const allActions = this.AllActions$.value;\n\n // Get the selected action display items (excluding existing ones)\n const selectedDisplayItems = allActions\n .filter(action => selectedIds.has(action.ID) && !this.ExistingActionIds.some(id => UUIDsEqual(id, action.ID)));\n\n // Convert ActionDisplayItem to MJActionEntity by casting (they have the same structure)\n const selectedActions: MJActionEntity[] = selectedDisplayItems.map(item => item as MJActionEntity);\n\n this.Result.next(selectedActions);\n this.DialogClose.emit();\n }\n\n /** @deprecated Use {@link AddSelectedActions}. */\n addSelectedActions() {\n return this.AddSelectedActions();\n }\n}","<!-- Add Action Dialog -->\n<div class=\"add-action-dialog\">\n \n <!-- Dialog Header -->\n <div class=\"dialog-header\">\n <div class=\"search-section\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-prefix-icon\"></i>\n <input\n class=\"mj-input search-input\"\n [formControl]=\"searchControl\"\n placeholder=\"Search actions by name, description, or category...\">\n </div>\n </div>\n \n <div class=\"header-actions\">\n <!-- View Toggle -->\n <button mjButton\n variant=\"flat\"\n (click)=\"toggleViewMode()\"\n [title]=\"(viewMode$ | async) === 'grid' ? 'Switch to list view' : 'Switch to grid view'\">\n <i class=\"fa-solid\"\n [class.fa-th]=\"(viewMode$ | async) === 'grid'\"\n [class.fa-list]=\"(viewMode$ | async) === 'list'\"></i>\n </button>\n \n <!-- Stats -->\n <div class=\"stats\">\n <span class=\"stat-item\">\n <i class=\"fa-solid fa-bolt\"></i>\n {{ filteredCount }} of {{ totalActionCount }} actions\n </span>\n </div>\n </div>\n </div>\n\n <!-- Main Content -->\n <div class=\"dialog-content\">\n \n <!-- Category Sidebar -->\n <div class=\"category-sidebar\">\n <div class=\"sidebar-header\">\n <h4><i class=\"fa-solid fa-folder-tree\"></i> Categories</h4>\n </div>\n \n <div class=\"category-list\">\n @for (category of categoryTree$ | async; track category.id) {\n <div class=\"category-item\" \n [class.selected]=\"(selectedCategoryId$ | async) === category.id\"\n (click)=\"selectCategory(category.id)\">\n <i class=\"fa-solid {{ category.icon }} category-icon\"></i>\n <span class=\"category-name\">{{ category.name }}</span>\n <span class=\"category-count\">{{ category.count }}</span>\n </div>\n }\n </div>\n </div>\n\n <!-- Actions Display -->\n <div class=\"actions-container\">\n \n <!-- Loading State -->\n @if (isLoading$ | async) {\n <div class=\"loading-state\">\n <div class=\"loading-spinner\">\n <i class=\"fa-solid fa-spinner fa-spin fa-2x\"></i>\n </div>\n <p>Loading actions...</p>\n </div>\n }\n\n <!-- Empty State -->\n @if (!(isLoading$ | async) && filteredCount === 0) {\n <mj-empty-state\n Variant=\"no-results\"\n Title=\"No actions found\"\n Message=\"Try adjusting your search criteria or selecting a different category\"\n ActionText=\"Clear Filters\"\n ActionVariant=\"flat\"\n (Action)=\"clearSearch()\"\n Size=\"compact\" />\n }\n\n <!-- Grid View -->\n @if (!(isLoading$ | async) && (viewMode$ | async) === 'grid' && filteredCount > 0) {\n <div class=\"actions-grid\">\n @for (action of filteredActions$ | async; track action.ID) {\n <div class=\"action-card\" \n [class.selected]=\"action.Selected\"\n [class.existing]=\"existingActionIds.includes(action.ID)\"\n (click)=\"toggleActionSelection(action)\">\n \n <!-- Selection Indicator -->\n <div class=\"selection-indicator\">\n <i class=\"fa-solid\" \n [class.fa-check-circle]=\"action.Selected\" \n [class.fa-circle]=\"!action.Selected\"></i>\n </div>\n \n <!-- Card Content -->\n <div class=\"card-header\">\n <div class=\"action-icon\">\n <i class=\"fa-solid {{ getActionIcon(action) }}\"></i>\n </div>\n <h3 class=\"action-name\">{{ action.Name }}</h3>\n </div>\n \n <div class=\"card-body\">\n <p class=\"action-description\">{{ action.Description || 'No description available' }}</p>\n \n @if (action.CategoryName) {\n <div class=\"category-badge\">\n <i class=\"fa-solid fa-folder\"></i>\n {{ action.CategoryName }}\n </div>\n }\n \n @if (action.Type) {\n <div class=\"type-badge\">\n <i class=\"fa-solid fa-tag\"></i>\n {{ action.Type }}\n </div>\n }\n </div>\n \n <!-- Existing Action Overlay -->\n @if (existingActionIds.includes(action.ID)) {\n <div class=\"existing-overlay\">\n <i class=\"fa-solid fa-check\"></i>\n <span>Already Added</span>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <!-- List View -->\n @if (!(isLoading$ | async) && (viewMode$ | async) === 'list' && filteredCount > 0) {\n <div class=\"actions-list\">\n \n <!-- List Header -->\n <div class=\"list-header\">\n <span class=\"col-select\"></span>\n <span class=\"col-name\">Name</span>\n <span class=\"col-category\">Category</span>\n <span class=\"col-type\">Type</span>\n <span class=\"col-description\">Description</span>\n <span class=\"col-status\">Status</span>\n </div>\n \n <!-- List Items -->\n @for (action of filteredActions$ | async; track action.ID) {\n <div class=\"list-item\" \n [class.selected]=\"action.Selected\"\n [class.existing]=\"existingActionIds.includes(action.ID)\"\n (click)=\"toggleActionSelection(action)\">\n \n <span class=\"col-select\">\n <i class=\"fa-solid\" \n [class.fa-check-circle]=\"action.Selected\" \n [class.fa-circle]=\"!action.Selected\"></i>\n </span>\n \n <span class=\"col-name\">\n <i class=\"fa-solid {{ getActionIcon(action) }} action-icon\"></i>\n {{ action.Name }}\n </span>\n \n <span class=\"col-category\">{{ action.CategoryName || '-' }}</span>\n <span class=\"col-type\">{{ action.Type || '-' }}</span>\n <span class=\"col-description\">{{ action.Description || '-' }}</span>\n \n <span class=\"col-status\">\n @if (existingActionIds.includes(action.ID)) {\n <span class=\"status-badge existing\">\n <i class=\"fa-solid fa-check\"></i>\n Added\n </span>\n } @else {\n <span class=\"status-badge available\">\n <i class=\"fa-solid fa-plus\"></i>\n Available\n </span>\n }\n </span>\n </div>\n }\n </div>\n }\n </div>\n </div>\n\n <!-- Selected Actions Summary -->\n @if (selectedCount > 0) {\n <div class=\"selection-summary\">\n <div class=\"summary-content\">\n <i class=\"fa-solid fa-check-circle\"></i>\n <span>{{ selectedCount }} action{{ selectedCount === 1 ? '' : 's' }} selected</span>\n </div>\n </div>\n }\n\n <!-- Dialog Footer -->\n <div class=\"dialog-footer\">\n <button mjButton\n variant=\"flat\"\n (click)=\"cancel()\">\n Cancel\n </button>\n\n <button mjButton\n variant=\"primary\"\n [disabled]=\"selectedCount === 0\"\n (click)=\"addSelectedActions()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Selected ({{ selectedCount }})\n </button>\n </div>\n</div>"]}
|
|
@@ -5,12 +5,12 @@ import { MJAIAgentPromptEntity, MJAIConfigurationEntity } from '@memberjunction/
|
|
|
5
5
|
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export interface AgentPromptAdvancedSettingsFormData {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
ExecutionOrder: number;
|
|
9
|
+
Purpose: string | null;
|
|
10
|
+
ConfigurationID: string | null;
|
|
11
|
+
ContextBehavior: 'Complete' | 'Smart' | 'None' | 'RecentMessages' | 'InitialMessages' | 'Custom';
|
|
12
|
+
ContextMessageCount: number | null;
|
|
13
|
+
Status: 'Active' | 'Inactive' | 'Deprecated' | 'Preview';
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Advanced Settings dialog for AI Agent Prompts.
|
|
@@ -19,24 +19,78 @@ export interface AgentPromptAdvancedSettingsFormData {
|
|
|
19
19
|
export declare class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {
|
|
20
20
|
private fb;
|
|
21
21
|
private cdr;
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
AgentPrompt: MJAIAgentPromptEntity;
|
|
23
|
+
/** @deprecated Use {@link AgentPrompt}. */
|
|
24
|
+
get agentPrompt(): MJAIAgentPromptEntity;
|
|
25
|
+
/** @deprecated Use {@link AgentPrompt}. */
|
|
26
|
+
set agentPrompt(value: MJAIAgentPromptEntity);
|
|
27
|
+
AllAgentPrompts: MJAIAgentPromptEntity[];
|
|
28
|
+
/** @deprecated Use {@link AllAgentPrompts}. */
|
|
29
|
+
get allAgentPrompts(): MJAIAgentPromptEntity[];
|
|
30
|
+
/** @deprecated Use {@link AllAgentPrompts}. */
|
|
31
|
+
set allAgentPrompts(value: MJAIAgentPromptEntity[]);
|
|
24
32
|
private destroy$;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
Result: Subject<AgentPromptAdvancedSettingsFormData | null>;
|
|
34
|
+
/** @deprecated Use {@link Result}. */
|
|
35
|
+
get result(): Subject<AgentPromptAdvancedSettingsFormData | null>;
|
|
36
|
+
/** @deprecated Use {@link Result}. */
|
|
37
|
+
set result(value: Subject<AgentPromptAdvancedSettingsFormData | null>);
|
|
38
|
+
AdvancedForm: FormGroup;
|
|
39
|
+
/** @deprecated Use {@link AdvancedForm}. */
|
|
40
|
+
get advancedForm(): FormGroup;
|
|
41
|
+
/** @deprecated Use {@link AdvancedForm}. */
|
|
42
|
+
set advancedForm(value: FormGroup);
|
|
43
|
+
IsLoading$: BehaviorSubject<boolean>;
|
|
44
|
+
/** @deprecated Use {@link IsLoading$}. */
|
|
45
|
+
get isLoading$(): BehaviorSubject<boolean>;
|
|
46
|
+
/** @deprecated Use {@link IsLoading$}. */
|
|
47
|
+
set isLoading$(value: BehaviorSubject<boolean>);
|
|
48
|
+
IsSaving$: BehaviorSubject<boolean>;
|
|
49
|
+
/** @deprecated Use {@link IsSaving$}. */
|
|
50
|
+
get isSaving$(): BehaviorSubject<boolean>;
|
|
51
|
+
/** @deprecated Use {@link IsSaving$}. */
|
|
52
|
+
set isSaving$(value: BehaviorSubject<boolean>);
|
|
53
|
+
Configurations$: BehaviorSubject<MJAIConfigurationEntity[]>;
|
|
54
|
+
/** @deprecated Use {@link Configurations$}. */
|
|
55
|
+
get configurations$(): BehaviorSubject<MJAIConfigurationEntity[]>;
|
|
56
|
+
/** @deprecated Use {@link Configurations$}. */
|
|
57
|
+
set configurations$(value: BehaviorSubject<MJAIConfigurationEntity[]>);
|
|
58
|
+
ContextBehaviorOptions: {
|
|
31
59
|
text: string;
|
|
32
60
|
value: string;
|
|
33
61
|
description: string;
|
|
34
62
|
}[];
|
|
35
|
-
|
|
63
|
+
/** @deprecated Use {@link ContextBehaviorOptions}. */
|
|
64
|
+
get contextBehaviorOptions(): {
|
|
65
|
+
text: string;
|
|
66
|
+
value: string;
|
|
67
|
+
description: string;
|
|
68
|
+
}[];
|
|
69
|
+
/** @deprecated Use {@link ContextBehaviorOptions}. */
|
|
70
|
+
set contextBehaviorOptions(value: {
|
|
71
|
+
text: string;
|
|
72
|
+
value: string;
|
|
73
|
+
description: string;
|
|
74
|
+
}[]);
|
|
75
|
+
StatusOptions: {
|
|
76
|
+
text: string;
|
|
77
|
+
value: string;
|
|
78
|
+
}[];
|
|
79
|
+
/** @deprecated Use {@link StatusOptions}. */
|
|
80
|
+
get statusOptions(): {
|
|
36
81
|
text: string;
|
|
37
82
|
value: string;
|
|
38
83
|
}[];
|
|
39
|
-
|
|
84
|
+
/** @deprecated Use {@link StatusOptions}. */
|
|
85
|
+
set statusOptions(value: {
|
|
86
|
+
text: string;
|
|
87
|
+
value: string;
|
|
88
|
+
}[]);
|
|
89
|
+
ExecutionOrderError: string | null;
|
|
90
|
+
/** @deprecated Use {@link ExecutionOrderError}. */
|
|
91
|
+
get executionOrderError(): string | null;
|
|
92
|
+
/** @deprecated Use {@link ExecutionOrderError}. */
|
|
93
|
+
set executionOrderError(value: string | null);
|
|
40
94
|
DialogClose: EventEmitter<void>;
|
|
41
95
|
constructor(fb: FormBuilder, cdr: ChangeDetectorRef);
|
|
42
96
|
ngOnInit(): void;
|
|
@@ -45,10 +99,20 @@ export declare class AgentPromptAdvancedSettingsDialogComponent extends BaseAngu
|
|
|
45
99
|
private setupValidationLogic;
|
|
46
100
|
private validateExecutionOrder;
|
|
47
101
|
private loadDropdownData;
|
|
102
|
+
IsFieldInvalid(fieldName: string): boolean;
|
|
103
|
+
/** @deprecated Use {@link IsFieldInvalid}. */
|
|
48
104
|
isFieldInvalid(fieldName: string): boolean;
|
|
105
|
+
GetFieldError(fieldName: string): string;
|
|
106
|
+
/** @deprecated Use {@link GetFieldError}. */
|
|
49
107
|
getFieldError(fieldName: string): string;
|
|
108
|
+
HasExecutionOrderError(): boolean;
|
|
109
|
+
/** @deprecated Use {@link HasExecutionOrderError}. */
|
|
50
110
|
hasExecutionOrderError(): boolean;
|
|
111
|
+
RequiresMessageCount(): boolean;
|
|
112
|
+
/** @deprecated Use {@link RequiresMessageCount}. */
|
|
51
113
|
requiresMessageCount(): boolean;
|
|
114
|
+
GetContextBehaviorDescription(value: string): string;
|
|
115
|
+
/** @deprecated Use {@link GetContextBehaviorDescription}. */
|
|
52
116
|
getContextBehaviorDescription(value: string): string;
|
|
53
117
|
cancel(): void;
|
|
54
118
|
save(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-prompt-advanced-settings-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAa,MAAM,MAAM,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAI/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;AACrE,MAAM,WAAW,mCAAmC;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,QAAQ,CAAC;IACjG,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;CAC1D;AAED;;;GAGG;AACH,qBAMa,0CAA2C,SAAQ,oBAAqB,YAAW,MAAM,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"agent-prompt-advanced-settings-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -176,20 +176,100 @@ function AgentPromptAdvancedSettingsDialogComponent_Conditional_13_Template(rf,
|
|
|
176
176
|
* Manages execution order, context behavior, and other advanced prompt configurations.
|
|
177
177
|
*/
|
|
178
178
|
export class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularComponent {
|
|
179
|
+
/** @deprecated Use {@link AgentPrompt}. */
|
|
180
|
+
get agentPrompt() {
|
|
181
|
+
return this.AgentPrompt;
|
|
182
|
+
}
|
|
183
|
+
/** @deprecated Use {@link AgentPrompt}. */
|
|
184
|
+
set agentPrompt(value) {
|
|
185
|
+
this.AgentPrompt = value;
|
|
186
|
+
}
|
|
187
|
+
/** @deprecated Use {@link AllAgentPrompts}. */
|
|
188
|
+
get allAgentPrompts() {
|
|
189
|
+
return this.AllAgentPrompts;
|
|
190
|
+
}
|
|
191
|
+
/** @deprecated Use {@link AllAgentPrompts}. */
|
|
192
|
+
set allAgentPrompts(value) {
|
|
193
|
+
this.AllAgentPrompts = value;
|
|
194
|
+
} // For execution order validation
|
|
195
|
+
/** @deprecated Use {@link Result}. */
|
|
196
|
+
get result() {
|
|
197
|
+
return this.Result;
|
|
198
|
+
}
|
|
199
|
+
/** @deprecated Use {@link Result}. */
|
|
200
|
+
set result(value) {
|
|
201
|
+
this.Result = value;
|
|
202
|
+
}
|
|
203
|
+
/** @deprecated Use {@link AdvancedForm}. */
|
|
204
|
+
get advancedForm() {
|
|
205
|
+
return this.AdvancedForm;
|
|
206
|
+
}
|
|
207
|
+
/** @deprecated Use {@link AdvancedForm}. */
|
|
208
|
+
set advancedForm(value) {
|
|
209
|
+
this.AdvancedForm = value;
|
|
210
|
+
}
|
|
211
|
+
/** @deprecated Use {@link IsLoading$}. */
|
|
212
|
+
get isLoading$() {
|
|
213
|
+
return this.IsLoading$;
|
|
214
|
+
}
|
|
215
|
+
/** @deprecated Use {@link IsLoading$}. */
|
|
216
|
+
set isLoading$(value) {
|
|
217
|
+
this.IsLoading$ = value;
|
|
218
|
+
}
|
|
219
|
+
/** @deprecated Use {@link IsSaving$}. */
|
|
220
|
+
get isSaving$() {
|
|
221
|
+
return this.IsSaving$;
|
|
222
|
+
}
|
|
223
|
+
/** @deprecated Use {@link IsSaving$}. */
|
|
224
|
+
set isSaving$(value) {
|
|
225
|
+
this.IsSaving$ = value;
|
|
226
|
+
}
|
|
227
|
+
/** @deprecated Use {@link Configurations$}. */
|
|
228
|
+
get configurations$() {
|
|
229
|
+
return this.Configurations$;
|
|
230
|
+
}
|
|
231
|
+
/** @deprecated Use {@link Configurations$}. */
|
|
232
|
+
set configurations$(value) {
|
|
233
|
+
this.Configurations$ = value;
|
|
234
|
+
}
|
|
235
|
+
/** @deprecated Use {@link ContextBehaviorOptions}. */
|
|
236
|
+
get contextBehaviorOptions() {
|
|
237
|
+
return this.ContextBehaviorOptions;
|
|
238
|
+
}
|
|
239
|
+
/** @deprecated Use {@link ContextBehaviorOptions}. */
|
|
240
|
+
set contextBehaviorOptions(value) {
|
|
241
|
+
this.ContextBehaviorOptions = value;
|
|
242
|
+
}
|
|
243
|
+
/** @deprecated Use {@link StatusOptions}. */
|
|
244
|
+
get statusOptions() {
|
|
245
|
+
return this.StatusOptions;
|
|
246
|
+
}
|
|
247
|
+
/** @deprecated Use {@link StatusOptions}. */
|
|
248
|
+
set statusOptions(value) {
|
|
249
|
+
this.StatusOptions = value;
|
|
250
|
+
}
|
|
251
|
+
/** @deprecated Use {@link ExecutionOrderError}. */
|
|
252
|
+
get executionOrderError() {
|
|
253
|
+
return this.ExecutionOrderError;
|
|
254
|
+
}
|
|
255
|
+
/** @deprecated Use {@link ExecutionOrderError}. */
|
|
256
|
+
set executionOrderError(value) {
|
|
257
|
+
this.ExecutionOrderError = value;
|
|
258
|
+
}
|
|
179
259
|
constructor(fb, cdr) {
|
|
180
260
|
super();
|
|
181
261
|
this.fb = fb;
|
|
182
262
|
this.cdr = cdr;
|
|
183
|
-
this.
|
|
263
|
+
this.AllAgentPrompts = [];
|
|
184
264
|
// Reactive state management
|
|
185
265
|
this.destroy$ = new Subject();
|
|
186
|
-
this.
|
|
187
|
-
this.
|
|
188
|
-
this.
|
|
266
|
+
this.Result = new Subject();
|
|
267
|
+
this.IsLoading$ = new BehaviorSubject(false);
|
|
268
|
+
this.IsSaving$ = new BehaviorSubject(false);
|
|
189
269
|
// Dropdown data
|
|
190
|
-
this.
|
|
270
|
+
this.Configurations$ = new BehaviorSubject([]);
|
|
191
271
|
// Available options
|
|
192
|
-
this.
|
|
272
|
+
this.ContextBehaviorOptions = [
|
|
193
273
|
{ text: 'Complete Context', value: 'Complete', description: 'Include entire conversation context' },
|
|
194
274
|
{ text: 'Smart Context', value: 'Smart', description: 'AI determines relevant context automatically' },
|
|
195
275
|
{ text: 'No Context', value: 'None', description: 'No conversation context included' },
|
|
@@ -197,14 +277,14 @@ export class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularCompo
|
|
|
197
277
|
{ text: 'Initial Messages', value: 'InitialMessages', description: 'Include only conversation start' },
|
|
198
278
|
{ text: 'Custom Context', value: 'Custom', description: 'Custom context filtering logic' }
|
|
199
279
|
];
|
|
200
|
-
this.
|
|
280
|
+
this.StatusOptions = [
|
|
201
281
|
{ text: 'Active', value: 'Active' },
|
|
202
282
|
{ text: 'Inactive', value: 'Inactive' },
|
|
203
283
|
{ text: 'Deprecated', value: 'Deprecated' },
|
|
204
284
|
{ text: 'Preview', value: 'Preview' }
|
|
205
285
|
];
|
|
206
286
|
// Execution order validation
|
|
207
|
-
this.
|
|
287
|
+
this.ExecutionOrderError = null;
|
|
208
288
|
this.DialogClose = new EventEmitter();
|
|
209
289
|
}
|
|
210
290
|
ngOnInit() {
|
|
@@ -216,20 +296,20 @@ export class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularCompo
|
|
|
216
296
|
this.destroy$.complete();
|
|
217
297
|
}
|
|
218
298
|
initializeForm() {
|
|
219
|
-
this.
|
|
220
|
-
executionOrder: [this.
|
|
221
|
-
purpose: [this.
|
|
222
|
-
configurationID: [this.
|
|
223
|
-
contextBehavior: [this.
|
|
224
|
-
contextMessageCount: [this.
|
|
225
|
-
status: [this.
|
|
299
|
+
this.AdvancedForm = this.fb.group({
|
|
300
|
+
executionOrder: [this.AgentPrompt.ExecutionOrder || 0, [Validators.required, Validators.min(0)]],
|
|
301
|
+
purpose: [this.AgentPrompt.Purpose],
|
|
302
|
+
configurationID: [this.AgentPrompt.ConfigurationID],
|
|
303
|
+
contextBehavior: [this.AgentPrompt.ContextBehavior || 'Complete', [Validators.required]],
|
|
304
|
+
contextMessageCount: [this.AgentPrompt.ContextMessageCount],
|
|
305
|
+
status: [this.AgentPrompt.Status || 'Active', [Validators.required]]
|
|
226
306
|
});
|
|
227
307
|
this.setupValidationLogic();
|
|
228
308
|
}
|
|
229
309
|
setupValidationLogic() {
|
|
230
310
|
// Context behavior validation
|
|
231
|
-
const contextBehaviorControl = this.
|
|
232
|
-
const contextMessageCountControl = this.
|
|
311
|
+
const contextBehaviorControl = this.AdvancedForm.get('contextBehavior');
|
|
312
|
+
const contextMessageCountControl = this.AdvancedForm.get('contextMessageCount');
|
|
233
313
|
contextBehaviorControl?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(behavior => {
|
|
234
314
|
if (behavior === 'RecentMessages' || behavior === 'InitialMessages') {
|
|
235
315
|
contextMessageCountControl?.setValidators([Validators.required, Validators.min(1)]);
|
|
@@ -243,29 +323,29 @@ export class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularCompo
|
|
|
243
323
|
contextMessageCountControl?.updateValueAndValidity();
|
|
244
324
|
});
|
|
245
325
|
// Execution order validation
|
|
246
|
-
const executionOrderControl = this.
|
|
326
|
+
const executionOrderControl = this.AdvancedForm.get('executionOrder');
|
|
247
327
|
executionOrderControl?.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(order => {
|
|
248
328
|
this.validateExecutionOrder(order);
|
|
249
329
|
});
|
|
250
330
|
}
|
|
251
331
|
validateExecutionOrder(order) {
|
|
252
332
|
if (order == null) {
|
|
253
|
-
this.
|
|
333
|
+
this.ExecutionOrderError = null;
|
|
254
334
|
return;
|
|
255
335
|
}
|
|
256
336
|
// Check for conflicts with other prompts (excluding current one)
|
|
257
|
-
const conflictingPrompt = this.
|
|
337
|
+
const conflictingPrompt = this.AllAgentPrompts.find(p => !UUIDsEqual(p.ID, this.AgentPrompt.ID) &&
|
|
258
338
|
p.ExecutionOrder === order);
|
|
259
339
|
if (conflictingPrompt) {
|
|
260
|
-
this.
|
|
340
|
+
this.ExecutionOrderError = `Execution order ${order} is already used by another prompt. Please choose a different order.`;
|
|
261
341
|
}
|
|
262
342
|
else {
|
|
263
|
-
this.
|
|
343
|
+
this.ExecutionOrderError = null;
|
|
264
344
|
}
|
|
265
345
|
this.cdr.detectChanges();
|
|
266
346
|
}
|
|
267
347
|
async loadDropdownData() {
|
|
268
|
-
this.
|
|
348
|
+
this.IsLoading$.next(true);
|
|
269
349
|
try {
|
|
270
350
|
const rv = RunView.FromMetadataProvider(this.ProviderToUse);
|
|
271
351
|
// Load AI Configurations
|
|
@@ -277,7 +357,7 @@ export class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularCompo
|
|
|
277
357
|
MaxRows: 1000
|
|
278
358
|
});
|
|
279
359
|
if (configurationsResult.Success) {
|
|
280
|
-
this.
|
|
360
|
+
this.Configurations$.next(configurationsResult.Results || []);
|
|
281
361
|
}
|
|
282
362
|
}
|
|
283
363
|
catch (error) {
|
|
@@ -285,16 +365,20 @@ export class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularCompo
|
|
|
285
365
|
MJNotificationService.Instance.CreateSimpleNotification('Error loading form data. Please try again.', 'error', 3000);
|
|
286
366
|
}
|
|
287
367
|
finally {
|
|
288
|
-
this.
|
|
368
|
+
this.IsLoading$.next(false);
|
|
289
369
|
}
|
|
290
370
|
}
|
|
291
371
|
// === Validation Helpers ===
|
|
292
|
-
|
|
293
|
-
const field = this.
|
|
372
|
+
IsFieldInvalid(fieldName) {
|
|
373
|
+
const field = this.AdvancedForm.get(fieldName);
|
|
294
374
|
return !!(field && field.invalid && (field.dirty || field.touched));
|
|
295
375
|
}
|
|
296
|
-
|
|
297
|
-
|
|
376
|
+
/** @deprecated Use {@link IsFieldInvalid}. */
|
|
377
|
+
isFieldInvalid(fieldName) {
|
|
378
|
+
return this.IsFieldInvalid(fieldName);
|
|
379
|
+
}
|
|
380
|
+
GetFieldError(fieldName) {
|
|
381
|
+
const field = this.AdvancedForm.get(fieldName);
|
|
298
382
|
if (field?.errors) {
|
|
299
383
|
if (field.errors['required'])
|
|
300
384
|
return `${fieldName} is required`;
|
|
@@ -303,40 +387,56 @@ export class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularCompo
|
|
|
303
387
|
}
|
|
304
388
|
return '';
|
|
305
389
|
}
|
|
390
|
+
/** @deprecated Use {@link GetFieldError}. */
|
|
391
|
+
getFieldError(fieldName) {
|
|
392
|
+
return this.GetFieldError(fieldName);
|
|
393
|
+
}
|
|
394
|
+
HasExecutionOrderError() {
|
|
395
|
+
return !!this.ExecutionOrderError;
|
|
396
|
+
}
|
|
397
|
+
/** @deprecated Use {@link HasExecutionOrderError}. */
|
|
306
398
|
hasExecutionOrderError() {
|
|
307
|
-
return
|
|
399
|
+
return this.HasExecutionOrderError();
|
|
308
400
|
}
|
|
309
401
|
// === Context Behavior Helpers ===
|
|
310
|
-
|
|
311
|
-
const behavior = this.
|
|
402
|
+
RequiresMessageCount() {
|
|
403
|
+
const behavior = this.AdvancedForm.get('contextBehavior')?.value;
|
|
312
404
|
return behavior === 'RecentMessages' || behavior === 'InitialMessages';
|
|
313
405
|
}
|
|
314
|
-
|
|
315
|
-
|
|
406
|
+
/** @deprecated Use {@link RequiresMessageCount}. */
|
|
407
|
+
requiresMessageCount() {
|
|
408
|
+
return this.RequiresMessageCount();
|
|
409
|
+
}
|
|
410
|
+
GetContextBehaviorDescription(value) {
|
|
411
|
+
const option = this.ContextBehaviorOptions.find(opt => opt.value === value);
|
|
316
412
|
return option?.description || '';
|
|
317
413
|
}
|
|
414
|
+
/** @deprecated Use {@link GetContextBehaviorDescription}. */
|
|
415
|
+
getContextBehaviorDescription(value) {
|
|
416
|
+
return this.GetContextBehaviorDescription(value);
|
|
417
|
+
}
|
|
318
418
|
// === Dialog Actions ===
|
|
319
419
|
cancel() {
|
|
320
|
-
this.
|
|
420
|
+
this.Result.next(null);
|
|
321
421
|
this.DialogClose.emit();
|
|
322
422
|
}
|
|
323
423
|
async save() {
|
|
324
|
-
if (this.
|
|
325
|
-
this.
|
|
424
|
+
if (this.AdvancedForm.invalid || this.HasExecutionOrderError()) {
|
|
425
|
+
this.AdvancedForm.markAllAsTouched();
|
|
326
426
|
MJNotificationService.Instance.CreateSimpleNotification('Please fix validation errors before saving', 'error', 3000);
|
|
327
427
|
return;
|
|
328
428
|
}
|
|
329
|
-
this.
|
|
429
|
+
this.IsSaving$.next(true);
|
|
330
430
|
try {
|
|
331
431
|
const formData = {
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
432
|
+
ExecutionOrder: this.AdvancedForm.get('executionOrder')?.value,
|
|
433
|
+
Purpose: this.AdvancedForm.get('purpose')?.value || null,
|
|
434
|
+
ConfigurationID: this.AdvancedForm.get('configurationID')?.value || null,
|
|
435
|
+
ContextBehavior: this.AdvancedForm.get('contextBehavior')?.value,
|
|
436
|
+
ContextMessageCount: this.AdvancedForm.get('contextMessageCount')?.value || null,
|
|
437
|
+
Status: this.AdvancedForm.get('status')?.value
|
|
338
438
|
};
|
|
339
|
-
this.
|
|
439
|
+
this.Result.next(formData);
|
|
340
440
|
this.DialogClose.emit();
|
|
341
441
|
}
|
|
342
442
|
catch (error) {
|
|
@@ -344,7 +444,7 @@ export class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularCompo
|
|
|
344
444
|
MJNotificationService.Instance.CreateSimpleNotification('Error saving settings. Please try again.', 'error', 3000);
|
|
345
445
|
}
|
|
346
446
|
finally {
|
|
347
|
-
this.
|
|
447
|
+
this.IsSaving$.next(false);
|
|
348
448
|
}
|
|
349
449
|
}
|
|
350
450
|
static { this.ɵfac = function AgentPromptAdvancedSettingsDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || AgentPromptAdvancedSettingsDialogComponent)(i0.ɵɵdirectiveInject(i1.FormBuilder), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
|