@memberjunction/ng-core-entity-forms 6.2.0-edge.0 → 6.2.0-edge.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +1 -1
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +2 -2
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -1
- package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts +90 -16
- package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/add-action-dialog.component.js +218 -70
- package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +80 -16
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +146 -46
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +329 -27
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +794 -262
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +76 -0
- package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-management.service.js +77 -33
- package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +69 -15
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +182 -74
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +105 -25
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +272 -112
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +32 -6
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +71 -19
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +10 -0
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +27 -7
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +65 -15
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +152 -52
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +81 -15
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +145 -45
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +71 -17
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +175 -67
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +173 -27
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +385 -93
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts +64 -4
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +129 -29
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +260 -27
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +686 -238
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +10 -0
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +17 -9
- package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +74 -16
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +174 -58
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +108 -14
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.js +258 -70
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.d.ts +198 -14
- package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +387 -107
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts +12 -6
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts.map +1 -1
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.js +41 -29
- package/dist/lib/custom/BridgeProviders/bridge-provider-features.js.map +1 -1
- package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js +14 -14
- package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js.map +1 -1
- package/dist/lib/custom/Companies/company-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Companies/company-overview.panel.js +2 -2
- package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.js +2 -2
- package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
- package/dist/lib/custom/Employees/employee-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Employees/employee-overview.panel.js +2 -2
- package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts +209 -28
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +494 -138
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +5 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.js +10 -2
- package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
- package/dist/lib/custom/Files/file-form.component.d.ts +1 -1
- package/dist/lib/custom/Files/file-form.component.js +2 -2
- package/dist/lib/custom/Files/file-form.component.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.d.ts +300 -36
- package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +664 -208
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +31 -0
- package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -1
- package/dist/lib/custom/MLModels/ml-model-view-models.js +52 -16
- package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -1
- package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +107 -10
- package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -1
- package/dist/lib/custom/MLModels/ps-model-detail.component.js +291 -101
- package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.d.ts +201 -26
- package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +429 -109
- package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +107 -14
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.js +249 -79
- package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +110 -4
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js +858 -86
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js +4 -4
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
- package/dist/lib/custom/SessionBridges/session-bridge-form.component.js.map +1 -1
- package/dist/lib/custom/Templates/template-param-dialog.component.d.ts +77 -13
- package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/template-param-dialog.component.js +196 -78
- package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
- package/dist/lib/custom/Templates/template-params-grid.component.d.ts +49 -7
- package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/template-params-grid.component.js +132 -44
- package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.d.ts +142 -17
- package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.js +333 -113
- package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +24 -4
- package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.js +64 -20
- package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.d.ts +217 -27
- package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.js +549 -169
- package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-checks.d.ts +2 -0
- package/dist/lib/custom/Tests/test-run-checks.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-checks.js +5 -1
- package/dist/lib/custom/Tests/test-run-checks.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +2 -0
- package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js +5 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.d.ts +146 -18
- package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.js +362 -106
- package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts +390 -47
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.js +1015 -343
- package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +214 -26
- package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.js +535 -159
- package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
- package/dist/lib/custom/Users/user-overview.panel.d.ts +1 -1
- package/dist/lib/custom/Users/user-overview.panel.js +2 -2
- package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +208 -29
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +446 -138
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts +6 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js +16 -4
- package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts +50 -6
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +84 -12
- package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +89 -5
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +216 -70
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +62 -3
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +140 -42
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +81 -10
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +165 -37
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +140 -15
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +326 -100
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts +101 -15
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js +281 -97
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts +43 -25
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js +100 -64
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts +14 -2
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.js +71 -53
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts +14 -2
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js +70 -52
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts +8 -0
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js +22 -6
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts +24 -2
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js +91 -59
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts +10 -2
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js +33 -17
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts +2 -0
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js +34 -30
- package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts +14 -2
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js +69 -51
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +38 -12
- package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.js +103 -51
- package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +59 -51
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +76 -74
- package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +27 -25
- package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +155 -119
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts +5 -1
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts.map +1 -1
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +11 -3
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts +2 -0
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts.map +1 -1
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +16 -12
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts +1 -1
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +2 -2
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +45 -19
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.logic.js +95 -43
- package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +20 -16
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.js +73 -65
- package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
- package/dist/lib/shared/components/template-editor.component.d.ts +133 -14
- package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
- package/dist/lib/shared/components/template-editor.component.js +322 -124
- package/dist/lib/shared/components/template-editor.component.js.map +1 -1
- package/package.json +43 -42
|
@@ -11,15 +11,15 @@ export interface CreatePromptConfig {
|
|
|
11
11
|
/** Title for the dialog */
|
|
12
12
|
title?: string;
|
|
13
13
|
/** Initial name for the prompt */
|
|
14
|
-
|
|
14
|
+
InitialName?: string;
|
|
15
15
|
/** Pre-selected prompt type ID */
|
|
16
|
-
|
|
16
|
+
InitialTypeID?: string;
|
|
17
17
|
}
|
|
18
18
|
export interface CreatePromptResult {
|
|
19
19
|
/** Created prompt entity (not saved to database) */
|
|
20
20
|
prompt: MJAIPromptEntityExtended;
|
|
21
21
|
/** Created template entity (not saved to database) */
|
|
22
|
-
|
|
22
|
+
Template?: MJTemplateEntity;
|
|
23
23
|
/** Template content entities (not saved to database) */
|
|
24
24
|
templateContents?: MJTemplateContentEntity[];
|
|
25
25
|
}
|
|
@@ -33,18 +33,66 @@ export declare class CreatePromptDialogComponent extends BaseAngularComponent im
|
|
|
33
33
|
private aiPromptManagementService;
|
|
34
34
|
config: CreatePromptConfig;
|
|
35
35
|
private destroy$;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
36
|
+
Result: Subject<CreatePromptResult | null>;
|
|
37
|
+
/** @deprecated Use {@link Result}. */
|
|
38
|
+
get result(): Subject<CreatePromptResult | null>;
|
|
39
|
+
/** @deprecated Use {@link Result}. */
|
|
40
|
+
set result(value: Subject<CreatePromptResult | null>);
|
|
41
|
+
PromptForm: FormGroup;
|
|
42
|
+
/** @deprecated Use {@link PromptForm}. */
|
|
43
|
+
get promptForm(): FormGroup;
|
|
44
|
+
/** @deprecated Use {@link PromptForm}. */
|
|
45
|
+
set promptForm(value: FormGroup);
|
|
46
|
+
IsLoading$: BehaviorSubject<boolean>;
|
|
47
|
+
/** @deprecated Use {@link IsLoading$}. */
|
|
48
|
+
get isLoading$(): BehaviorSubject<boolean>;
|
|
49
|
+
/** @deprecated Use {@link IsLoading$}. */
|
|
50
|
+
set isLoading$(value: BehaviorSubject<boolean>);
|
|
51
|
+
IsSaving$: BehaviorSubject<boolean>;
|
|
52
|
+
/** @deprecated Use {@link IsSaving$}. */
|
|
53
|
+
get isSaving$(): BehaviorSubject<boolean>;
|
|
54
|
+
/** @deprecated Use {@link IsSaving$}. */
|
|
55
|
+
set isSaving$(value: BehaviorSubject<boolean>);
|
|
56
|
+
AvailablePromptTypes$: BehaviorSubject<MJAIPromptTypeEntity[]>;
|
|
57
|
+
/** @deprecated Use {@link AvailablePromptTypes$}. */
|
|
58
|
+
get availablePromptTypes$(): BehaviorSubject<MJAIPromptTypeEntity[]>;
|
|
59
|
+
/** @deprecated Use {@link AvailablePromptTypes$}. */
|
|
60
|
+
set availablePromptTypes$(value: BehaviorSubject<MJAIPromptTypeEntity[]>);
|
|
61
|
+
PromptEntity: MJAIPromptEntityExtended | null;
|
|
62
|
+
/** @deprecated Use {@link PromptEntity}. */
|
|
63
|
+
get promptEntity(): MJAIPromptEntityExtended | null;
|
|
64
|
+
/** @deprecated Use {@link PromptEntity}. */
|
|
65
|
+
set promptEntity(value: MJAIPromptEntityExtended | null);
|
|
66
|
+
TemplateEntity: MJTemplateEntity | null;
|
|
67
|
+
/** @deprecated Use {@link TemplateEntity}. */
|
|
68
|
+
get templateEntity(): MJTemplateEntity | null;
|
|
69
|
+
/** @deprecated Use {@link TemplateEntity}. */
|
|
70
|
+
set templateEntity(value: MJTemplateEntity | null);
|
|
71
|
+
TemplateContents: MJTemplateContentEntity[];
|
|
72
|
+
/** @deprecated Use {@link TemplateContents}. */
|
|
73
|
+
get templateContents(): MJTemplateContentEntity[];
|
|
74
|
+
/** @deprecated Use {@link TemplateContents}. */
|
|
75
|
+
set templateContents(value: MJTemplateContentEntity[]);
|
|
76
|
+
TemplateEditor: any;
|
|
77
|
+
/** @deprecated Use {@link TemplateEditor}. */
|
|
78
|
+
get templateEditor(): any;
|
|
79
|
+
/** @deprecated Use {@link TemplateEditor}. */
|
|
80
|
+
set templateEditor(value: any);
|
|
81
|
+
ShowTemplateEditor: boolean;
|
|
82
|
+
/** @deprecated Use {@link ShowTemplateEditor}. */
|
|
83
|
+
get showTemplateEditor(): boolean;
|
|
84
|
+
/** @deprecated Use {@link ShowTemplateEditor}. */
|
|
85
|
+
set showTemplateEditor(value: boolean);
|
|
86
|
+
TemplateEditorConfig: TemplateEditorConfig;
|
|
87
|
+
/** @deprecated Use {@link TemplateEditorConfig}. */
|
|
88
|
+
get templateEditorConfig(): TemplateEditorConfig;
|
|
89
|
+
/** @deprecated Use {@link TemplateEditorConfig}. */
|
|
90
|
+
set templateEditorConfig(value: TemplateEditorConfig);
|
|
91
|
+
TemplateMode: 'new' | 'existing';
|
|
92
|
+
/** @deprecated Use {@link TemplateMode}. */
|
|
93
|
+
get templateMode(): 'new' | 'existing';
|
|
94
|
+
/** @deprecated Use {@link TemplateMode}. */
|
|
95
|
+
set templateMode(value: 'new' | 'existing');
|
|
48
96
|
DialogClose: EventEmitter<void>;
|
|
49
97
|
constructor(cdr: ChangeDetectorRef, aiPromptManagementService: AIPromptManagementService);
|
|
50
98
|
ngOnInit(): void;
|
|
@@ -52,8 +100,12 @@ export declare class CreatePromptDialogComponent extends BaseAngularComponent im
|
|
|
52
100
|
private createForm;
|
|
53
101
|
private setupFormWatching;
|
|
54
102
|
private loadInitialData;
|
|
103
|
+
HandleTemplateModeChange(mode: string): Promise<void>;
|
|
104
|
+
/** @deprecated Use {@link HandleTemplateModeChange}. */
|
|
55
105
|
handleTemplateModeChange(mode: string): Promise<void>;
|
|
56
106
|
private createNewTemplate;
|
|
107
|
+
OnTemplateContentChange(contents: MJTemplateContentEntity[]): void;
|
|
108
|
+
/** @deprecated Use {@link OnTemplateContentChange}. */
|
|
57
109
|
onTemplateContentChange(contents: MJTemplateContentEntity[]): void;
|
|
58
110
|
save(): Promise<void>;
|
|
59
111
|
cancel(): void;
|
|
@@ -61,6 +113,8 @@ export declare class CreatePromptDialogComponent extends BaseAngularComponent im
|
|
|
61
113
|
* Opens the template selector dialog to link an existing template
|
|
62
114
|
*/
|
|
63
115
|
private openTemplateSelector;
|
|
116
|
+
get CurrentTemplate(): MJTemplateEntity | null;
|
|
117
|
+
/** @deprecated Use {@link CurrentTemplate}. */
|
|
64
118
|
get currentTemplate(): MJTemplateEntity | null;
|
|
65
119
|
static ɵfac: i0.ɵɵFactoryDeclaration<CreatePromptDialogComponent, never>;
|
|
66
120
|
static ɵcmp: i0.ɵɵComponentDeclaration<CreatePromptDialogComponent, "mj-create-prompt-dialog", never, {}, { "DialogClose": "DialogClose"; }, never, never, false, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-prompt-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/create-prompt-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAqB,YAAY,EAAE,MAAM,eAAe,CAAC;AACjH,OAAO,EAAe,SAAS,EAAc,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAa,MAAM,MAAM,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAChH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAGtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;AACrE,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,oDAAoD;IACpD,MAAM,EAAE,wBAAwB,CAAC;IACjC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,uBAAuB,EAAE,CAAC;CAC9C;AAED;;;;GAIG;AACH,qBAMa,2BAA4B,SAAQ,oBAAqB,YAAW,MAAM,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"create-prompt-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/AIAgents/create-prompt-dialog.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -195,6 +195,102 @@ function CreatePromptDialogComponent_Conditional_18_Template(rf, ctx) { if (rf &
|
|
|
195
195
|
* This ensures atomicity with the parent form's save operation.
|
|
196
196
|
*/
|
|
197
197
|
export class CreatePromptDialogComponent extends BaseAngularComponent {
|
|
198
|
+
/** @deprecated Use {@link Result}. */
|
|
199
|
+
get result() {
|
|
200
|
+
return this.Result;
|
|
201
|
+
}
|
|
202
|
+
/** @deprecated Use {@link Result}. */
|
|
203
|
+
set result(value) {
|
|
204
|
+
this.Result = value;
|
|
205
|
+
}
|
|
206
|
+
/** @deprecated Use {@link PromptForm}. */
|
|
207
|
+
get promptForm() {
|
|
208
|
+
return this.PromptForm;
|
|
209
|
+
}
|
|
210
|
+
/** @deprecated Use {@link PromptForm}. */
|
|
211
|
+
set promptForm(value) {
|
|
212
|
+
this.PromptForm = value;
|
|
213
|
+
}
|
|
214
|
+
/** @deprecated Use {@link IsLoading$}. */
|
|
215
|
+
get isLoading$() {
|
|
216
|
+
return this.IsLoading$;
|
|
217
|
+
}
|
|
218
|
+
/** @deprecated Use {@link IsLoading$}. */
|
|
219
|
+
set isLoading$(value) {
|
|
220
|
+
this.IsLoading$ = value;
|
|
221
|
+
}
|
|
222
|
+
/** @deprecated Use {@link IsSaving$}. */
|
|
223
|
+
get isSaving$() {
|
|
224
|
+
return this.IsSaving$;
|
|
225
|
+
}
|
|
226
|
+
/** @deprecated Use {@link IsSaving$}. */
|
|
227
|
+
set isSaving$(value) {
|
|
228
|
+
this.IsSaving$ = value;
|
|
229
|
+
}
|
|
230
|
+
/** @deprecated Use {@link AvailablePromptTypes$}. */
|
|
231
|
+
get availablePromptTypes$() {
|
|
232
|
+
return this.AvailablePromptTypes$;
|
|
233
|
+
}
|
|
234
|
+
/** @deprecated Use {@link AvailablePromptTypes$}. */
|
|
235
|
+
set availablePromptTypes$(value) {
|
|
236
|
+
this.AvailablePromptTypes$ = value;
|
|
237
|
+
}
|
|
238
|
+
/** @deprecated Use {@link PromptEntity}. */
|
|
239
|
+
get promptEntity() {
|
|
240
|
+
return this.PromptEntity;
|
|
241
|
+
}
|
|
242
|
+
/** @deprecated Use {@link PromptEntity}. */
|
|
243
|
+
set promptEntity(value) {
|
|
244
|
+
this.PromptEntity = value;
|
|
245
|
+
}
|
|
246
|
+
/** @deprecated Use {@link TemplateEntity}. */
|
|
247
|
+
get templateEntity() {
|
|
248
|
+
return this.TemplateEntity;
|
|
249
|
+
}
|
|
250
|
+
/** @deprecated Use {@link TemplateEntity}. */
|
|
251
|
+
set templateEntity(value) {
|
|
252
|
+
this.TemplateEntity = value;
|
|
253
|
+
}
|
|
254
|
+
/** @deprecated Use {@link TemplateContents}. */
|
|
255
|
+
get templateContents() {
|
|
256
|
+
return this.TemplateContents;
|
|
257
|
+
}
|
|
258
|
+
/** @deprecated Use {@link TemplateContents}. */
|
|
259
|
+
set templateContents(value) {
|
|
260
|
+
this.TemplateContents = value;
|
|
261
|
+
}
|
|
262
|
+
/** @deprecated Use {@link TemplateEditor}. */
|
|
263
|
+
get templateEditor() {
|
|
264
|
+
return this.TemplateEditor;
|
|
265
|
+
}
|
|
266
|
+
/** @deprecated Use {@link TemplateEditor}. */
|
|
267
|
+
set templateEditor(value) {
|
|
268
|
+
this.TemplateEditor = value;
|
|
269
|
+
} // Template editor component reference
|
|
270
|
+
/** @deprecated Use {@link ShowTemplateEditor}. */
|
|
271
|
+
get showTemplateEditor() {
|
|
272
|
+
return this.ShowTemplateEditor;
|
|
273
|
+
}
|
|
274
|
+
/** @deprecated Use {@link ShowTemplateEditor}. */
|
|
275
|
+
set showTemplateEditor(value) {
|
|
276
|
+
this.ShowTemplateEditor = value;
|
|
277
|
+
}
|
|
278
|
+
/** @deprecated Use {@link TemplateEditorConfig}. */
|
|
279
|
+
get templateEditorConfig() {
|
|
280
|
+
return this.TemplateEditorConfig;
|
|
281
|
+
}
|
|
282
|
+
/** @deprecated Use {@link TemplateEditorConfig}. */
|
|
283
|
+
set templateEditorConfig(value) {
|
|
284
|
+
this.TemplateEditorConfig = value;
|
|
285
|
+
}
|
|
286
|
+
/** @deprecated Use {@link TemplateMode}. */
|
|
287
|
+
get templateMode() {
|
|
288
|
+
return this.TemplateMode;
|
|
289
|
+
}
|
|
290
|
+
/** @deprecated Use {@link TemplateMode}. */
|
|
291
|
+
set templateMode(value) {
|
|
292
|
+
this.TemplateMode = value;
|
|
293
|
+
}
|
|
198
294
|
constructor(cdr, aiPromptManagementService) {
|
|
199
295
|
super();
|
|
200
296
|
this.cdr = cdr;
|
|
@@ -203,25 +299,25 @@ export class CreatePromptDialogComponent extends BaseAngularComponent {
|
|
|
203
299
|
this.config = {};
|
|
204
300
|
// State management
|
|
205
301
|
this.destroy$ = new Subject();
|
|
206
|
-
this.
|
|
207
|
-
this.
|
|
208
|
-
this.
|
|
302
|
+
this.Result = new Subject();
|
|
303
|
+
this.IsLoading$ = new BehaviorSubject(false);
|
|
304
|
+
this.IsSaving$ = new BehaviorSubject(false);
|
|
209
305
|
// Data
|
|
210
|
-
this.
|
|
306
|
+
this.AvailablePromptTypes$ = new BehaviorSubject([]);
|
|
211
307
|
// Entities (not saved to database)
|
|
212
|
-
this.
|
|
213
|
-
this.
|
|
214
|
-
this.
|
|
215
|
-
this.
|
|
216
|
-
this.
|
|
308
|
+
this.PromptEntity = null;
|
|
309
|
+
this.TemplateEntity = null;
|
|
310
|
+
this.TemplateContents = [];
|
|
311
|
+
this.ShowTemplateEditor = false;
|
|
312
|
+
this.TemplateEditorConfig = {
|
|
217
313
|
allowEdit: true,
|
|
218
314
|
showRunButton: false,
|
|
219
315
|
compactMode: true // Compact mode for dialog
|
|
220
316
|
};
|
|
221
317
|
// Template state
|
|
222
|
-
this.
|
|
318
|
+
this.TemplateMode = 'new';
|
|
223
319
|
this.DialogClose = new EventEmitter();
|
|
224
|
-
this.
|
|
320
|
+
this.PromptForm = this.createForm();
|
|
225
321
|
}
|
|
226
322
|
ngOnInit() {
|
|
227
323
|
this.loadInitialData();
|
|
@@ -233,9 +329,9 @@ export class CreatePromptDialogComponent extends BaseAngularComponent {
|
|
|
233
329
|
}
|
|
234
330
|
createForm() {
|
|
235
331
|
return new FormGroup({
|
|
236
|
-
name: new FormControl(this.config.
|
|
332
|
+
name: new FormControl(this.config.InitialName || '', [Validators.required]),
|
|
237
333
|
description: new FormControl(''),
|
|
238
|
-
typeID: new FormControl(this.config.
|
|
334
|
+
typeID: new FormControl(this.config.InitialTypeID || '', [Validators.required]),
|
|
239
335
|
status: new FormControl('Pending'),
|
|
240
336
|
outputType: new FormControl('string'),
|
|
241
337
|
templateMode: new FormControl('new')
|
|
@@ -243,15 +339,15 @@ export class CreatePromptDialogComponent extends BaseAngularComponent {
|
|
|
243
339
|
}
|
|
244
340
|
setupFormWatching() {
|
|
245
341
|
// Watch template mode changes
|
|
246
|
-
this.
|
|
342
|
+
this.PromptForm.get('templateMode')?.valueChanges
|
|
247
343
|
.pipe(takeUntil(this.destroy$))
|
|
248
344
|
.subscribe(mode => {
|
|
249
|
-
this.
|
|
250
|
-
this.
|
|
345
|
+
this.TemplateMode = mode;
|
|
346
|
+
this.HandleTemplateModeChange(mode);
|
|
251
347
|
});
|
|
252
348
|
}
|
|
253
349
|
async loadInitialData() {
|
|
254
|
-
this.
|
|
350
|
+
this.IsLoading$.next(true);
|
|
255
351
|
try {
|
|
256
352
|
// Load prompt types
|
|
257
353
|
const rv = RunView.FromMetadataProvider(this.ProviderToUse);
|
|
@@ -261,100 +357,108 @@ export class CreatePromptDialogComponent extends BaseAngularComponent {
|
|
|
261
357
|
ResultType: 'entity_object'
|
|
262
358
|
});
|
|
263
359
|
if (typesResult.Success && typesResult.Results) {
|
|
264
|
-
this.
|
|
360
|
+
this.AvailablePromptTypes$.next(typesResult.Results);
|
|
265
361
|
// Set default type if not specified
|
|
266
|
-
if (!this.config.
|
|
267
|
-
this.
|
|
362
|
+
if (!this.config.InitialTypeID && typesResult.Results.length > 0) {
|
|
363
|
+
this.PromptForm.patchValue({ typeID: typesResult.Results[0].ID });
|
|
268
364
|
}
|
|
269
365
|
}
|
|
270
366
|
// Create the prompt entity
|
|
271
367
|
const md = this.ProviderToUse;
|
|
272
|
-
this.
|
|
273
|
-
this.
|
|
368
|
+
this.PromptEntity = await md.GetEntityObject('MJ: AI Prompts');
|
|
369
|
+
this.PromptEntity.NewRecord();
|
|
274
370
|
// Set default values
|
|
275
|
-
this.
|
|
276
|
-
this.
|
|
277
|
-
this.
|
|
278
|
-
this.
|
|
371
|
+
this.PromptEntity.Status = 'Pending';
|
|
372
|
+
this.PromptEntity.OutputType = 'string';
|
|
373
|
+
this.PromptEntity.ValidationBehavior = 'None';
|
|
374
|
+
this.PromptEntity.EnableCaching = false;
|
|
279
375
|
// Create default template since it's required
|
|
280
376
|
await this.createNewTemplate();
|
|
281
|
-
this.
|
|
377
|
+
this.ShowTemplateEditor = true;
|
|
282
378
|
}
|
|
283
379
|
catch (error) {
|
|
284
380
|
console.error('Error loading prompt creation data:', error);
|
|
285
381
|
MJNotificationService.Instance.CreateSimpleNotification('Error loading data for prompt creation', 'error', 3000);
|
|
286
382
|
}
|
|
287
383
|
finally {
|
|
288
|
-
this.
|
|
384
|
+
this.IsLoading$.next(false);
|
|
289
385
|
}
|
|
290
386
|
}
|
|
291
|
-
async
|
|
387
|
+
async HandleTemplateModeChange(mode) {
|
|
292
388
|
if (mode === 'new') {
|
|
293
389
|
await this.createNewTemplate();
|
|
294
|
-
this.
|
|
390
|
+
this.ShowTemplateEditor = true;
|
|
295
391
|
}
|
|
296
392
|
else if (mode === 'existing') {
|
|
297
393
|
await this.openTemplateSelector();
|
|
298
394
|
}
|
|
299
395
|
this.cdr.detectChanges();
|
|
300
396
|
}
|
|
397
|
+
/** @deprecated Use {@link HandleTemplateModeChange}. */
|
|
398
|
+
async handleTemplateModeChange(mode) {
|
|
399
|
+
return this.HandleTemplateModeChange(mode);
|
|
400
|
+
}
|
|
301
401
|
async createNewTemplate() {
|
|
302
|
-
if (!this.
|
|
402
|
+
if (!this.PromptEntity)
|
|
303
403
|
return;
|
|
304
404
|
try {
|
|
305
405
|
const md = this.ProviderToUse;
|
|
306
406
|
// Create template entity
|
|
307
|
-
this.
|
|
308
|
-
this.
|
|
309
|
-
const promptName = this.
|
|
310
|
-
this.
|
|
311
|
-
this.
|
|
407
|
+
this.TemplateEntity = await md.GetEntityObject('MJ: Templates');
|
|
408
|
+
this.TemplateEntity.NewRecord();
|
|
409
|
+
const promptName = this.PromptForm.get('name')?.value || 'New Prompt';
|
|
410
|
+
this.TemplateEntity.Name = `${promptName} Template`;
|
|
411
|
+
this.TemplateEntity.Description = `Template for ${promptName}`;
|
|
312
412
|
// Set UserID on template (required field)
|
|
313
|
-
this.
|
|
413
|
+
this.TemplateEntity.UserID = md.CurrentUser.ID;
|
|
314
414
|
// Link template to prompt
|
|
315
|
-
this.
|
|
415
|
+
this.PromptEntity.TemplateID = this.TemplateEntity.ID;
|
|
316
416
|
}
|
|
317
417
|
catch (error) {
|
|
318
418
|
console.error('Error creating new template:', error);
|
|
319
419
|
MJNotificationService.Instance.CreateSimpleNotification('Error creating template', 'error', 3000);
|
|
320
420
|
}
|
|
321
421
|
}
|
|
422
|
+
OnTemplateContentChange(contents) {
|
|
423
|
+
this.TemplateContents = contents || [];
|
|
424
|
+
}
|
|
425
|
+
/** @deprecated Use {@link OnTemplateContentChange}. */
|
|
322
426
|
onTemplateContentChange(contents) {
|
|
323
|
-
this.
|
|
427
|
+
return this.OnTemplateContentChange(contents);
|
|
324
428
|
}
|
|
325
429
|
async save() {
|
|
326
|
-
if (!this.
|
|
430
|
+
if (!this.PromptForm.valid || !this.PromptEntity) {
|
|
327
431
|
MJNotificationService.Instance.CreateSimpleNotification('Please fill in all required fields', 'warning', 3000);
|
|
328
432
|
return;
|
|
329
433
|
}
|
|
330
|
-
this.
|
|
434
|
+
this.IsSaving$.next(true);
|
|
331
435
|
try {
|
|
332
436
|
// Update prompt entity with form values
|
|
333
|
-
const formValue = this.
|
|
334
|
-
this.
|
|
335
|
-
this.
|
|
336
|
-
this.
|
|
337
|
-
this.
|
|
338
|
-
this.
|
|
437
|
+
const formValue = this.PromptForm.value;
|
|
438
|
+
this.PromptEntity.Name = formValue.name;
|
|
439
|
+
this.PromptEntity.Description = formValue.description || '';
|
|
440
|
+
this.PromptEntity.TypeID = formValue.typeID;
|
|
441
|
+
this.PromptEntity.Status = formValue.status;
|
|
442
|
+
this.PromptEntity.OutputType = formValue.outputType;
|
|
339
443
|
// Get template contents if template editor is active
|
|
340
|
-
if (this.
|
|
444
|
+
if (this.TemplateEditor && this.ShowTemplateEditor) {
|
|
341
445
|
// Get the template contents from the editor without saving
|
|
342
446
|
// The parent form will handle saving in the proper order
|
|
343
|
-
this.
|
|
447
|
+
this.TemplateContents = this.TemplateEditor.templateContents || [];
|
|
344
448
|
// Ensure the template contents have the correct TemplateID
|
|
345
|
-
if (this.
|
|
346
|
-
this.
|
|
347
|
-
content.TemplateID = this.
|
|
449
|
+
if (this.TemplateContents && this.TemplateEntity) {
|
|
450
|
+
this.TemplateContents.forEach(content => {
|
|
451
|
+
content.TemplateID = this.TemplateEntity.ID;
|
|
348
452
|
});
|
|
349
453
|
}
|
|
350
454
|
}
|
|
351
455
|
// Return the created entities (not saved to database)
|
|
352
456
|
const result = {
|
|
353
|
-
prompt: this.
|
|
354
|
-
|
|
355
|
-
templateContents: this.
|
|
457
|
+
prompt: this.PromptEntity,
|
|
458
|
+
Template: this.TemplateEntity || undefined,
|
|
459
|
+
templateContents: this.TemplateContents.length > 0 ? this.TemplateContents : undefined
|
|
356
460
|
};
|
|
357
|
-
this.
|
|
461
|
+
this.Result.next(result);
|
|
358
462
|
this.DialogClose.emit();
|
|
359
463
|
}
|
|
360
464
|
catch (error) {
|
|
@@ -362,11 +466,11 @@ export class CreatePromptDialogComponent extends BaseAngularComponent {
|
|
|
362
466
|
MJNotificationService.Instance.CreateSimpleNotification('Error preparing prompt for creation', 'error', 3000);
|
|
363
467
|
}
|
|
364
468
|
finally {
|
|
365
|
-
this.
|
|
469
|
+
this.IsSaving$.next(false);
|
|
366
470
|
}
|
|
367
471
|
}
|
|
368
472
|
cancel() {
|
|
369
|
-
this.
|
|
473
|
+
this.Result.next(null);
|
|
370
474
|
this.DialogClose.emit();
|
|
371
475
|
}
|
|
372
476
|
/**
|
|
@@ -374,47 +478,51 @@ export class CreatePromptDialogComponent extends BaseAngularComponent {
|
|
|
374
478
|
*/
|
|
375
479
|
async openTemplateSelector() {
|
|
376
480
|
const config = {
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
481
|
+
Title: 'Select Template for AI Prompt',
|
|
482
|
+
ShowCreateNew: false,
|
|
483
|
+
MultiSelect: false,
|
|
484
|
+
ShowActiveOnly: true
|
|
381
485
|
};
|
|
382
486
|
try {
|
|
383
487
|
const result = await this.aiPromptManagementService.openTemplateSelectorDialog(config).toPromise();
|
|
384
|
-
if (result && result.
|
|
488
|
+
if (result && result.SelectedTemplates && result.SelectedTemplates.length > 0) {
|
|
385
489
|
// Link the selected template
|
|
386
|
-
this.
|
|
387
|
-
this.
|
|
490
|
+
this.TemplateEntity = result.SelectedTemplates[0];
|
|
491
|
+
this.PromptEntity.TemplateID = this.TemplateEntity.ID;
|
|
388
492
|
// Update UI to show selected template info
|
|
389
|
-
this.
|
|
390
|
-
MJNotificationService.Instance.CreateSimpleNotification(`Template "${this.
|
|
493
|
+
this.ShowTemplateEditor = false;
|
|
494
|
+
MJNotificationService.Instance.CreateSimpleNotification(`Template "${this.TemplateEntity.Name}" linked successfully`, 'success', 3000);
|
|
391
495
|
}
|
|
392
496
|
else {
|
|
393
497
|
// User cancelled, revert to new template mode
|
|
394
|
-
this.
|
|
498
|
+
this.PromptForm.patchValue({ templateMode: 'new' });
|
|
395
499
|
await this.createNewTemplate();
|
|
396
|
-
this.
|
|
500
|
+
this.ShowTemplateEditor = true;
|
|
397
501
|
}
|
|
398
502
|
}
|
|
399
503
|
catch (error) {
|
|
400
504
|
console.error('Error opening template selector:', error);
|
|
401
505
|
MJNotificationService.Instance.CreateSimpleNotification('Error opening template selector', 'error', 3000);
|
|
402
506
|
// Revert to new template mode
|
|
403
|
-
this.
|
|
507
|
+
this.PromptForm.patchValue({ templateMode: 'new' });
|
|
404
508
|
await this.createNewTemplate();
|
|
405
|
-
this.
|
|
509
|
+
this.ShowTemplateEditor = true;
|
|
406
510
|
}
|
|
407
511
|
}
|
|
408
512
|
// Getter for template debugging
|
|
513
|
+
get CurrentTemplate() {
|
|
514
|
+
return this.TemplateEntity;
|
|
515
|
+
}
|
|
516
|
+
/** @deprecated Use {@link CurrentTemplate}. */
|
|
409
517
|
get currentTemplate() {
|
|
410
|
-
return this.
|
|
518
|
+
return this.CurrentTemplate;
|
|
411
519
|
}
|
|
412
520
|
static { this.ɵfac = function CreatePromptDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CreatePromptDialogComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.AIPromptManagementService)); }; }
|
|
413
521
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CreatePromptDialogComponent, selectors: [["mj-create-prompt-dialog"]], viewQuery: function CreatePromptDialogComponent_Query(rf, ctx) { if (rf & 1) {
|
|
414
522
|
i0.ɵɵviewQuery(_c0, 5);
|
|
415
523
|
} if (rf & 2) {
|
|
416
524
|
let _t;
|
|
417
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.
|
|
525
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.TemplateEditor = _t.first);
|
|
418
526
|
} }, outputs: { DialogClose: "DialogClose" }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 19, vars: 13, consts: [["templateEditor", ""], [1, "create-prompt-dialog"], [1, "loading-state"], [1, "dialog-content", 3, "formGroup"], [1, "dialog-footer"], [1, "footer-left"], [1, "form-hint"], [1, "fa-solid", "fa-info-circle"], [1, "footer-right"], ["mjButton", "", "variant", "flat", 3, "click", "disabled"], ["mjButton", "", "variant", "primary", 3, "click", "disabled"], [1, "loading-spinner"], [1, "fa-solid", "fa-spinner", "fa-spin", "fa-2x"], [1, "form-section"], [1, "section-title"], [1, "form-grid"], [1, "form-field"], ["for", "promptName", 1, "field-label", "required"], [1, "fa-solid", "fa-tag"], ["id", "promptName", "formControlName", "name", "placeholder", "Enter prompt name...", 1, "mj-input", "full-width"], [1, "field-error"], ["for", "promptType", 1, "field-label", "required"], [1, "fa-solid", "fa-category"], ["id", "promptType", "formControlName", "typeID", "TextField", "Name", "ValueField", "ID", "Placeholder", "Select prompt type...", 1, "full-width", 3, "Data", "ValuePrimitive"], ["for", "promptStatus", 1, "field-label"], [1, "fa-solid", "fa-toggle-on"], ["id", "promptStatus", "formControlName", "status", 1, "full-width", 3, "Data", "ValuePrimitive"], ["for", "outputType", 1, "field-label"], [1, "fa-solid", "fa-file-code"], ["id", "outputType", "formControlName", "outputType", 1, "full-width", 3, "Data", "ValuePrimitive"], [1, "form-field", "full-width"], ["for", "promptDescription", 1, "field-label"], [1, "fa-solid", "fa-align-left"], ["id", "promptDescription", "formControlName", "description", "placeholder", "Enter prompt description (optional)...", "rows", "3", 1, "mj-textarea", "full-width"], [1, "fa-solid", "fa-file-alt"], [1, "template-mode-section"], [1, "field-label"], [1, "fa-solid", "fa-cog"], [1, "template-mode-options"], [1, "radio-option"], ["type", "radio", "id", "templateNew", "value", "new", "formControlName", "templateMode", 1, "radio-input"], ["for", "templateNew", 1, "radio-label"], [1, "fa-solid", "fa-plus-circle"], ["type", "radio", "id", "templateExisting", "value", "existing", "formControlName", "templateMode", 1, "radio-input"], ["for", "templateExisting", 1, "radio-label"], [1, "fa-solid", "fa-link"], [1, "template-editor-section"], [1, "existing-template-section"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "template-info"], [1, "template-name"], [1, "template-description"], [1, "template-editor-container"], [3, "contentChange", "template", "config"], [1, "existing-template-info"], [1, "template-header"], [1, "template-type-badge"], [1, "template-actions"], ["mjButton", "", "variant", "flat", 3, "click"], [1, "fa-solid", "fa-sync"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-plus"]], template: function CreatePromptDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
419
527
|
i0.ɵɵelementStart(0, "div", 1);
|
|
420
528
|
i0.ɵɵconditionalCreate(1, CreatePromptDialogComponent_Conditional_1_Template, 5, 0, "div", 2);
|
|
@@ -453,7 +561,7 @@ export class CreatePromptDialogComponent extends BaseAngularComponent {
|
|
|
453
561
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CreatePromptDialogComponent, [{
|
|
454
562
|
type: Component,
|
|
455
563
|
args: [{ standalone: false, selector: 'mj-create-prompt-dialog', template: "<!-- Create Prompt Dialog -->\n<div class=\"create-prompt-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 creation form...</p>\n </div>\n } @else {\n \n <!-- Form Content -->\n <form [formGroup]=\"promptForm\" class=\"dialog-content\">\n \n <!-- Basic Prompt Information -->\n <div class=\"form-section\">\n <h4 class=\"section-title\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Basic Information\n </h4>\n \n <div class=\"form-grid\">\n \n <!-- Name Field -->\n <div class=\"form-field\">\n <label for=\"promptName\" class=\"field-label required\">\n <i class=\"fa-solid fa-tag\"></i>\n Name\n </label>\n <input\n id=\"promptName\"\n class=\"mj-input full-width\"\n formControlName=\"name\"\n placeholder=\"Enter prompt name...\">\n @if (promptForm.get('name')?.invalid && promptForm.get('name')?.touched) {\n <div class=\"field-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n Name is required\n </div>\n }\n </div>\n\n <!-- Type Field -->\n <div class=\"form-field\">\n <label for=\"promptType\" class=\"field-label required\">\n <i class=\"fa-solid fa-category\"></i>\n Type\n </label>\n <mj-dropdown\n id=\"promptType\"\n formControlName=\"typeID\"\n [Data]=\"availablePromptTypes$ | async\"\n TextField=\"Name\"\n ValueField=\"ID\"\n [ValuePrimitive]=\"true\"\n Placeholder=\"Select prompt type...\"\n class=\"full-width\">\n </mj-dropdown>\n @if (promptForm.get('typeID')?.invalid && promptForm.get('typeID')?.touched) {\n <div class=\"field-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n Type is required\n </div>\n }\n </div>\n\n <!-- Status Field -->\n <div class=\"form-field\">\n <label for=\"promptStatus\" class=\"field-label\">\n <i class=\"fa-solid fa-toggle-on\"></i>\n Status\n </label>\n <mj-dropdown\n id=\"promptStatus\"\n formControlName=\"status\"\n [Data]=\"['Pending', 'Active', 'Disabled']\"\n [ValuePrimitive]=\"true\"\n class=\"full-width\">\n </mj-dropdown>\n </div>\n\n <!-- Output Type Field -->\n <div class=\"form-field\">\n <label for=\"outputType\" class=\"field-label\">\n <i class=\"fa-solid fa-file-code\"></i>\n Output Type\n </label>\n <mj-dropdown\n id=\"outputType\"\n formControlName=\"outputType\"\n [Data]=\"['string', 'object']\"\n [ValuePrimitive]=\"true\"\n class=\"full-width\">\n </mj-dropdown>\n </div>\n\n </div>\n\n <!-- Description Field -->\n <div class=\"form-field full-width\">\n <label for=\"promptDescription\" class=\"field-label\">\n <i class=\"fa-solid fa-align-left\"></i>\n Description\n </label>\n <textarea\n id=\"promptDescription\"\n class=\"mj-textarea full-width\"\n formControlName=\"description\"\n placeholder=\"Enter prompt description (optional)...\"\n rows=\"3\"></textarea>\n </div>\n\n </div>\n\n <!-- Template Configuration -->\n <div class=\"form-section\">\n <h4 class=\"section-title\">\n <i class=\"fa-solid fa-file-alt\"></i>\n Template Configuration\n </h4>\n \n <div class=\"template-mode-section\">\n <label class=\"field-label\">\n <i class=\"fa-solid fa-cog\"></i>\n Template Mode\n </label>\n \n <div class=\"template-mode-options\">\n <div class=\"radio-option\">\n <input type=\"radio\" \n id=\"templateNew\" \n value=\"new\" \n formControlName=\"templateMode\"\n class=\"radio-input\">\n <label for=\"templateNew\" class=\"radio-label\">\n <i class=\"fa-solid fa-plus-circle\"></i>\n Create New Template\n </label>\n </div>\n \n <div class=\"radio-option\">\n <input type=\"radio\" \n id=\"templateExisting\" \n value=\"existing\" \n formControlName=\"templateMode\"\n class=\"radio-input\">\n <label for=\"templateExisting\" class=\"radio-label\">\n <i class=\"fa-solid fa-link\"></i>\n Link Existing Template\n </label>\n </div>\n </div>\n </div>\n\n <!-- Template Editor Section (New Template) -->\n @if (showTemplateEditor && templateEntity && templateMode === 'new') {\n <div class=\"template-editor-section\">\n <div class=\"template-info\">\n <h5 class=\"template-name\">\n <i class=\"fa-solid fa-file-code\"></i>\n {{ templateEntity.Name }}\n </h5>\n @if (templateEntity.Description) {\n <p class=\"template-description\">{{ templateEntity.Description }}</p>\n }\n </div>\n \n <div class=\"template-editor-container\">\n <mj-template-editor \n #templateEditor\n [template]=\"templateEntity\"\n [config]=\"templateEditorConfig\"\n (contentChange)=\"onTemplateContentChange($event)\">\n </mj-template-editor>\n </div>\n </div>\n }\n \n <!-- Existing Template Display -->\n @if (templateEntity && templateMode === 'existing') {\n <div class=\"existing-template-section\">\n <div class=\"existing-template-info\">\n <div class=\"template-header\">\n <h5 class=\"template-name\">\n <i class=\"fa-solid fa-link\"></i>\n {{ templateEntity.Name }}\n </h5>\n <span class=\"template-type-badge\">\n <i class=\"fa-solid fa-tag\"></i>\n Existing Template\n </span>\n </div>\n \n @if (templateEntity.Description) {\n <p class=\"template-description\">{{ templateEntity.Description }}</p>\n }\n \n <div class=\"template-actions\">\n <button mjButton\n variant=\"flat\"\n (click)=\"handleTemplateModeChange('existing')\">\n <i class=\"fa-solid fa-sync\"></i>\n Change Template\n </button>\n </div>\n </div>\n </div>\n }\n\n </div>\n\n </form>\n\n }\n\n</div>\n\n<!-- Dialog Footer -->\n<div class=\"dialog-footer\">\n <div class=\"footer-left\">\n <span class=\"form-hint\">\n <i class=\"fa-solid fa-info-circle\"></i>\n @if (templateMode === 'new') {\n Created prompts and templates will be saved when you save the AI Agent\n } @else {\n Created prompt will be linked to existing template when you save the AI Agent\n }\n </span>\n </div>\n \n <div class=\"footer-right\">\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]=\"!promptForm.valid || ((isSaving$ | async) || false)\">\n @if (isSaving$ | async) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Creating...\n } @else {\n <i class=\"fa-solid fa-plus\"></i>\n Create Prompt\n }\n </button>\n </div>\n</div>", styles: ["/* Create Prompt Dialog Styles */\n.create-prompt-dialog {\n padding: 0;\n min-height: 400px;\n display: flex;\n flex-direction: column;\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\n/* Loading State */\n.loading-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n text-align: center;\n}\n\n.loading-spinner {\n margin-bottom: 16px;\n color: var(--mj-brand-primary);\n}\n\n/* Dialog Content */\n.dialog-content {\n flex: 1;\n padding: 20px;\n overflow-y: auto;\n max-height: 70vh;\n}\n\n/* Form Sections */\n.form-section {\n margin-bottom: 24px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n padding: 16px;\n background: var(--mj-bg-surface-card);\n}\n\n.section-title {\n margin: 0 0 16px 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\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 Grid Layout */\n.form-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin-bottom: 16px;\n}\n\n.form-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.form-field.full-width {\n grid-column: 1 / -1;\n}\n\n/* Field Labels */\n.field-label {\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.field-label.required::after {\n content: '*';\n color: var(--mj-status-error);\n margin-left: 2px;\n}\n\n.field-label i {\n font-size: 11px;\n color: var(--mj-text-muted);\n}\n\n/* Form Controls */\n.full-width {\n width: 100%;\n}\n\n/* Field Errors */\n.field-error {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 12px;\n color: var(--mj-status-error);\n margin-top: 4px;\n}\n\n.field-error i {\n font-size: 11px;\n}\n\n/* Template Mode Section */\n.template-mode-section {\n margin-bottom: 16px;\n}\n\n.template-mode-options {\n display: flex;\n gap: 16px;\n margin-top: 8px;\n flex-wrap: wrap;\n}\n\n.radio-option {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.radio-input {\n margin: 0;\n}\n\n.radio-label {\n font-size: 13px;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 4px 8px;\n border-radius: 4px;\n transition: background-color 0.2s ease;\n}\n\n.radio-label:hover {\n background-color: var(--mj-bg-surface-sunken);\n}\n\n.radio-label i {\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n/* Template Editor Section */\n.template-editor-section {\n margin-top: 16px;\n padding: 16px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n background: var(--mj-bg-surface);\n}\n\n.template-info {\n margin-bottom: 12px;\n}\n\n.template-name {\n margin: 0 0 4px 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.template-description {\n margin: 0;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n.template-editor-container {\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n overflow: hidden;\n min-height: 200px;\n}\n\n/* Existing Template Section */\n.existing-template-section {\n margin-top: 16px;\n padding: 16px;\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n background: var(--mj-bg-surface);\n}\n\n.existing-template-info {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.template-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n\n.template-type-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n background-color: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-radius: 12px;\n font-size: 11px;\n font-weight: 500;\n}\n\n.template-actions {\n display: flex;\n gap: 8px;\n}\n\n/* Dialog Footer */\n.dialog-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n gap: 16px;\n}\n\n.footer-left {\n flex: 1;\n}\n\n.footer-right {\n display: flex;\n gap: 8px;\n}\n\n.form-hint {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--mj-text-muted);\n}\n\n.form-hint i {\n color: var(--mj-brand-primary);\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n .form-grid {\n grid-template-columns: 1fr;\n }\n\n .template-mode-options {\n flex-direction: column;\n gap: 8px;\n }\n\n .dialog-footer {\n flex-direction: column;\n align-items: stretch;\n gap: 12px;\n }\n\n .footer-right {\n justify-content: stretch;\n }\n\n .footer-right button {\n flex: 1;\n }\n}\n\n/* Compact Template Editor Styles */\n:host ::ng-deep .template-editor-container mj-template-editor {\n --template-editor-min-height: 200px;\n}\n\n:host ::ng-deep .template-editor-container .template-editor-help {\n display: none; /* Hide help section in compact mode */\n}\n"] }]
|
|
456
|
-
}], () => [{ type: i0.ChangeDetectorRef }, { type: i1.AIPromptManagementService }], {
|
|
564
|
+
}], () => [{ type: i0.ChangeDetectorRef }, { type: i1.AIPromptManagementService }], { TemplateEditor: [{
|
|
457
565
|
type: ViewChild,
|
|
458
566
|
args: ['templateEditor']
|
|
459
567
|
}], DialogClose: [{
|