@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
|
@@ -21,7 +21,7 @@ function CreateSubAgentDialogComponent_Conditional_5_Template(rf, ctx) { if (rf
|
|
|
21
21
|
} if (rf & 2) {
|
|
22
22
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
23
23
|
i0.ɵɵadvance(4);
|
|
24
|
-
i0.ɵɵtextInterpolate(ctx_r0.config.
|
|
24
|
+
i0.ɵɵtextInterpolate(ctx_r0.config.ParentAgentName);
|
|
25
25
|
} }
|
|
26
26
|
function CreateSubAgentDialogComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
27
27
|
i0.ɵɵelementStart(0, "div", 5);
|
|
@@ -279,6 +279,126 @@ function CreateSubAgentDialogComponent_Conditional_18_Template(rf, ctx) { if (rf
|
|
|
279
279
|
* This ensures atomicity with the parent form's save operation.
|
|
280
280
|
*/
|
|
281
281
|
export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
282
|
+
/** @deprecated Use {@link Result}. */
|
|
283
|
+
get result() {
|
|
284
|
+
return this.Result;
|
|
285
|
+
}
|
|
286
|
+
/** @deprecated Use {@link Result}. */
|
|
287
|
+
set result(value) {
|
|
288
|
+
this.Result = value;
|
|
289
|
+
}
|
|
290
|
+
/** @deprecated Use {@link SubAgentForm}. */
|
|
291
|
+
get subAgentForm() {
|
|
292
|
+
return this.SubAgentForm;
|
|
293
|
+
}
|
|
294
|
+
/** @deprecated Use {@link SubAgentForm}. */
|
|
295
|
+
set subAgentForm(value) {
|
|
296
|
+
this.SubAgentForm = value;
|
|
297
|
+
}
|
|
298
|
+
/** @deprecated Use {@link IsLoading$}. */
|
|
299
|
+
get isLoading$() {
|
|
300
|
+
return this.IsLoading$;
|
|
301
|
+
}
|
|
302
|
+
/** @deprecated Use {@link IsLoading$}. */
|
|
303
|
+
set isLoading$(value) {
|
|
304
|
+
this.IsLoading$ = value;
|
|
305
|
+
}
|
|
306
|
+
/** @deprecated Use {@link IsSaving$}. */
|
|
307
|
+
get isSaving$() {
|
|
308
|
+
return this.IsSaving$;
|
|
309
|
+
}
|
|
310
|
+
/** @deprecated Use {@link IsSaving$}. */
|
|
311
|
+
set isSaving$(value) {
|
|
312
|
+
this.IsSaving$ = value;
|
|
313
|
+
}
|
|
314
|
+
/** @deprecated Use {@link AvailableAgentTypes$}. */
|
|
315
|
+
get availableAgentTypes$() {
|
|
316
|
+
return this.AvailableAgentTypes$;
|
|
317
|
+
}
|
|
318
|
+
/** @deprecated Use {@link AvailableAgentTypes$}. */
|
|
319
|
+
set availableAgentTypes$(value) {
|
|
320
|
+
this.AvailableAgentTypes$ = value;
|
|
321
|
+
}
|
|
322
|
+
/** @deprecated Use {@link AvailablePrompts$}. */
|
|
323
|
+
get availablePrompts$() {
|
|
324
|
+
return this.AvailablePrompts$;
|
|
325
|
+
}
|
|
326
|
+
/** @deprecated Use {@link AvailablePrompts$}. */
|
|
327
|
+
set availablePrompts$(value) {
|
|
328
|
+
this.AvailablePrompts$ = value;
|
|
329
|
+
}
|
|
330
|
+
/** @deprecated Use {@link AvailableActions$}. */
|
|
331
|
+
get availableActions$() {
|
|
332
|
+
return this.AvailableActions$;
|
|
333
|
+
}
|
|
334
|
+
/** @deprecated Use {@link AvailableActions$}. */
|
|
335
|
+
set availableActions$(value) {
|
|
336
|
+
this.AvailableActions$ = value;
|
|
337
|
+
}
|
|
338
|
+
/** @deprecated Use {@link SubAgentEntity}. */
|
|
339
|
+
get subAgentEntity() {
|
|
340
|
+
return this.SubAgentEntity;
|
|
341
|
+
}
|
|
342
|
+
/** @deprecated Use {@link SubAgentEntity}. */
|
|
343
|
+
set subAgentEntity(value) {
|
|
344
|
+
this.SubAgentEntity = value;
|
|
345
|
+
}
|
|
346
|
+
/** @deprecated Use {@link LinkedPrompts}. */
|
|
347
|
+
get linkedPrompts() {
|
|
348
|
+
return this.LinkedPrompts;
|
|
349
|
+
}
|
|
350
|
+
/** @deprecated Use {@link LinkedPrompts}. */
|
|
351
|
+
set linkedPrompts(value) {
|
|
352
|
+
this.LinkedPrompts = value;
|
|
353
|
+
}
|
|
354
|
+
/** @deprecated Use {@link LinkedActions}. */
|
|
355
|
+
get linkedActions() {
|
|
356
|
+
return this.LinkedActions;
|
|
357
|
+
}
|
|
358
|
+
/** @deprecated Use {@link LinkedActions}. */
|
|
359
|
+
set linkedActions(value) {
|
|
360
|
+
this.LinkedActions = value;
|
|
361
|
+
}
|
|
362
|
+
/** @deprecated Use {@link AgentPromptLinks}. */
|
|
363
|
+
get agentPromptLinks() {
|
|
364
|
+
return this.AgentPromptLinks;
|
|
365
|
+
}
|
|
366
|
+
/** @deprecated Use {@link AgentPromptLinks}. */
|
|
367
|
+
set agentPromptLinks(value) {
|
|
368
|
+
this.AgentPromptLinks = value;
|
|
369
|
+
}
|
|
370
|
+
/** @deprecated Use {@link AgentActionLinks}. */
|
|
371
|
+
get agentActionLinks() {
|
|
372
|
+
return this.AgentActionLinks;
|
|
373
|
+
}
|
|
374
|
+
/** @deprecated Use {@link AgentActionLinks}. */
|
|
375
|
+
set agentActionLinks(value) {
|
|
376
|
+
this.AgentActionLinks = value;
|
|
377
|
+
}
|
|
378
|
+
/** @deprecated Use {@link NewlyCreatedPrompts}. */
|
|
379
|
+
get newlyCreatedPrompts() {
|
|
380
|
+
return this.NewlyCreatedPrompts;
|
|
381
|
+
}
|
|
382
|
+
/** @deprecated Use {@link NewlyCreatedPrompts}. */
|
|
383
|
+
set newlyCreatedPrompts(value) {
|
|
384
|
+
this.NewlyCreatedPrompts = value;
|
|
385
|
+
}
|
|
386
|
+
/** @deprecated Use {@link NewlyCreatedPromptTemplates}. */
|
|
387
|
+
get newlyCreatedPromptTemplates() {
|
|
388
|
+
return this.NewlyCreatedPromptTemplates;
|
|
389
|
+
}
|
|
390
|
+
/** @deprecated Use {@link NewlyCreatedPromptTemplates}. */
|
|
391
|
+
set newlyCreatedPromptTemplates(value) {
|
|
392
|
+
this.NewlyCreatedPromptTemplates = value;
|
|
393
|
+
}
|
|
394
|
+
/** @deprecated Use {@link NewlyCreatedTemplateContents}. */
|
|
395
|
+
get newlyCreatedTemplateContents() {
|
|
396
|
+
return this.NewlyCreatedTemplateContents;
|
|
397
|
+
}
|
|
398
|
+
/** @deprecated Use {@link NewlyCreatedTemplateContents}. */
|
|
399
|
+
set newlyCreatedTemplateContents(value) {
|
|
400
|
+
this.NewlyCreatedTemplateContents = value;
|
|
401
|
+
}
|
|
282
402
|
constructor(cdr, agentManagementService, viewContainerRef) {
|
|
283
403
|
super();
|
|
284
404
|
this.cdr = cdr;
|
|
@@ -288,26 +408,26 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
288
408
|
this.config = {};
|
|
289
409
|
// State management
|
|
290
410
|
this.destroy$ = new Subject();
|
|
291
|
-
this.
|
|
292
|
-
this.
|
|
293
|
-
this.
|
|
411
|
+
this.Result = new Subject();
|
|
412
|
+
this.IsLoading$ = new BehaviorSubject(false);
|
|
413
|
+
this.IsSaving$ = new BehaviorSubject(false);
|
|
294
414
|
// Data
|
|
295
|
-
this.
|
|
296
|
-
this.
|
|
297
|
-
this.
|
|
415
|
+
this.AvailableAgentTypes$ = new BehaviorSubject([]);
|
|
416
|
+
this.AvailablePrompts$ = new BehaviorSubject([]);
|
|
417
|
+
this.AvailableActions$ = new BehaviorSubject([]);
|
|
298
418
|
// Entities (not saved to database)
|
|
299
|
-
this.
|
|
300
|
-
this.
|
|
301
|
-
this.
|
|
419
|
+
this.SubAgentEntity = null;
|
|
420
|
+
this.LinkedPrompts = [];
|
|
421
|
+
this.LinkedActions = [];
|
|
302
422
|
// Link entities for database relationships
|
|
303
|
-
this.
|
|
304
|
-
this.
|
|
423
|
+
this.AgentPromptLinks = [];
|
|
424
|
+
this.AgentActionLinks = [];
|
|
305
425
|
// Storage for new entities created within dialog
|
|
306
|
-
this.
|
|
307
|
-
this.
|
|
308
|
-
this.
|
|
426
|
+
this.NewlyCreatedPrompts = [];
|
|
427
|
+
this.NewlyCreatedPromptTemplates = [];
|
|
428
|
+
this.NewlyCreatedTemplateContents = [];
|
|
309
429
|
this.DialogClose = new EventEmitter();
|
|
310
|
-
this.
|
|
430
|
+
this.SubAgentForm = this.createForm();
|
|
311
431
|
}
|
|
312
432
|
ngOnInit() {
|
|
313
433
|
this.loadInitialData();
|
|
@@ -319,9 +439,9 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
319
439
|
}
|
|
320
440
|
createForm() {
|
|
321
441
|
return new FormGroup({
|
|
322
|
-
name: new FormControl(this.config.
|
|
442
|
+
name: new FormControl(this.config.InitialName || '', [Validators.required]),
|
|
323
443
|
description: new FormControl(''),
|
|
324
|
-
typeID: new FormControl(this.config.
|
|
444
|
+
typeID: new FormControl(this.config.InitialTypeID || '', [Validators.required]),
|
|
325
445
|
status: new FormControl('Pending'),
|
|
326
446
|
executionMode: new FormControl('Sequential'),
|
|
327
447
|
purpose: new FormControl(''),
|
|
@@ -338,14 +458,14 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
338
458
|
}
|
|
339
459
|
setupFormWatching() {
|
|
340
460
|
// Watch for form changes to update entity
|
|
341
|
-
this.
|
|
461
|
+
this.SubAgentForm.valueChanges
|
|
342
462
|
.pipe(takeUntil(this.destroy$))
|
|
343
463
|
.subscribe(formValue => {
|
|
344
464
|
this.updateSubAgentEntity(formValue);
|
|
345
465
|
});
|
|
346
466
|
}
|
|
347
467
|
async loadInitialData() {
|
|
348
|
-
this.
|
|
468
|
+
this.IsLoading$.next(true);
|
|
349
469
|
try {
|
|
350
470
|
const rv = RunView.FromMetadataProvider(this.ProviderToUse);
|
|
351
471
|
// Load all data in a single batch for better performance
|
|
@@ -375,71 +495,71 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
375
495
|
]);
|
|
376
496
|
// Process agent types (index 0)
|
|
377
497
|
if (results[0].Success && results[0].Results) {
|
|
378
|
-
this.
|
|
498
|
+
this.AvailableAgentTypes$.next(results[0].Results);
|
|
379
499
|
// Set default type if not specified
|
|
380
|
-
if (!this.config.
|
|
381
|
-
this.
|
|
500
|
+
if (!this.config.InitialTypeID && results[0].Results.length > 0) {
|
|
501
|
+
this.SubAgentForm.patchValue({ typeID: results[0].Results[0].ID });
|
|
382
502
|
}
|
|
383
503
|
}
|
|
384
504
|
// Process available prompts (index 1)
|
|
385
505
|
if (results[1].Success && results[1].Results) {
|
|
386
|
-
this.
|
|
506
|
+
this.AvailablePrompts$.next(results[1].Results);
|
|
387
507
|
}
|
|
388
508
|
// Process available actions (index 2)
|
|
389
509
|
const actionsResult = results[2];
|
|
390
510
|
if (actionsResult.Success && actionsResult.Results) {
|
|
391
|
-
this.
|
|
511
|
+
this.AvailableActions$.next(actionsResult.Results);
|
|
392
512
|
}
|
|
393
513
|
// Create the sub-agent entity
|
|
394
514
|
const md = this.ProviderToUse;
|
|
395
|
-
this.
|
|
396
|
-
this.
|
|
515
|
+
this.SubAgentEntity = await md.GetEntityObject('MJ: AI Agents');
|
|
516
|
+
this.SubAgentEntity.NewRecord();
|
|
397
517
|
// Set default values
|
|
398
|
-
this.
|
|
399
|
-
this.
|
|
400
|
-
this.
|
|
401
|
-
this.
|
|
402
|
-
this.
|
|
403
|
-
this.
|
|
404
|
-
this.
|
|
405
|
-
this.
|
|
406
|
-
this.
|
|
407
|
-
this.
|
|
408
|
-
this.
|
|
518
|
+
this.SubAgentEntity.Status = 'Pending';
|
|
519
|
+
this.SubAgentEntity.ExecutionMode = 'Sequential';
|
|
520
|
+
this.SubAgentEntity.ExposeAsAction = false; // Database constraint for sub-agents
|
|
521
|
+
this.SubAgentEntity.ParentID = this.config.ParentAgentId;
|
|
522
|
+
this.SubAgentEntity.ModelSelectionMode = 'Agent Type';
|
|
523
|
+
this.SubAgentEntity.Set('Temperature', 0.1);
|
|
524
|
+
this.SubAgentEntity.Set('TopP', 0.1);
|
|
525
|
+
this.SubAgentEntity.Set('TopK', 40);
|
|
526
|
+
this.SubAgentEntity.Set('MaxTokensPerRun', 4000);
|
|
527
|
+
this.SubAgentEntity.Set('EnableCaching', false);
|
|
528
|
+
this.SubAgentEntity.Set('CacheTTLSeconds', 3600);
|
|
409
529
|
// Update form with initial values
|
|
410
|
-
this.updateSubAgentEntity(this.
|
|
530
|
+
this.updateSubAgentEntity(this.SubAgentForm.value);
|
|
411
531
|
}
|
|
412
532
|
catch (error) {
|
|
413
533
|
console.error('Error loading sub-agent creation data:', error);
|
|
414
534
|
MJNotificationService.Instance.CreateSimpleNotification('Error loading data for sub-agent creation', 'error', 3000);
|
|
415
535
|
}
|
|
416
536
|
finally {
|
|
417
|
-
this.
|
|
537
|
+
this.IsLoading$.next(false);
|
|
418
538
|
}
|
|
419
539
|
}
|
|
420
540
|
updateSubAgentEntity(formValue) {
|
|
421
|
-
if (!this.
|
|
541
|
+
if (!this.SubAgentEntity)
|
|
422
542
|
return;
|
|
423
543
|
// Update entity with form values
|
|
424
|
-
this.
|
|
425
|
-
this.
|
|
426
|
-
this.
|
|
427
|
-
this.
|
|
428
|
-
this.
|
|
429
|
-
this.
|
|
430
|
-
this.
|
|
544
|
+
this.SubAgentEntity.Name = formValue.name;
|
|
545
|
+
this.SubAgentEntity.Description = formValue.description || '';
|
|
546
|
+
this.SubAgentEntity.TypeID = formValue.typeID;
|
|
547
|
+
this.SubAgentEntity.Status = formValue.status;
|
|
548
|
+
this.SubAgentEntity.ExecutionMode = formValue.executionMode;
|
|
549
|
+
this.SubAgentEntity.Set('Purpose', formValue.purpose || '');
|
|
550
|
+
this.SubAgentEntity.Set('UserMessage', formValue.userMessage || '');
|
|
431
551
|
// Note: SystemMessage does not exist on MJAIAgentEntityExtended, removing this line
|
|
432
|
-
this.
|
|
433
|
-
this.
|
|
434
|
-
this.
|
|
435
|
-
this.
|
|
436
|
-
this.
|
|
437
|
-
this.
|
|
438
|
-
this.
|
|
552
|
+
this.SubAgentEntity.ModelSelectionMode = formValue.modelSelectionMode;
|
|
553
|
+
this.SubAgentEntity.Set('Temperature', formValue.temperature);
|
|
554
|
+
this.SubAgentEntity.Set('TopP', formValue.topP);
|
|
555
|
+
this.SubAgentEntity.Set('TopK', formValue.topK);
|
|
556
|
+
this.SubAgentEntity.Set('MaxTokensPerRun', formValue.maxTokens);
|
|
557
|
+
this.SubAgentEntity.Set('EnableCaching', formValue.enableCaching);
|
|
558
|
+
this.SubAgentEntity.Set('CacheTTLSeconds', formValue.cacheTTL);
|
|
439
559
|
}
|
|
440
|
-
async
|
|
560
|
+
async AddPrompt() {
|
|
441
561
|
// Get currently linked prompt IDs
|
|
442
|
-
const linkedPromptIds = this.
|
|
562
|
+
const linkedPromptIds = this.LinkedPrompts.map(p => p.ID);
|
|
443
563
|
try {
|
|
444
564
|
this.agentManagementService.openPromptSelectorDialog({
|
|
445
565
|
title: 'Add Prompts to Sub-Agent',
|
|
@@ -450,22 +570,22 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
450
570
|
viewContainerRef: this.viewContainerRef
|
|
451
571
|
}).subscribe({
|
|
452
572
|
next: async (result) => {
|
|
453
|
-
if (result && result.
|
|
573
|
+
if (result && result.SelectedPrompts.length > 0) {
|
|
454
574
|
// Filter out already linked prompts
|
|
455
|
-
const newPrompts = result.
|
|
575
|
+
const newPrompts = result.SelectedPrompts.filter(prompt => !linkedPromptIds.some(id => UUIDsEqual(id, prompt.ID)));
|
|
456
576
|
if (newPrompts.length > 0) {
|
|
457
577
|
// Add to UI
|
|
458
|
-
this.
|
|
578
|
+
this.LinkedPrompts.push(...newPrompts);
|
|
459
579
|
// Create agent prompt link entities
|
|
460
580
|
const md = this.ProviderToUse;
|
|
461
581
|
for (const prompt of newPrompts) {
|
|
462
582
|
const agentPrompt = await md.GetEntityObject('MJ: AI Agent Prompts');
|
|
463
583
|
agentPrompt.NewRecord();
|
|
464
|
-
agentPrompt.AgentID = this.
|
|
584
|
+
agentPrompt.AgentID = this.SubAgentEntity.ID;
|
|
465
585
|
agentPrompt.PromptID = prompt.ID;
|
|
466
586
|
agentPrompt.Status = 'Active';
|
|
467
|
-
agentPrompt.ExecutionOrder = this.
|
|
468
|
-
this.
|
|
587
|
+
agentPrompt.ExecutionOrder = this.AgentPromptLinks.length + 1;
|
|
588
|
+
this.AgentPromptLinks.push(agentPrompt);
|
|
469
589
|
}
|
|
470
590
|
// Trigger change detection
|
|
471
591
|
this.cdr.detectChanges();
|
|
@@ -474,7 +594,7 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
474
594
|
}
|
|
475
595
|
else if (result && result.createNew) {
|
|
476
596
|
// User wants to create a new prompt
|
|
477
|
-
await this.
|
|
597
|
+
await this.CreateNewPrompt();
|
|
478
598
|
}
|
|
479
599
|
},
|
|
480
600
|
error: (error) => {
|
|
@@ -488,10 +608,14 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
488
608
|
MJNotificationService.Instance.CreateSimpleNotification('Error adding prompts. Please try again.', 'error', 3000);
|
|
489
609
|
}
|
|
490
610
|
}
|
|
491
|
-
|
|
611
|
+
/** @deprecated Use {@link AddPrompt}. */
|
|
612
|
+
async addPrompt() {
|
|
613
|
+
return this.AddPrompt();
|
|
614
|
+
}
|
|
615
|
+
async CreateNewPrompt() {
|
|
492
616
|
try {
|
|
493
617
|
this.agentManagementService.openCreatePromptDialog({
|
|
494
|
-
title: `Create New Prompt for ${this.
|
|
618
|
+
title: `Create New Prompt for ${this.SubAgentEntity?.Name || 'Sub-Agent'}`,
|
|
495
619
|
initialName: '',
|
|
496
620
|
viewContainerRef: this.viewContainerRef
|
|
497
621
|
}).subscribe({
|
|
@@ -499,24 +623,24 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
499
623
|
if (result && result.prompt) {
|
|
500
624
|
try {
|
|
501
625
|
// Store the newly created entities
|
|
502
|
-
this.
|
|
503
|
-
if (result.
|
|
504
|
-
this.
|
|
626
|
+
this.NewlyCreatedPrompts.push(result.prompt);
|
|
627
|
+
if (result.Template) {
|
|
628
|
+
this.NewlyCreatedPromptTemplates.push(result.Template);
|
|
505
629
|
}
|
|
506
630
|
if (result.templateContents && result.templateContents.length > 0) {
|
|
507
|
-
this.
|
|
631
|
+
this.NewlyCreatedTemplateContents.push(...result.templateContents);
|
|
508
632
|
}
|
|
509
633
|
// Add to UI
|
|
510
|
-
this.
|
|
634
|
+
this.LinkedPrompts.push(result.prompt);
|
|
511
635
|
// Create agent prompt link entity
|
|
512
636
|
const md = this.ProviderToUse;
|
|
513
637
|
const agentPrompt = await md.GetEntityObject('MJ: AI Agent Prompts');
|
|
514
638
|
agentPrompt.NewRecord();
|
|
515
|
-
agentPrompt.AgentID = this.
|
|
639
|
+
agentPrompt.AgentID = this.SubAgentEntity.ID;
|
|
516
640
|
agentPrompt.PromptID = result.prompt.ID;
|
|
517
641
|
agentPrompt.Status = 'Active';
|
|
518
|
-
agentPrompt.ExecutionOrder = this.
|
|
519
|
-
this.
|
|
642
|
+
agentPrompt.ExecutionOrder = this.AgentPromptLinks.length + 1;
|
|
643
|
+
this.AgentPromptLinks.push(agentPrompt);
|
|
520
644
|
// Trigger change detection
|
|
521
645
|
this.cdr.detectChanges();
|
|
522
646
|
MJNotificationService.Instance.CreateSimpleNotification(`New prompt "${result.prompt.Name}" created and linked to sub-agent`, 'success', 3000);
|
|
@@ -538,13 +662,17 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
538
662
|
MJNotificationService.Instance.CreateSimpleNotification('Error creating new prompt. Please try again.', 'error', 3000);
|
|
539
663
|
}
|
|
540
664
|
}
|
|
541
|
-
|
|
665
|
+
/** @deprecated Use {@link CreateNewPrompt}. */
|
|
666
|
+
async createNewPrompt() {
|
|
667
|
+
return this.CreateNewPrompt();
|
|
668
|
+
}
|
|
669
|
+
async AddAction() {
|
|
542
670
|
// Get currently linked action IDs
|
|
543
|
-
const linkedActionIds = this.
|
|
671
|
+
const linkedActionIds = this.LinkedActions.map(a => a.ID);
|
|
544
672
|
try {
|
|
545
673
|
this.agentManagementService.openAddActionDialog({
|
|
546
|
-
agentId: this.
|
|
547
|
-
agentName: this.
|
|
674
|
+
agentId: this.SubAgentEntity?.ID || '',
|
|
675
|
+
agentName: this.SubAgentEntity?.Name || 'Sub-Agent',
|
|
548
676
|
existingActionIds: linkedActionIds,
|
|
549
677
|
viewContainerRef: this.viewContainerRef
|
|
550
678
|
}).subscribe({
|
|
@@ -554,16 +682,16 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
554
682
|
const newActions = selectedActions.filter(action => !linkedActionIds.some(id => UUIDsEqual(id, action.ID)));
|
|
555
683
|
if (newActions.length > 0) {
|
|
556
684
|
// Add to UI
|
|
557
|
-
this.
|
|
685
|
+
this.LinkedActions.push(...newActions);
|
|
558
686
|
// Create agent action link entities
|
|
559
687
|
const md = this.ProviderToUse;
|
|
560
688
|
for (const action of newActions) {
|
|
561
689
|
const agentAction = await md.GetEntityObject('MJ: AI Agent Actions');
|
|
562
690
|
agentAction.NewRecord();
|
|
563
|
-
agentAction.AgentID = this.
|
|
691
|
+
agentAction.AgentID = this.SubAgentEntity.ID;
|
|
564
692
|
agentAction.ActionID = action.ID;
|
|
565
693
|
agentAction.Status = 'Active';
|
|
566
|
-
this.
|
|
694
|
+
this.AgentActionLinks.push(agentAction);
|
|
567
695
|
}
|
|
568
696
|
// Trigger change detection
|
|
569
697
|
this.cdr.detectChanges();
|
|
@@ -582,58 +710,70 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
582
710
|
MJNotificationService.Instance.CreateSimpleNotification('Error adding actions. Please try again.', 'error', 3000);
|
|
583
711
|
}
|
|
584
712
|
}
|
|
585
|
-
|
|
713
|
+
/** @deprecated Use {@link AddAction}. */
|
|
714
|
+
async addAction() {
|
|
715
|
+
return this.AddAction();
|
|
716
|
+
}
|
|
717
|
+
RemovePrompt(prompt) {
|
|
586
718
|
// Remove from UI
|
|
587
|
-
const promptIndex = this.
|
|
719
|
+
const promptIndex = this.LinkedPrompts.findIndex(p => UUIDsEqual(p.ID, prompt.ID));
|
|
588
720
|
if (promptIndex >= 0) {
|
|
589
|
-
this.
|
|
721
|
+
this.LinkedPrompts.splice(promptIndex, 1);
|
|
590
722
|
}
|
|
591
723
|
// Remove from link entities
|
|
592
|
-
const linkIndex = this.
|
|
724
|
+
const linkIndex = this.AgentPromptLinks.findIndex(ap => UUIDsEqual(ap.PromptID, prompt.ID));
|
|
593
725
|
if (linkIndex >= 0) {
|
|
594
|
-
this.
|
|
726
|
+
this.AgentPromptLinks.splice(linkIndex, 1);
|
|
595
727
|
}
|
|
596
728
|
// Remove from newly created prompts if it was created in this dialog
|
|
597
|
-
const newPromptIndex = this.
|
|
729
|
+
const newPromptIndex = this.NewlyCreatedPrompts.findIndex(p => UUIDsEqual(p.ID, prompt.ID));
|
|
598
730
|
if (newPromptIndex >= 0) {
|
|
599
|
-
this.
|
|
731
|
+
this.NewlyCreatedPrompts.splice(newPromptIndex, 1);
|
|
600
732
|
}
|
|
601
733
|
this.cdr.detectChanges();
|
|
602
734
|
MJNotificationService.Instance.CreateSimpleNotification(`Prompt "${prompt.Name}" removed from sub-agent`, 'info', 3000);
|
|
603
735
|
}
|
|
604
|
-
|
|
736
|
+
/** @deprecated Use {@link RemovePrompt}. */
|
|
737
|
+
removePrompt(prompt) {
|
|
738
|
+
return this.RemovePrompt(prompt);
|
|
739
|
+
}
|
|
740
|
+
RemoveAction(action) {
|
|
605
741
|
// Remove from UI
|
|
606
|
-
const actionIndex = this.
|
|
742
|
+
const actionIndex = this.LinkedActions.findIndex(a => UUIDsEqual(a.ID, action.ID));
|
|
607
743
|
if (actionIndex >= 0) {
|
|
608
|
-
this.
|
|
744
|
+
this.LinkedActions.splice(actionIndex, 1);
|
|
609
745
|
}
|
|
610
746
|
// Remove from link entities
|
|
611
|
-
const linkIndex = this.
|
|
747
|
+
const linkIndex = this.AgentActionLinks.findIndex(aa => UUIDsEqual(aa.ActionID, action.ID));
|
|
612
748
|
if (linkIndex >= 0) {
|
|
613
|
-
this.
|
|
749
|
+
this.AgentActionLinks.splice(linkIndex, 1);
|
|
614
750
|
}
|
|
615
751
|
this.cdr.detectChanges();
|
|
616
752
|
MJNotificationService.Instance.CreateSimpleNotification(`Action "${action.Name}" removed from sub-agent`, 'info', 3000);
|
|
617
753
|
}
|
|
754
|
+
/** @deprecated Use {@link RemoveAction}. */
|
|
755
|
+
removeAction(action) {
|
|
756
|
+
return this.RemoveAction(action);
|
|
757
|
+
}
|
|
618
758
|
async save() {
|
|
619
|
-
if (!this.
|
|
759
|
+
if (!this.SubAgentForm.valid || !this.SubAgentEntity) {
|
|
620
760
|
MJNotificationService.Instance.CreateSimpleNotification('Please fill in all required fields', 'warning', 3000);
|
|
621
761
|
return;
|
|
622
762
|
}
|
|
623
|
-
this.
|
|
763
|
+
this.IsSaving$.next(true);
|
|
624
764
|
try {
|
|
625
765
|
// Update entity with final form values
|
|
626
|
-
this.updateSubAgentEntity(this.
|
|
766
|
+
this.updateSubAgentEntity(this.SubAgentForm.value);
|
|
627
767
|
// Return the created entities (not saved to database)
|
|
628
768
|
const result = {
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
769
|
+
SubAgent: this.SubAgentEntity,
|
|
770
|
+
AgentPrompts: this.AgentPromptLinks,
|
|
771
|
+
AgentActions: this.AgentActionLinks,
|
|
772
|
+
NewPrompts: this.NewlyCreatedPrompts.length > 0 ? this.NewlyCreatedPrompts : undefined,
|
|
773
|
+
NewPromptTemplates: this.NewlyCreatedPromptTemplates.length > 0 ? this.NewlyCreatedPromptTemplates : undefined,
|
|
774
|
+
NewTemplateContents: this.NewlyCreatedTemplateContents.length > 0 ? this.NewlyCreatedTemplateContents : undefined
|
|
635
775
|
};
|
|
636
|
-
this.
|
|
776
|
+
this.Result.next(result);
|
|
637
777
|
this.DialogClose.emit();
|
|
638
778
|
}
|
|
639
779
|
catch (error) {
|
|
@@ -641,28 +781,48 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
641
781
|
MJNotificationService.Instance.CreateSimpleNotification('Error preparing sub-agent for creation', 'error', 3000);
|
|
642
782
|
}
|
|
643
783
|
finally {
|
|
644
|
-
this.
|
|
784
|
+
this.IsSaving$.next(false);
|
|
645
785
|
}
|
|
646
786
|
}
|
|
647
787
|
cancel() {
|
|
648
|
-
this.
|
|
788
|
+
this.Result.next(null);
|
|
649
789
|
this.DialogClose.emit();
|
|
650
790
|
}
|
|
651
791
|
// Helper methods for UI
|
|
792
|
+
GetAgentIcon() {
|
|
793
|
+
return this.SubAgentEntity?.IconClass || 'fa-solid fa-robot';
|
|
794
|
+
}
|
|
795
|
+
/** @deprecated Use {@link GetAgentIcon}. */
|
|
652
796
|
getAgentIcon() {
|
|
653
|
-
return this.
|
|
797
|
+
return this.GetAgentIcon();
|
|
654
798
|
}
|
|
655
|
-
|
|
799
|
+
GetPromptIcon() {
|
|
656
800
|
return 'fa-solid fa-comments';
|
|
657
801
|
}
|
|
658
|
-
|
|
802
|
+
/** @deprecated Use {@link GetPromptIcon}. */
|
|
803
|
+
getPromptIcon() {
|
|
804
|
+
return this.GetPromptIcon();
|
|
805
|
+
}
|
|
806
|
+
GetActionIcon() {
|
|
659
807
|
return 'fa-solid fa-bolt';
|
|
660
808
|
}
|
|
809
|
+
/** @deprecated Use {@link GetActionIcon}. */
|
|
810
|
+
getActionIcon() {
|
|
811
|
+
return this.GetActionIcon();
|
|
812
|
+
}
|
|
813
|
+
get LinkedPromptCount() {
|
|
814
|
+
return this.LinkedPrompts.length;
|
|
815
|
+
}
|
|
816
|
+
/** @deprecated Use {@link LinkedPromptCount}. */
|
|
661
817
|
get linkedPromptCount() {
|
|
662
|
-
return this.
|
|
818
|
+
return this.LinkedPromptCount;
|
|
819
|
+
}
|
|
820
|
+
get LinkedActionCount() {
|
|
821
|
+
return this.LinkedActions.length;
|
|
663
822
|
}
|
|
823
|
+
/** @deprecated Use {@link LinkedActionCount}. */
|
|
664
824
|
get linkedActionCount() {
|
|
665
|
-
return this.
|
|
825
|
+
return this.LinkedActionCount;
|
|
666
826
|
}
|
|
667
827
|
static { this.ɵfac = function CreateSubAgentDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CreateSubAgentDialogComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.AIAgentManagementService), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); }; }
|
|
668
828
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CreateSubAgentDialogComponent, selectors: [["mj-create-sub-agent-dialog"]], outputs: { DialogClose: "DialogClose" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 19, vars: 14, consts: [[1, "sub-agent-dialog"], [1, "sub-agent-header"], [1, "dialog-title"], [1, "fa-solid", "fa-robot"], [1, "parent-info"], [1, "loading-container"], [1, "sub-agent-form", 3, "formGroup"], [1, "dialog-actions"], ["type", "button", 1, "btn", "btn-secondary", 3, "click", "disabled"], [1, "fa-solid", "fa-times"], ["type", "button", 1, "btn", "btn-primary", 3, "click", "disabled"], [1, "fa-solid", "fa-link"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "form-section"], [1, "section-title"], [1, "fa-solid", "fa-info-circle"], [1, "form-row"], [1, "form-group"], ["for", "name"], ["type", "text", "id", "name", "formControlName", "name", "placeholder", "Enter sub-agent name", 1, "form-control"], ["for", "typeID"], ["id", "typeID", "formControlName", "typeID", 1, "form-control"], ["value", ""], [3, "value"], ["for", "description"], ["id", "description", "formControlName", "description", "rows", "2", "placeholder", "Enter description", 1, "form-control"], ["for", "status"], ["id", "status", "formControlName", "status", 1, "form-control"], ["value", "Pending"], ["value", "Active"], ["value", "Disabled"], ["for", "executionMode"], ["id", "executionMode", "formControlName", "executionMode", 1, "form-control"], ["value", "Sequential"], ["value", "Parallel"], [1, "fa-solid", "fa-bullseye"], ["for", "purpose"], ["type", "text", "id", "purpose", "formControlName", "purpose", "placeholder", "Enter the purpose of this sub-agent", 1, "form-control"], ["for", "userMessage"], ["id", "userMessage", "formControlName", "userMessage", "rows", "3", "placeholder", "Enter user message", 1, "form-control"], [1, "fa-solid", "fa-cogs"], ["for", "modelSelectionMode"], ["id", "modelSelectionMode", "formControlName", "modelSelectionMode", 1, "form-control"], ["value", "Agent Type"], ["value", "Agent"], ["for", "temperature"], ["type", "number", "id", "temperature", "formControlName", "temperature", "min", "0", "max", "2", "step", "0.1", 1, "form-control"], ["for", "topP"], ["type", "number", "id", "topP", "formControlName", "topP", "min", "0", "max", "1", "step", "0.1", 1, "form-control"], ["for", "topK"], ["type", "number", "id", "topK", "formControlName", "topK", "min", "1", "max", "100", "step", "1", 1, "form-control"], ["for", "maxTokens"], ["type", "number", "id", "maxTokens", "formControlName", "maxTokens", "min", "1", "max", "32000", "step", "1", 1, "form-control"], ["for", "enableCaching"], ["type", "checkbox", "id", "enableCaching", "formControlName", "enableCaching"], ["for", "cacheTTL"], ["type", "number", "id", "cacheTTL", "formControlName", "cacheTTL", "min", "60", "max", "86400", "step", "60", 1, "form-control"], [1, "fa-solid", "fa-comments"], [1, "section-actions"], ["type", "button", 1, "btn", "btn-primary", "btn-sm", 3, "click"], [1, "fa-solid", "fa-plus"], ["type", "button", 1, "btn", "btn-success", "btn-sm", 3, "click"], [1, "linked-items"], ["Icon", "fa-solid fa-comments", "Title", "No prompts added yet. Click the buttons above to add prompts.", "Size", "compact"], [1, "fa-solid", "fa-bolt"], ["Icon", "fa-solid fa-bolt", "Title", "No actions added yet. Click the button above to add actions.", "Size", "compact"], [1, "linked-item", "prompt-item"], [1, "item-info"], [1, "item-name"], [1, "item-description"], ["type", "button", 1, "btn", "btn-danger", "btn-xs", 3, "click"], [1, "linked-item", "action-item"], [1, "fa-solid", "fa-save"]], template: function CreateSubAgentDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -692,7 +852,7 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
692
852
|
i0.ɵɵadvance(4);
|
|
693
853
|
i0.ɵɵtextInterpolate1(" ", ctx.config.title || "Create New Sub-Agent", " ");
|
|
694
854
|
i0.ɵɵadvance();
|
|
695
|
-
i0.ɵɵconditional(ctx.config.
|
|
855
|
+
i0.ɵɵconditional(ctx.config.ParentAgentName ? 5 : -1);
|
|
696
856
|
i0.ɵɵadvance();
|
|
697
857
|
i0.ɵɵconditional(i0.ɵɵpipeBind1(7, 6, ctx.isLoading$) ? 6 : 8);
|
|
698
858
|
i0.ɵɵadvance(4);
|
|
@@ -705,7 +865,7 @@ export class CreateSubAgentDialogComponent extends BaseAngularComponent {
|
|
|
705
865
|
}
|
|
706
866
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CreateSubAgentDialogComponent, [{
|
|
707
867
|
type: Component,
|
|
708
|
-
args: [{ standalone: false, selector: 'mj-create-sub-agent-dialog', template: "<div class=\"sub-agent-dialog\">\n <div class=\"sub-agent-header\">\n <h2 class=\"dialog-title\">\n <i class=\"fa-solid fa-robot\"></i>\n {{ config.title || 'Create New Sub-Agent' }}\n </h2>\n @if (config.parentAgentName) {\n <p class=\"parent-info\">\n <i class=\"fa-solid fa-link\"></i>\n Sub-agent of: <strong>{{ config.parentAgentName }}</strong>\n </p>\n }\n </div>\n\n @if (isLoading$ | async) {\n <div class=\"loading-container\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading sub-agent creation form...</span>\n </div>\n } @else {\n <form [formGroup]=\"subAgentForm\" class=\"sub-agent-form\">\n <!-- Basic Information Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Basic Information\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"name\">Name *</label>\n <input type=\"text\" id=\"name\" formControlName=\"name\" class=\"form-control\" placeholder=\"Enter sub-agent name\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"typeID\">Type *</label>\n <select id=\"typeID\" formControlName=\"typeID\" class=\"form-control\">\n <option value=\"\">Select agent type...</option>\n @for (type of availableAgentTypes$ | async; track type.ID) {\n <option [value]=\"type.ID\">{{ type.Name }}</option>\n }\n </select>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"description\">Description</label>\n <textarea id=\"description\" formControlName=\"description\" class=\"form-control\" rows=\"2\" placeholder=\"Enter description\"></textarea>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"status\">Status</label>\n <select id=\"status\" formControlName=\"status\" class=\"form-control\">\n <option value=\"Pending\">Pending</option>\n <option value=\"Active\">Active</option>\n <option value=\"Disabled\">Disabled</option>\n </select>\n </div>\n \n <div class=\"form-group\">\n <label for=\"executionMode\">Execution Mode</label>\n <select id=\"executionMode\" formControlName=\"executionMode\" class=\"form-control\">\n <option value=\"Sequential\">Sequential</option>\n <option value=\"Parallel\">Parallel</option>\n </select>\n </div>\n </div>\n </div>\n\n <!-- Purpose & Messages Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-bullseye\"></i>\n Purpose & Messages\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"purpose\">Purpose</label>\n <input type=\"text\" id=\"purpose\" formControlName=\"purpose\" class=\"form-control\" placeholder=\"Enter the purpose of this sub-agent\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"userMessage\">User Message</label>\n <textarea id=\"userMessage\" formControlName=\"userMessage\" class=\"form-control\" rows=\"3\" placeholder=\"Enter user message\"></textarea>\n </div>\n </div>\n\n <!-- System Message field removed - property does not exist on MJAIAgentEntity -->\n </div>\n\n <!-- Model Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-cogs\"></i>\n Model Configuration\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"modelSelectionMode\">Model Selection Mode</label>\n <select id=\"modelSelectionMode\" formControlName=\"modelSelectionMode\" class=\"form-control\">\n <option value=\"Agent Type\">Agent Type</option>\n <option value=\"Agent\">Agent</option>\n </select>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"temperature\">Temperature</label>\n <input type=\"number\" id=\"temperature\" formControlName=\"temperature\" class=\"form-control\" min=\"0\" max=\"2\" step=\"0.1\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"topP\">Top P</label>\n <input type=\"number\" id=\"topP\" formControlName=\"topP\" class=\"form-control\" min=\"0\" max=\"1\" step=\"0.1\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"topK\">Top K</label>\n <input type=\"number\" id=\"topK\" formControlName=\"topK\" class=\"form-control\" min=\"1\" max=\"100\" step=\"1\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"maxTokens\">Max Tokens</label>\n <input type=\"number\" id=\"maxTokens\" formControlName=\"maxTokens\" class=\"form-control\" min=\"1\" max=\"32000\" step=\"1\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"enableCaching\">\n <input type=\"checkbox\" id=\"enableCaching\" formControlName=\"enableCaching\">\n Enable Caching\n </label>\n </div>\n \n <div class=\"form-group\">\n <label for=\"cacheTTL\">Cache TTL (seconds)</label>\n <input type=\"number\" id=\"cacheTTL\" formControlName=\"cacheTTL\" class=\"form-control\" min=\"60\" max=\"86400\" step=\"60\">\n </div>\n </div>\n </div>\n\n <!-- Prompts Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-comments\"></i>\n Prompts ({{ linkedPromptCount }})\n </h3>\n \n <div class=\"section-actions\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"addPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Existing Prompt\n </button>\n <button type=\"button\" class=\"btn btn-success btn-sm\" (click)=\"createNewPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create New Prompt\n </button>\n </div>\n\n @if (linkedPrompts.length > 0) {\n <div class=\"linked-items\">\n @for (prompt of linkedPrompts; track prompt.ID) {\n <div class=\"linked-item prompt-item\">\n <div class=\"item-info\">\n <i class=\"fa-solid fa-comments\"></i>\n <span class=\"item-name\">{{ prompt.Name }}</span>\n @if (prompt.Description) {\n <span class=\"item-description\">{{ prompt.Description }}</span>\n }\n </div>\n <button type=\"button\" class=\"btn btn-danger btn-xs\" (click)=\"removePrompt(prompt)\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n } @else {\n <mj-empty-state\n Icon=\"fa-solid fa-comments\"\n Title=\"No prompts added yet. Click the buttons above to add prompts.\"\n Size=\"compact\" />\n }\n </div>\n\n <!-- Actions Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-bolt\"></i>\n Actions ({{ linkedActionCount }})\n </h3>\n \n <div class=\"section-actions\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"addAction()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Action\n </button>\n </div>\n\n @if (linkedActions.length > 0) {\n <div class=\"linked-items\">\n @for (action of linkedActions; track action.ID) {\n <div class=\"linked-item action-item\">\n <div class=\"item-info\">\n <i class=\"fa-solid fa-bolt\"></i>\n <span class=\"item-name\">{{ action.Name }}</span>\n @if (action.Description) {\n <span class=\"item-description\">{{ action.Description }}</span>\n }\n </div>\n <button type=\"button\" class=\"btn btn-danger btn-xs\" (click)=\"removeAction(action)\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n } @else {\n <mj-empty-state\n Icon=\"fa-solid fa-bolt\"\n Title=\"No actions added yet. Click the button above to add actions.\"\n Size=\"compact\" />\n }\n </div>\n </form>\n }\n\n <!-- Dialog Actions -->\n <div class=\"dialog-actions\">\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\" [disabled]=\"isSaving$ | async\">\n <i class=\"fa-solid fa-times\"></i>\n Cancel\n </button>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"save()\" [disabled]=\"(isSaving$ | async) || !subAgentForm.valid\">\n @if (isSaving$ | async) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Creating...\n } @else {\n <i class=\"fa-solid fa-save\"></i>\n Create Sub-Agent\n }\n </button>\n </div>\n</div>", styles: [".sub-agent-dialog {\n padding: 16px;\n max-width: 100%;\n max-height: 90vh;\n overflow-y: auto;\n}\n\n.sub-agent-header {\n margin-bottom: 20px;\n border-bottom: 1px solid var(--mj-border-default);\n padding-bottom: 15px;\n}\n\n.dialog-title {\n margin: 0;\n font-size: 1.4em;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.dialog-title i {\n color: var(--mj-brand-primary);\n}\n\n.parent-info {\n margin: 8px 0 0 0;\n color: var(--mj-text-secondary);\n font-size: 0.9em;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.parent-info i {\n color: var(--mj-status-success);\n}\n\n.loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.loading-container i {\n font-size: 1.2em;\n color: var(--mj-brand-primary);\n}\n\n.sub-agent-form {\n display: flex;\n flex-direction: column;\n gap: 25px;\n}\n\n.form-section {\n border: 1px solid var(--mj-bg-surface-sunken);\n border-radius: 8px;\n padding: 20px;\n background-color: var(--mj-bg-surface-card);\n}\n\n.section-title {\n margin: 0 0 15px 0;\n font-size: 1.1em;\n font-weight: 600;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.section-title i {\n color: var(--mj-brand-primary);\n}\n\n.form-row {\n display: flex;\n gap: 15px;\n margin-bottom: 15px;\n}\n\n.form-row:last-child {\n margin-bottom: 0;\n}\n\n.form-group {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.form-group label {\n font-weight: 500;\n color: var(--mj-text-secondary);\n margin-bottom: 5px;\n font-size: 0.9em;\n}\n\n.form-group label[for=\"enableCaching\"] {\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n\n.form-group label[for=\"enableCaching\"] input {\n margin: 0;\n width: auto;\n}\n\n.form-control {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 0.9em;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.form-control:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--mj-brand-primary) 25%, transparent);\n}\n\n.form-control[readonly] {\n background-color: var(--mj-bg-surface-sunken);\n opacity: 1;\n}\n\n.section-actions {\n display: flex;\n gap: 10px;\n margin-bottom: 15px;\n}\n\n.linked-items {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.linked-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px;\n background-color: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n.linked-item:hover {\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.item-info {\n display: flex;\n align-items: center;\n gap: 10px;\n flex: 1;\n}\n\n.item-info i {\n color: var(--mj-brand-primary);\n width: 16px;\n text-align: center;\n}\n\n.item-name {\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n.item-description {\n color: var(--mj-text-secondary);\n font-size: 0.85em;\n margin-left: 10px;\n}\n\n.prompt-item .item-info i {\n color: var(--mj-status-success);\n}\n\n.action-item .item-info i {\n color: var(--mj-status-warning);\n}\n\n.dialog-actions {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n margin-top: 30px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.btn {\n padding: 8px 16px;\n border: none;\n border-radius: 4px;\n font-size: 0.9em;\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.15s ease-in-out;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.btn-primary {\n background-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.btn-primary:hover:not(:disabled) {\n background-color: var(--mj-brand-primary-hover);\n}\n\n.btn-secondary {\n background-color: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.btn-secondary:hover:not(:disabled) {\n background-color: var(--mj-text-secondary);\n}\n\n.btn-success {\n background-color: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.btn-success:hover:not(:disabled) {\n background-color: var(--mj-status-success);\n}\n\n.btn-danger {\n background-color: var(--mj-status-error);\n color: var(--mj-text-inverse);\n}\n\n.btn-danger:hover:not(:disabled) {\n background-color: var(--mj-status-error);\n}\n\n.btn-sm {\n padding: 6px 12px;\n font-size: 0.8em;\n}\n\n.btn-xs {\n padding: 4px 8px;\n font-size: 0.75em;\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .sub-agent-dialog {\n padding: 15px;\n max-width: 95vw;\n }\n\n .form-row {\n flex-direction: column;\n gap: 10px;\n }\n\n .section-actions {\n flex-direction: column;\n }\n\n .dialog-actions {\n flex-direction: column;\n }\n\n .linked-item {\n flex-direction: column;\n align-items: flex-start;\n gap: 10px;\n }\n}\n\n/* Validation styles */\n.form-control.ng-invalid.ng-touched {\n border-color: var(--mj-status-error);\n}\n\n.form-control.ng-valid.ng-touched {\n border-color: var(--mj-status-success);\n}\n\n/* Custom scrollbar for dialog */\n.sub-agent-dialog::-webkit-scrollbar {\n width: 8px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 4px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}\n\n/* Ensure dialog appears above banner and other elements */\n:host ::ng-deep .k-dialog,\n:host ::ng-deep .k-window {\n z-index: 10000 !important;\n}\n\n:host ::ng-deep .k-overlay {\n z-index: 9999 !important;\n}\n"] }]
|
|
868
|
+
args: [{ standalone: false, selector: 'mj-create-sub-agent-dialog', template: "<div class=\"sub-agent-dialog\">\n <div class=\"sub-agent-header\">\n <h2 class=\"dialog-title\">\n <i class=\"fa-solid fa-robot\"></i>\n {{ config.title || 'Create New Sub-Agent' }}\n </h2>\n @if (config.ParentAgentName) {\n <p class=\"parent-info\">\n <i class=\"fa-solid fa-link\"></i>\n Sub-agent of: <strong>{{ config.ParentAgentName }}</strong>\n </p>\n }\n </div>\n\n @if (isLoading$ | async) {\n <div class=\"loading-container\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading sub-agent creation form...</span>\n </div>\n } @else {\n <form [formGroup]=\"subAgentForm\" class=\"sub-agent-form\">\n <!-- Basic Information Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Basic Information\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"name\">Name *</label>\n <input type=\"text\" id=\"name\" formControlName=\"name\" class=\"form-control\" placeholder=\"Enter sub-agent name\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"typeID\">Type *</label>\n <select id=\"typeID\" formControlName=\"typeID\" class=\"form-control\">\n <option value=\"\">Select agent type...</option>\n @for (type of availableAgentTypes$ | async; track type.ID) {\n <option [value]=\"type.ID\">{{ type.Name }}</option>\n }\n </select>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"description\">Description</label>\n <textarea id=\"description\" formControlName=\"description\" class=\"form-control\" rows=\"2\" placeholder=\"Enter description\"></textarea>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"status\">Status</label>\n <select id=\"status\" formControlName=\"status\" class=\"form-control\">\n <option value=\"Pending\">Pending</option>\n <option value=\"Active\">Active</option>\n <option value=\"Disabled\">Disabled</option>\n </select>\n </div>\n \n <div class=\"form-group\">\n <label for=\"executionMode\">Execution Mode</label>\n <select id=\"executionMode\" formControlName=\"executionMode\" class=\"form-control\">\n <option value=\"Sequential\">Sequential</option>\n <option value=\"Parallel\">Parallel</option>\n </select>\n </div>\n </div>\n </div>\n\n <!-- Purpose & Messages Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-bullseye\"></i>\n Purpose & Messages\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"purpose\">Purpose</label>\n <input type=\"text\" id=\"purpose\" formControlName=\"purpose\" class=\"form-control\" placeholder=\"Enter the purpose of this sub-agent\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"userMessage\">User Message</label>\n <textarea id=\"userMessage\" formControlName=\"userMessage\" class=\"form-control\" rows=\"3\" placeholder=\"Enter user message\"></textarea>\n </div>\n </div>\n\n <!-- System Message field removed - property does not exist on MJAIAgentEntity -->\n </div>\n\n <!-- Model Configuration Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-cogs\"></i>\n Model Configuration\n </h3>\n \n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"modelSelectionMode\">Model Selection Mode</label>\n <select id=\"modelSelectionMode\" formControlName=\"modelSelectionMode\" class=\"form-control\">\n <option value=\"Agent Type\">Agent Type</option>\n <option value=\"Agent\">Agent</option>\n </select>\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"temperature\">Temperature</label>\n <input type=\"number\" id=\"temperature\" formControlName=\"temperature\" class=\"form-control\" min=\"0\" max=\"2\" step=\"0.1\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"topP\">Top P</label>\n <input type=\"number\" id=\"topP\" formControlName=\"topP\" class=\"form-control\" min=\"0\" max=\"1\" step=\"0.1\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"topK\">Top K</label>\n <input type=\"number\" id=\"topK\" formControlName=\"topK\" class=\"form-control\" min=\"1\" max=\"100\" step=\"1\">\n </div>\n \n <div class=\"form-group\">\n <label for=\"maxTokens\">Max Tokens</label>\n <input type=\"number\" id=\"maxTokens\" formControlName=\"maxTokens\" class=\"form-control\" min=\"1\" max=\"32000\" step=\"1\">\n </div>\n </div>\n\n <div class=\"form-row\">\n <div class=\"form-group\">\n <label for=\"enableCaching\">\n <input type=\"checkbox\" id=\"enableCaching\" formControlName=\"enableCaching\">\n Enable Caching\n </label>\n </div>\n \n <div class=\"form-group\">\n <label for=\"cacheTTL\">Cache TTL (seconds)</label>\n <input type=\"number\" id=\"cacheTTL\" formControlName=\"cacheTTL\" class=\"form-control\" min=\"60\" max=\"86400\" step=\"60\">\n </div>\n </div>\n </div>\n\n <!-- Prompts Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-comments\"></i>\n Prompts ({{ linkedPromptCount }})\n </h3>\n \n <div class=\"section-actions\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"addPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Existing Prompt\n </button>\n <button type=\"button\" class=\"btn btn-success btn-sm\" (click)=\"createNewPrompt()\">\n <i class=\"fa-solid fa-plus\"></i>\n Create New Prompt\n </button>\n </div>\n\n @if (linkedPrompts.length > 0) {\n <div class=\"linked-items\">\n @for (prompt of linkedPrompts; track prompt.ID) {\n <div class=\"linked-item prompt-item\">\n <div class=\"item-info\">\n <i class=\"fa-solid fa-comments\"></i>\n <span class=\"item-name\">{{ prompt.Name }}</span>\n @if (prompt.Description) {\n <span class=\"item-description\">{{ prompt.Description }}</span>\n }\n </div>\n <button type=\"button\" class=\"btn btn-danger btn-xs\" (click)=\"removePrompt(prompt)\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n } @else {\n <mj-empty-state\n Icon=\"fa-solid fa-comments\"\n Title=\"No prompts added yet. Click the buttons above to add prompts.\"\n Size=\"compact\" />\n }\n </div>\n\n <!-- Actions Section -->\n <div class=\"form-section\">\n <h3 class=\"section-title\">\n <i class=\"fa-solid fa-bolt\"></i>\n Actions ({{ linkedActionCount }})\n </h3>\n \n <div class=\"section-actions\">\n <button type=\"button\" class=\"btn btn-primary btn-sm\" (click)=\"addAction()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Action\n </button>\n </div>\n\n @if (linkedActions.length > 0) {\n <div class=\"linked-items\">\n @for (action of linkedActions; track action.ID) {\n <div class=\"linked-item action-item\">\n <div class=\"item-info\">\n <i class=\"fa-solid fa-bolt\"></i>\n <span class=\"item-name\">{{ action.Name }}</span>\n @if (action.Description) {\n <span class=\"item-description\">{{ action.Description }}</span>\n }\n </div>\n <button type=\"button\" class=\"btn btn-danger btn-xs\" (click)=\"removeAction(action)\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n } @else {\n <mj-empty-state\n Icon=\"fa-solid fa-bolt\"\n Title=\"No actions added yet. Click the button above to add actions.\"\n Size=\"compact\" />\n }\n </div>\n </form>\n }\n\n <!-- Dialog Actions -->\n <div class=\"dialog-actions\">\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"cancel()\" [disabled]=\"isSaving$ | async\">\n <i class=\"fa-solid fa-times\"></i>\n Cancel\n </button>\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"save()\" [disabled]=\"(isSaving$ | async) || !subAgentForm.valid\">\n @if (isSaving$ | async) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Creating...\n } @else {\n <i class=\"fa-solid fa-save\"></i>\n Create Sub-Agent\n }\n </button>\n </div>\n</div>", styles: [".sub-agent-dialog {\n padding: 16px;\n max-width: 100%;\n max-height: 90vh;\n overflow-y: auto;\n}\n\n.sub-agent-header {\n margin-bottom: 20px;\n border-bottom: 1px solid var(--mj-border-default);\n padding-bottom: 15px;\n}\n\n.dialog-title {\n margin: 0;\n font-size: 1.4em;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.dialog-title i {\n color: var(--mj-brand-primary);\n}\n\n.parent-info {\n margin: 8px 0 0 0;\n color: var(--mj-text-secondary);\n font-size: 0.9em;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.parent-info i {\n color: var(--mj-status-success);\n}\n\n.loading-container {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n padding: 40px;\n color: var(--mj-text-secondary);\n}\n\n.loading-container i {\n font-size: 1.2em;\n color: var(--mj-brand-primary);\n}\n\n.sub-agent-form {\n display: flex;\n flex-direction: column;\n gap: 25px;\n}\n\n.form-section {\n border: 1px solid var(--mj-bg-surface-sunken);\n border-radius: 8px;\n padding: 20px;\n background-color: var(--mj-bg-surface-card);\n}\n\n.section-title {\n margin: 0 0 15px 0;\n font-size: 1.1em;\n font-weight: 600;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.section-title i {\n color: var(--mj-brand-primary);\n}\n\n.form-row {\n display: flex;\n gap: 15px;\n margin-bottom: 15px;\n}\n\n.form-row:last-child {\n margin-bottom: 0;\n}\n\n.form-group {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n\n.form-group label {\n font-weight: 500;\n color: var(--mj-text-secondary);\n margin-bottom: 5px;\n font-size: 0.9em;\n}\n\n.form-group label[for=\"enableCaching\"] {\n flex-direction: row;\n align-items: center;\n gap: 8px;\n}\n\n.form-group label[for=\"enableCaching\"] input {\n margin: 0;\n width: auto;\n}\n\n.form-control {\n padding: 8px 12px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 4px;\n font-size: 0.9em;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n.form-control:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--mj-brand-primary) 25%, transparent);\n}\n\n.form-control[readonly] {\n background-color: var(--mj-bg-surface-sunken);\n opacity: 1;\n}\n\n.section-actions {\n display: flex;\n gap: 10px;\n margin-bottom: 15px;\n}\n\n.linked-items {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.linked-item {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px;\n background-color: var(--mj-bg-surface);\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n transition: box-shadow 0.15s ease-in-out;\n}\n\n.linked-item:hover {\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.item-info {\n display: flex;\n align-items: center;\n gap: 10px;\n flex: 1;\n}\n\n.item-info i {\n color: var(--mj-brand-primary);\n width: 16px;\n text-align: center;\n}\n\n.item-name {\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n\n.item-description {\n color: var(--mj-text-secondary);\n font-size: 0.85em;\n margin-left: 10px;\n}\n\n.prompt-item .item-info i {\n color: var(--mj-status-success);\n}\n\n.action-item .item-info i {\n color: var(--mj-status-warning);\n}\n\n.dialog-actions {\n display: flex;\n justify-content: flex-end;\n gap: 10px;\n margin-top: 30px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.btn {\n padding: 8px 16px;\n border: none;\n border-radius: 4px;\n font-size: 0.9em;\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.15s ease-in-out;\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.btn:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n.btn-primary {\n background-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n.btn-primary:hover:not(:disabled) {\n background-color: var(--mj-brand-primary-hover);\n}\n\n.btn-secondary {\n background-color: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n.btn-secondary:hover:not(:disabled) {\n background-color: var(--mj-text-secondary);\n}\n\n.btn-success {\n background-color: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.btn-success:hover:not(:disabled) {\n background-color: var(--mj-status-success);\n}\n\n.btn-danger {\n background-color: var(--mj-status-error);\n color: var(--mj-text-inverse);\n}\n\n.btn-danger:hover:not(:disabled) {\n background-color: var(--mj-status-error);\n}\n\n.btn-sm {\n padding: 6px 12px;\n font-size: 0.8em;\n}\n\n.btn-xs {\n padding: 4px 8px;\n font-size: 0.75em;\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .sub-agent-dialog {\n padding: 15px;\n max-width: 95vw;\n }\n\n .form-row {\n flex-direction: column;\n gap: 10px;\n }\n\n .section-actions {\n flex-direction: column;\n }\n\n .dialog-actions {\n flex-direction: column;\n }\n\n .linked-item {\n flex-direction: column;\n align-items: flex-start;\n gap: 10px;\n }\n}\n\n/* Validation styles */\n.form-control.ng-invalid.ng-touched {\n border-color: var(--mj-status-error);\n}\n\n.form-control.ng-valid.ng-touched {\n border-color: var(--mj-status-success);\n}\n\n/* Custom scrollbar for dialog */\n.sub-agent-dialog::-webkit-scrollbar {\n width: 8px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-sunken);\n border-radius: 4px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 4px;\n}\n\n.sub-agent-dialog::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}\n\n/* Ensure dialog appears above banner and other elements */\n:host ::ng-deep .k-dialog,\n:host ::ng-deep .k-window {\n z-index: 10000 !important;\n}\n\n:host ::ng-deep .k-overlay {\n z-index: 9999 !important;\n}\n"] }]
|
|
709
869
|
}], () => [{ type: i0.ChangeDetectorRef }, { type: i1.AIAgentManagementService }, { type: i0.ViewContainerRef }], { DialogClose: [{
|
|
710
870
|
type: Output
|
|
711
871
|
}] }); })();
|