@memberjunction/ng-core-entity-forms 6.2.0-edge.0 → 6.2.0-edge.2
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-form-tabs.d.ts +1 -0
- package/dist/lib/custom/AIAgents/agent-form-tabs.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/agent-form-tabs.js +2 -0
- package/dist/lib/custom/AIAgents/agent-form-tabs.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 +1322 -783
- 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 +694 -252
- 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/pending-records.d.ts +11 -0
- package/dist/lib/custom/AIPrompts/pending-records.d.ts.map +1 -0
- package/dist/lib/custom/AIPrompts/pending-records.js +21 -0
- package/dist/lib/custom/AIPrompts/pending-records.js.map +1 -0
- 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 +217 -29
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +734 -285
- 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 +129 -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 +904 -90
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
- package/dist/lib/custom/Rubrics/evaluation-form.component.d.ts +37 -0
- package/dist/lib/custom/Rubrics/evaluation-form.component.d.ts.map +1 -0
- package/dist/lib/custom/Rubrics/evaluation-form.component.js +399 -0
- package/dist/lib/custom/Rubrics/evaluation-form.component.js.map +1 -0
- package/dist/lib/custom/Rubrics/record-forms.component.d.ts +69 -0
- package/dist/lib/custom/Rubrics/record-forms.component.d.ts.map +1 -0
- package/dist/lib/custom/Rubrics/record-forms.component.js +587 -0
- package/dist/lib/custom/Rubrics/record-forms.component.js.map +1 -0
- package/dist/lib/custom/Rubrics/rubric-form.component.d.ts +67 -0
- package/dist/lib/custom/Rubrics/rubric-form.component.d.ts.map +1 -0
- package/dist/lib/custom/Rubrics/rubric-form.component.js +534 -0
- package/dist/lib/custom/Rubrics/rubric-form.component.js.map +1 -0
- package/dist/lib/custom/Rubrics/rubric-form.panels.d.ts +25 -0
- package/dist/lib/custom/Rubrics/rubric-form.panels.d.ts.map +1 -0
- package/dist/lib/custom/Rubrics/rubric-form.panels.js +299 -0
- package/dist/lib/custom/Rubrics/rubric-form.panels.js.map +1 -0
- package/dist/lib/custom/Rubrics/scale-form.component.d.ts +31 -0
- package/dist/lib/custom/Rubrics/scale-form.component.d.ts.map +1 -0
- package/dist/lib/custom/Rubrics/scale-form.component.js +395 -0
- package/dist/lib/custom/Rubrics/scale-form.component.js.map +1 -0
- 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 +153 -19
- package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.js +434 -217
- 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 +223 -27
- package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.js +951 -530
- 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 +395 -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 +1719 -1007
- 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 +3 -3
- 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/custom-forms.module.d.ts +56 -48
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +60 -0
- 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/MJAIAgent/mjaiagent.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +61 -43
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.js +74 -0
- package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +37 -19
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.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 +78 -52
- 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/MJEntity/mjentity.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +156 -84
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.js +62 -0
- package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.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 +24 -6
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.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/MJRecordChange/mjrecordchange.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js +24 -16
- package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.js +107 -0
- package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.js +74 -0
- package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.js +135 -0
- package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.js +87 -0
- package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.js +107 -0
- package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.js +155 -0
- package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.js +62 -0
- package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.js +183 -0
- package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.js +120 -0
- package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.js +107 -0
- package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.js +103 -0
- package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.js +171 -0
- package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js +24 -16
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js +27 -25
- package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js +19 -11
- package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.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 +209 -119
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
- package/dist/lib/generated/generated-forms.module.d.ts +436 -422
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +44 -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 +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/panels/record-clone/entity-clone-config-editor.component.d.ts +116 -0
- package/dist/lib/panels/record-clone/entity-clone-config-editor.component.d.ts.map +1 -0
- package/dist/lib/panels/record-clone/entity-clone-config-editor.component.js +820 -0
- package/dist/lib/panels/record-clone/entity-clone-config-editor.component.js.map +1 -0
- package/dist/lib/shared/components/template-editor.component.d.ts +158 -15
- package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
- package/dist/lib/shared/components/template-editor.component.js +389 -127
- package/dist/lib/shared/components/template-editor.component.js.map +1 -1
- package/dist/public-api.d.ts +5 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +5 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +47 -42
|
@@ -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)); }; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-prompt-advanced-settings-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.ts","../../../../src/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Subject, BehaviorSubject, takeUntil } from 'rxjs';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport { MJAIAgentPromptEntity, MJAIConfigurationEntity } from '@memberjunction/core-entities';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nexport interface AgentPromptAdvancedSettingsFormData {\n executionOrder: number;\n purpose: string | null;\n configurationID: string | null;\n contextBehavior: 'Complete' | 'Smart' | 'None' | 'RecentMessages' | 'InitialMessages' | 'Custom';\n contextMessageCount: number | null;\n status: 'Active' | 'Inactive' | 'Deprecated' | 'Preview';\n}\n\n/**\n * Advanced Settings dialog for AI Agent Prompts.\n * Manages execution order, context behavior, and other advanced prompt configurations.\n */\n@Component({\n standalone: false,\n selector: 'mj-agent-prompt-advanced-settings-dialog',\n templateUrl: './agent-prompt-advanced-settings-dialog.component.html',\n styleUrls: ['./agent-prompt-advanced-settings-dialog.component.css']\n})\nexport class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n \n // Input properties set by service\n agentPrompt!: MJAIAgentPromptEntity;\n allAgentPrompts: MJAIAgentPromptEntity[] = []; // For execution order validation\n \n // Reactive state management\n private destroy$ = new Subject<void>();\n public result = new Subject<AgentPromptAdvancedSettingsFormData | null>();\n \n // Form and data\n advancedForm!: FormGroup;\n isLoading$ = new BehaviorSubject<boolean>(false);\n isSaving$ = new BehaviorSubject<boolean>(false);\n \n // Dropdown data\n configurations$ = new BehaviorSubject<MJAIConfigurationEntity[]>([]);\n \n // Available options\n contextBehaviorOptions = [\n { text: 'Complete Context', value: 'Complete', description: 'Include entire conversation context' },\n { text: 'Smart Context', value: 'Smart', description: 'AI determines relevant context automatically' },\n { text: 'No Context', value: 'None', description: 'No conversation context included' },\n { text: 'Recent Messages', value: 'RecentMessages', description: 'Include only recent messages' },\n { text: 'Initial Messages', value: 'InitialMessages', description: 'Include only conversation start' },\n { text: 'Custom Context', value: 'Custom', description: 'Custom context filtering logic' }\n ];\n\n statusOptions = [\n { text: 'Active', value: 'Active' },\n { text: 'Inactive', value: 'Inactive' },\n { text: 'Deprecated', value: 'Deprecated' },\n { text: 'Preview', value: 'Preview' }\n ];\n\n // Execution order validation\n executionOrderError: string | null = null;\n\n @Output() DialogClose = new EventEmitter<void>();\n\n constructor(\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef\n ) {\n super();}\n\n ngOnInit() {\n this.initializeForm();\n this.loadDropdownData();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private initializeForm() {\n this.advancedForm = this.fb.group({\n executionOrder: [this.agentPrompt.ExecutionOrder || 0, [Validators.required, Validators.min(0)]],\n purpose: [this.agentPrompt.Purpose],\n configurationID: [this.agentPrompt.ConfigurationID],\n contextBehavior: [this.agentPrompt.ContextBehavior || 'Complete', [Validators.required]],\n contextMessageCount: [this.agentPrompt.ContextMessageCount],\n status: [this.agentPrompt.Status || 'Active', [Validators.required]]\n });\n\n this.setupValidationLogic();\n }\n\n private setupValidationLogic() {\n // Context behavior validation\n const contextBehaviorControl = this.advancedForm.get('contextBehavior');\n const contextMessageCountControl = this.advancedForm.get('contextMessageCount');\n\n contextBehaviorControl?.valueChanges.pipe(\n takeUntil(this.destroy$)\n ).subscribe(behavior => {\n if (behavior === 'RecentMessages' || behavior === 'InitialMessages') {\n contextMessageCountControl?.setValidators([Validators.required, Validators.min(1)]);\n } else {\n contextMessageCountControl?.clearValidators();\n if (behavior !== 'Custom') {\n contextMessageCountControl?.setValue(null);\n }\n }\n contextMessageCountControl?.updateValueAndValidity();\n });\n\n // Execution order validation\n const executionOrderControl = this.advancedForm.get('executionOrder');\n executionOrderControl?.valueChanges.pipe(\n takeUntil(this.destroy$)\n ).subscribe(order => {\n this.validateExecutionOrder(order);\n });\n }\n\n private validateExecutionOrder(order: number) {\n if (order == null) {\n this.executionOrderError = null;\n return;\n }\n\n // Check for conflicts with other prompts (excluding current one)\n const conflictingPrompt = this.allAgentPrompts.find(p => \n !UUIDsEqual(p.ID, this.agentPrompt.ID) && \n p.ExecutionOrder === order\n );\n\n if (conflictingPrompt) {\n this.executionOrderError = `Execution order ${order} is already used by another prompt. Please choose a different order.`;\n } else {\n this.executionOrderError = null;\n }\n\n this.cdr.detectChanges();\n }\n\n private async loadDropdownData() {\n this.isLoading$.next(true);\n \n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n \n // Load AI Configurations\n const configurationsResult = await rv.RunView<MJAIConfigurationEntity>({\n EntityName: 'MJ: AI Configurations',\n ExtraFilter: \"Status = 'Active'\",\n OrderBy: 'Name',\n ResultType: 'entity_object',\n MaxRows: 1000\n });\n\n if (configurationsResult.Success) {\n this.configurations$.next(configurationsResult.Results || []);\n }\n\n } catch (error) {\n console.error('Error loading dropdown data:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error loading form data. Please try again.',\n 'error',\n 3000\n );\n } finally {\n this.isLoading$.next(false);\n }\n }\n\n // === Validation Helpers ===\n\n isFieldInvalid(fieldName: string): boolean {\n const field = this.advancedForm.get(fieldName);\n return !!(field && field.invalid && (field.dirty || field.touched));\n }\n\n getFieldError(fieldName: string): string {\n const field = this.advancedForm.get(fieldName);\n if (field?.errors) {\n if (field.errors['required']) return `${fieldName} is required`;\n if (field.errors['min']) return `${fieldName} must be greater than or equal to ${field.errors['min'].min}`;\n }\n return '';\n }\n\n hasExecutionOrderError(): boolean {\n return !!this.executionOrderError;\n }\n\n // === Context Behavior Helpers ===\n\n requiresMessageCount(): boolean {\n const behavior = this.advancedForm.get('contextBehavior')?.value;\n return behavior === 'RecentMessages' || behavior === 'InitialMessages';\n }\n\n getContextBehaviorDescription(value: string): string {\n const option = this.contextBehaviorOptions.find(opt => opt.value === value);\n return option?.description || '';\n }\n\n // === Dialog Actions ===\n\n cancel() {\n this.result.next(null);\n this.DialogClose.emit();\n }\n\n async save() {\n if (this.advancedForm.invalid || this.hasExecutionOrderError()) {\n this.advancedForm.markAllAsTouched();\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Please fix validation errors before saving',\n 'error',\n 3000\n );\n return;\n }\n\n this.isSaving$.next(true);\n \n try {\n const formData: AgentPromptAdvancedSettingsFormData = {\n executionOrder: this.advancedForm.get('executionOrder')?.value,\n purpose: this.advancedForm.get('purpose')?.value || null,\n configurationID: this.advancedForm.get('configurationID')?.value || null,\n contextBehavior: this.advancedForm.get('contextBehavior')?.value,\n contextMessageCount: this.advancedForm.get('contextMessageCount')?.value || null,\n status: this.advancedForm.get('status')?.value\n };\n\n this.result.next(formData);\n this.DialogClose.emit();\n \n } catch (error) {\n console.error('Error saving advanced settings:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error saving settings. Please try again.',\n 'error',\n 3000\n );\n } finally {\n this.isSaving$.next(false);\n }\n }\n}","<!-- Prompt Advanced Settings Dialog -->\n<div class=\"prompt-advanced-settings-dialog\">\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 prompt settings...</p>\n </div>\n } @else {\n \n <!-- Form Content -->\n <form [formGroup]=\"advancedForm\" class=\"advanced-form\">\n \n <!-- Execution Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-list-ol\"></i>\n Execution Configuration\n </h3>\n \n <div class=\"form-grid\">\n <!-- Execution Order -->\n <div class=\"form-field\">\n <label for=\"executionOrder\">Execution Order *</label>\n <mj-numeric-input\n formControlName=\"executionOrder\"\n [Min]=\"0\"\n Format=\"0\"\n [class.error-border]=\"hasExecutionOrderError()\"\n class=\"form-control\">\n </mj-numeric-input>\n @if (isFieldInvalid('executionOrder')) {\n <div class=\"field-error\">{{ getFieldError('executionOrder') }}</div>\n }\n @if (hasExecutionOrderError()) {\n <div class=\"field-error\">{{ executionOrderError }}</div>\n }\n <small class=\"field-hint\">Order in which this prompt executes (0 = first). Must be unique among agent prompts.</small>\n </div>\n \n <!-- Purpose -->\n <div class=\"form-field\">\n <label for=\"purpose\">Purpose</label>\n <input\n class=\"mj-input form-control\"\n formControlName=\"purpose\"\n placeholder=\"e.g., Initialize, ProcessData, Summarize\">\n <small class=\"field-hint\">Functional purpose of this prompt within the agent workflow</small>\n </div>\n \n <!-- Status -->\n <div class=\"form-field\">\n <label for=\"status\">Status *</label>\n <mj-dropdown\n formControlName=\"status\"\n [Data]=\"statusOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n class=\"form-control\">\n </mj-dropdown>\n @if (isFieldInvalid('status')) {\n <div class=\"field-error\">{{ getFieldError('status') }}</div>\n }\n <small class=\"field-hint\">Current status of this prompt mapping</small>\n </div>\n </div>\n </div>\n\n <!-- Context Behavior Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-comments\"></i>\n Context Behavior\n </h3>\n \n <div class=\"form-grid\">\n <!-- Context Behavior -->\n <div class=\"form-field full-width\">\n <label for=\"contextBehavior\">Context Behavior *</label>\n <mj-dropdown\n formControlName=\"contextBehavior\"\n [Data]=\"contextBehaviorOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n class=\"form-control\">\n </mj-dropdown>\n @if (isFieldInvalid('contextBehavior')) {\n <div class=\"field-error\">{{ getFieldError('contextBehavior') }}</div>\n }\n <small class=\"field-hint\">{{ getContextBehaviorDescription(advancedForm.get('contextBehavior')?.value) }}</small>\n </div>\n \n <!-- Context Message Count (conditional) -->\n @if (requiresMessageCount()) {\n <div class=\"form-field\">\n <label for=\"contextMessageCount\">Message Count *</label>\n <mj-numeric-input\n formControlName=\"contextMessageCount\"\n [Min]=\"1\"\n Format=\"0\"\n class=\"form-control\">\n </mj-numeric-input>\n @if (isFieldInvalid('contextMessageCount')) {\n <div class=\"field-error\">{{ getFieldError('contextMessageCount') }}</div>\n }\n <small class=\"field-hint\">Number of messages to include for {{ advancedForm.get('contextBehavior')?.value }}</small>\n </div>\n }\n </div>\n </div>\n\n <!-- AI Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-cog\"></i>\n AI Configuration Override\n </h3>\n \n <div class=\"form-grid\">\n <!-- Configuration Override -->\n <div class=\"form-field full-width\">\n <label for=\"configurationID\">AI Configuration</label>\n <mj-dropdown\n formControlName=\"configurationID\"\n [Data]=\"configurations$ | async\"\n TextField=\"Name\"\n ValueField=\"ID\"\n [ValuePrimitive]=\"true\"\n [DefaultItem]=\"{ Name: 'Use Agent Default', ID: null }\"\n class=\"form-control\">\n </mj-dropdown>\n <small class=\"field-hint\">Override the agent's default AI configuration for this specific prompt</small>\n </div>\n </div>\n </div>\n </form>\n }\n\n <!-- Dialog Footer -->\n <div class=\"dialog-footer\">\n <button mjButton\n variant=\"flat\"\n (click)=\"cancel()\"\n [disabled]=\"(isSaving$ | async) || false\">\n Cancel\n </button>\n\n <button mjButton\n variant=\"primary\"\n (click)=\"save()\"\n [disabled]=\"((isSaving$ | async) || false) || ((isLoading$ | async) || false) || hasExecutionOrderError()\">\n @if (isSaving$ | async) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Saving...\n } @else {\n <i class=\"fa-solid fa-save\"></i>\n Save Settings\n }\n </button>\n </div>\n</div>"]}
|
|
1
|
+
{"version":3,"file":"agent-prompt-advanced-settings-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.ts","../../../../src/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ChangeDetectorRef, Output, EventEmitter } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Subject, BehaviorSubject, takeUntil } from 'rxjs';\nimport { RunView, Metadata } from '@memberjunction/core';\nimport { MJAIAgentPromptEntity, MJAIConfigurationEntity } from '@memberjunction/core-entities';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nexport interface AgentPromptAdvancedSettingsFormData {\n ExecutionOrder: number;\n Purpose: string | null;\n ConfigurationID: string | null;\n ContextBehavior: 'Complete' | 'Smart' | 'None' | 'RecentMessages' | 'InitialMessages' | 'Custom';\n ContextMessageCount: number | null;\n Status: 'Active' | 'Inactive' | 'Deprecated' | 'Preview';\n}\n\n/**\n * Advanced Settings dialog for AI Agent Prompts.\n * Manages execution order, context behavior, and other advanced prompt configurations.\n */\n@Component({\n standalone: false,\n selector: 'mj-agent-prompt-advanced-settings-dialog',\n templateUrl: './agent-prompt-advanced-settings-dialog.component.html',\n styleUrls: ['./agent-prompt-advanced-settings-dialog.component.css']\n})\nexport class AgentPromptAdvancedSettingsDialogComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n \n // Input properties set by service\n AgentPrompt!: MJAIAgentPromptEntity;\n\n /** @deprecated Use {@link AgentPrompt}. */\n get agentPrompt(): MJAIAgentPromptEntity {\n return this.AgentPrompt;\n }\n /** @deprecated Use {@link AgentPrompt}. */\n set agentPrompt(value: MJAIAgentPromptEntity) {\n this.AgentPrompt = value;\n }\n AllAgentPrompts: MJAIAgentPromptEntity[] = [];\n\n /** @deprecated Use {@link AllAgentPrompts}. */\n get allAgentPrompts(): MJAIAgentPromptEntity[] {\n return this.AllAgentPrompts;\n }\n /** @deprecated Use {@link AllAgentPrompts}. */\n set allAgentPrompts(value: MJAIAgentPromptEntity[]) {\n this.AllAgentPrompts = value;\n } // For execution order validation\n \n // Reactive state management\n private destroy$ = new Subject<void>();\n public Result = new Subject<AgentPromptAdvancedSettingsFormData | null>();\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 // Form and data\n AdvancedForm!: FormGroup;\n\n /** @deprecated Use {@link AdvancedForm}. */\n get advancedForm(): FormGroup {\n return this.AdvancedForm;\n }\n /** @deprecated Use {@link AdvancedForm}. */\n set advancedForm(value: FormGroup) {\n this.AdvancedForm = 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 IsSaving$ = new BehaviorSubject<boolean>(false);\n\n /** @deprecated Use {@link IsSaving$}. */\n get isSaving$() {\n return this.IsSaving$;\n }\n /** @deprecated Use {@link IsSaving$}. */\n set isSaving$(value) {\n this.IsSaving$ = value;\n }\n \n // Dropdown data\n Configurations$ = new BehaviorSubject<MJAIConfigurationEntity[]>([]);\n\n /** @deprecated Use {@link Configurations$}. */\n get configurations$() {\n return this.Configurations$;\n }\n /** @deprecated Use {@link Configurations$}. */\n set configurations$(value) {\n this.Configurations$ = value;\n }\n \n // Available options\n ContextBehaviorOptions = [\n { text: 'Complete Context', value: 'Complete', description: 'Include entire conversation context' },\n { text: 'Smart Context', value: 'Smart', description: 'AI determines relevant context automatically' },\n { text: 'No Context', value: 'None', description: 'No conversation context included' },\n { text: 'Recent Messages', value: 'RecentMessages', description: 'Include only recent messages' },\n { text: 'Initial Messages', value: 'InitialMessages', description: 'Include only conversation start' },\n { text: 'Custom Context', value: 'Custom', description: 'Custom context filtering logic' }\n ];\n\n /** @deprecated Use {@link ContextBehaviorOptions}. */\n get contextBehaviorOptions() {\n return this.ContextBehaviorOptions;\n }\n /** @deprecated Use {@link ContextBehaviorOptions}. */\n set contextBehaviorOptions(value) {\n this.ContextBehaviorOptions = value;\n }\n\n StatusOptions = [\n { text: 'Active', value: 'Active' },\n { text: 'Inactive', value: 'Inactive' },\n { text: 'Deprecated', value: 'Deprecated' },\n { text: 'Preview', value: 'Preview' }\n ];\n\n /** @deprecated Use {@link StatusOptions}. */\n get statusOptions() {\n return this.StatusOptions;\n }\n /** @deprecated Use {@link StatusOptions}. */\n set statusOptions(value) {\n this.StatusOptions = value;\n }\n\n // Execution order validation\n ExecutionOrderError: string | null = null;\n\n /** @deprecated Use {@link ExecutionOrderError}. */\n get executionOrderError(): string | null {\n return this.ExecutionOrderError;\n }\n /** @deprecated Use {@link ExecutionOrderError}. */\n set executionOrderError(value: string | null) {\n this.ExecutionOrderError = value;\n }\n\n @Output() DialogClose = new EventEmitter<void>();\n\n constructor(\n private fb: FormBuilder,\n private cdr: ChangeDetectorRef\n ) {\n super();}\n\n ngOnInit() {\n this.initializeForm();\n this.loadDropdownData();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n private initializeForm() {\n this.AdvancedForm = this.fb.group({\n executionOrder: [this.AgentPrompt.ExecutionOrder || 0, [Validators.required, Validators.min(0)]],\n purpose: [this.AgentPrompt.Purpose],\n configurationID: [this.AgentPrompt.ConfigurationID],\n contextBehavior: [this.AgentPrompt.ContextBehavior || 'Complete', [Validators.required]],\n contextMessageCount: [this.AgentPrompt.ContextMessageCount],\n status: [this.AgentPrompt.Status || 'Active', [Validators.required]]\n });\n\n this.setupValidationLogic();\n }\n\n private setupValidationLogic() {\n // Context behavior validation\n const contextBehaviorControl = this.AdvancedForm.get('contextBehavior');\n const contextMessageCountControl = this.AdvancedForm.get('contextMessageCount');\n\n contextBehaviorControl?.valueChanges.pipe(\n takeUntil(this.destroy$)\n ).subscribe(behavior => {\n if (behavior === 'RecentMessages' || behavior === 'InitialMessages') {\n contextMessageCountControl?.setValidators([Validators.required, Validators.min(1)]);\n } else {\n contextMessageCountControl?.clearValidators();\n if (behavior !== 'Custom') {\n contextMessageCountControl?.setValue(null);\n }\n }\n contextMessageCountControl?.updateValueAndValidity();\n });\n\n // Execution order validation\n const executionOrderControl = this.AdvancedForm.get('executionOrder');\n executionOrderControl?.valueChanges.pipe(\n takeUntil(this.destroy$)\n ).subscribe(order => {\n this.validateExecutionOrder(order);\n });\n }\n\n private validateExecutionOrder(order: number) {\n if (order == null) {\n this.ExecutionOrderError = null;\n return;\n }\n\n // Check for conflicts with other prompts (excluding current one)\n const conflictingPrompt = this.AllAgentPrompts.find(p => \n !UUIDsEqual(p.ID, this.AgentPrompt.ID) && \n p.ExecutionOrder === order\n );\n\n if (conflictingPrompt) {\n this.ExecutionOrderError = `Execution order ${order} is already used by another prompt. Please choose a different order.`;\n } else {\n this.ExecutionOrderError = null;\n }\n\n this.cdr.detectChanges();\n }\n\n private async loadDropdownData() {\n this.IsLoading$.next(true);\n \n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n \n // Load AI Configurations\n const configurationsResult = await rv.RunView<MJAIConfigurationEntity>({\n EntityName: 'MJ: AI Configurations',\n ExtraFilter: \"Status = 'Active'\",\n OrderBy: 'Name',\n ResultType: 'entity_object',\n MaxRows: 1000\n });\n\n if (configurationsResult.Success) {\n this.Configurations$.next(configurationsResult.Results || []);\n }\n\n } catch (error) {\n console.error('Error loading dropdown data:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error loading form data. Please try again.',\n 'error',\n 3000\n );\n } finally {\n this.IsLoading$.next(false);\n }\n }\n\n // === Validation Helpers ===\n\n IsFieldInvalid(fieldName: string): boolean {\n const field = this.AdvancedForm.get(fieldName);\n return !!(field && field.invalid && (field.dirty || field.touched));\n }\n\n /** @deprecated Use {@link IsFieldInvalid}. */\n isFieldInvalid(fieldName: string): boolean {\n return this.IsFieldInvalid(fieldName);\n }\n\n GetFieldError(fieldName: string): string {\n const field = this.AdvancedForm.get(fieldName);\n if (field?.errors) {\n if (field.errors['required']) return `${fieldName} is required`;\n if (field.errors['min']) return `${fieldName} must be greater than or equal to ${field.errors['min'].min}`;\n }\n return '';\n }\n\n /** @deprecated Use {@link GetFieldError}. */\n getFieldError(fieldName: string): string {\n return this.GetFieldError(fieldName);\n }\n\n HasExecutionOrderError(): boolean {\n return !!this.ExecutionOrderError;\n }\n\n /** @deprecated Use {@link HasExecutionOrderError}. */\n hasExecutionOrderError(): boolean {\n return this.HasExecutionOrderError();\n }\n\n // === Context Behavior Helpers ===\n\n RequiresMessageCount(): boolean {\n const behavior = this.AdvancedForm.get('contextBehavior')?.value;\n return behavior === 'RecentMessages' || behavior === 'InitialMessages';\n }\n\n /** @deprecated Use {@link RequiresMessageCount}. */\n requiresMessageCount(): boolean {\n return this.RequiresMessageCount();\n }\n\n GetContextBehaviorDescription(value: string): string {\n const option = this.ContextBehaviorOptions.find(opt => opt.value === value);\n return option?.description || '';\n }\n\n /** @deprecated Use {@link GetContextBehaviorDescription}. */\n getContextBehaviorDescription(value: string): string {\n return this.GetContextBehaviorDescription(value);\n }\n\n // === Dialog Actions ===\n\n cancel() {\n this.Result.next(null);\n this.DialogClose.emit();\n }\n\n async save() {\n if (this.AdvancedForm.invalid || this.HasExecutionOrderError()) {\n this.AdvancedForm.markAllAsTouched();\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Please fix validation errors before saving',\n 'error',\n 3000\n );\n return;\n }\n\n this.IsSaving$.next(true);\n \n try {\n const formData: AgentPromptAdvancedSettingsFormData = {\n ExecutionOrder: this.AdvancedForm.get('executionOrder')?.value,\n Purpose: this.AdvancedForm.get('purpose')?.value || null,\n ConfigurationID: this.AdvancedForm.get('configurationID')?.value || null,\n ContextBehavior: this.AdvancedForm.get('contextBehavior')?.value,\n ContextMessageCount: this.AdvancedForm.get('contextMessageCount')?.value || null,\n Status: this.AdvancedForm.get('status')?.value\n };\n\n this.Result.next(formData);\n this.DialogClose.emit();\n \n } catch (error) {\n console.error('Error saving advanced settings:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error saving settings. Please try again.',\n 'error',\n 3000\n );\n } finally {\n this.IsSaving$.next(false);\n }\n }\n}","<!-- Prompt Advanced Settings Dialog -->\n<div class=\"prompt-advanced-settings-dialog\">\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 prompt settings...</p>\n </div>\n } @else {\n \n <!-- Form Content -->\n <form [formGroup]=\"advancedForm\" class=\"advanced-form\">\n \n <!-- Execution Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-list-ol\"></i>\n Execution Configuration\n </h3>\n \n <div class=\"form-grid\">\n <!-- Execution Order -->\n <div class=\"form-field\">\n <label for=\"executionOrder\">Execution Order *</label>\n <mj-numeric-input\n formControlName=\"executionOrder\"\n [Min]=\"0\"\n Format=\"0\"\n [class.error-border]=\"hasExecutionOrderError()\"\n class=\"form-control\">\n </mj-numeric-input>\n @if (isFieldInvalid('executionOrder')) {\n <div class=\"field-error\">{{ getFieldError('executionOrder') }}</div>\n }\n @if (hasExecutionOrderError()) {\n <div class=\"field-error\">{{ executionOrderError }}</div>\n }\n <small class=\"field-hint\">Order in which this prompt executes (0 = first). Must be unique among agent prompts.</small>\n </div>\n \n <!-- Purpose -->\n <div class=\"form-field\">\n <label for=\"purpose\">Purpose</label>\n <input\n class=\"mj-input form-control\"\n formControlName=\"purpose\"\n placeholder=\"e.g., Initialize, ProcessData, Summarize\">\n <small class=\"field-hint\">Functional purpose of this prompt within the agent workflow</small>\n </div>\n \n <!-- Status -->\n <div class=\"form-field\">\n <label for=\"status\">Status *</label>\n <mj-dropdown\n formControlName=\"status\"\n [Data]=\"statusOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n class=\"form-control\">\n </mj-dropdown>\n @if (isFieldInvalid('status')) {\n <div class=\"field-error\">{{ getFieldError('status') }}</div>\n }\n <small class=\"field-hint\">Current status of this prompt mapping</small>\n </div>\n </div>\n </div>\n\n <!-- Context Behavior Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-comments\"></i>\n Context Behavior\n </h3>\n \n <div class=\"form-grid\">\n <!-- Context Behavior -->\n <div class=\"form-field full-width\">\n <label for=\"contextBehavior\">Context Behavior *</label>\n <mj-dropdown\n formControlName=\"contextBehavior\"\n [Data]=\"contextBehaviorOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n class=\"form-control\">\n </mj-dropdown>\n @if (isFieldInvalid('contextBehavior')) {\n <div class=\"field-error\">{{ getFieldError('contextBehavior') }}</div>\n }\n <small class=\"field-hint\">{{ getContextBehaviorDescription(advancedForm.get('contextBehavior')?.value) }}</small>\n </div>\n \n <!-- Context Message Count (conditional) -->\n @if (requiresMessageCount()) {\n <div class=\"form-field\">\n <label for=\"contextMessageCount\">Message Count *</label>\n <mj-numeric-input\n formControlName=\"contextMessageCount\"\n [Min]=\"1\"\n Format=\"0\"\n class=\"form-control\">\n </mj-numeric-input>\n @if (isFieldInvalid('contextMessageCount')) {\n <div class=\"field-error\">{{ getFieldError('contextMessageCount') }}</div>\n }\n <small class=\"field-hint\">Number of messages to include for {{ advancedForm.get('contextBehavior')?.value }}</small>\n </div>\n }\n </div>\n </div>\n\n <!-- AI Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-cog\"></i>\n AI Configuration Override\n </h3>\n \n <div class=\"form-grid\">\n <!-- Configuration Override -->\n <div class=\"form-field full-width\">\n <label for=\"configurationID\">AI Configuration</label>\n <mj-dropdown\n formControlName=\"configurationID\"\n [Data]=\"configurations$ | async\"\n TextField=\"Name\"\n ValueField=\"ID\"\n [ValuePrimitive]=\"true\"\n [DefaultItem]=\"{ Name: 'Use Agent Default', ID: null }\"\n class=\"form-control\">\n </mj-dropdown>\n <small class=\"field-hint\">Override the agent's default AI configuration for this specific prompt</small>\n </div>\n </div>\n </div>\n </form>\n }\n\n <!-- Dialog Footer -->\n <div class=\"dialog-footer\">\n <button mjButton\n variant=\"flat\"\n (click)=\"cancel()\"\n [disabled]=\"(isSaving$ | async) || false\">\n Cancel\n </button>\n\n <button mjButton\n variant=\"primary\"\n (click)=\"save()\"\n [disabled]=\"((isSaving$ | async) || false) || ((isLoading$ | async) || false) || hasExecutionOrderError()\">\n @if (isSaving$ | async) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Saving...\n } @else {\n <i class=\"fa-solid fa-save\"></i>\n Save Settings\n }\n </button>\n </div>\n</div>"]}
|