From 3b284295d7673b56fa22fab176119e95b34cb8e2 Mon Sep 17 00:00:00 2001 From: Tom Szendrey Date: Wed, 9 Oct 2024 09:41:53 -0400 Subject: [PATCH 1/6] Adding Output Console to drilldowns with notebooks (#5087) --- .../drilldown/tera-notebook-output.vue | 55 +++++++++++++++++++ .../widgets/tera-resizable-panel.vue | 25 ++++++++- .../model-edit/tera-model-edit-drilldown.vue | 20 ++++--- 3 files changed, 90 insertions(+), 10 deletions(-) create mode 100644 packages/client/hmi-client/src/components/drilldown/tera-notebook-output.vue diff --git a/packages/client/hmi-client/src/components/drilldown/tera-notebook-output.vue b/packages/client/hmi-client/src/components/drilldown/tera-notebook-output.vue new file mode 100644 index 0000000000..8e31d36166 --- /dev/null +++ b/packages/client/hmi-client/src/components/drilldown/tera-notebook-output.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/packages/client/hmi-client/src/components/widgets/tera-resizable-panel.vue b/packages/client/hmi-client/src/components/widgets/tera-resizable-panel.vue index 5979b72f61..ab606c39a2 100644 --- a/packages/client/hmi-client/src/components/widgets/tera-resizable-panel.vue +++ b/packages/client/hmi-client/src/components/widgets/tera-resizable-panel.vue @@ -3,7 +3,8 @@
-
+
+
@@ -19,7 +20,11 @@ const containerHeight = ref(320); const draggedY = ref(0); const resize = (event: MouseEvent) => { - containerHeight.value += event.clientY - draggedY.value; + if (props?.resizeFromTop) { + containerHeight.value += -event.clientY + draggedY.value; + } else { + containerHeight.value += event.clientY - draggedY.value; + } draggedY.value = event.clientY; }; @@ -35,6 +40,7 @@ const startResize = (event: MouseEvent) => { }; const props = defineProps<{ startHeight?: number; + resizeFromTop?: boolean; }>(); onMounted(() => { @@ -71,7 +77,7 @@ main { height: 100%; } -.resize-handle { +.resize-handle-bottom { position: absolute; bottom: 0; left: 0; @@ -84,6 +90,19 @@ main { mix-blend-mode: darken; } +.resize-handle-top { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 6px; + cursor: ns-resize; + background: var(--surface-border-light); + z-index: 1; + border-radius: 0 0 var(--border-radius-big) var(--border-radius-big); + mix-blend-mode: darken; +} + .resize-handle:hover { background: var(--primary-color-light); } diff --git a/packages/client/hmi-client/src/components/workflow/ops/model-edit/tera-model-edit-drilldown.vue b/packages/client/hmi-client/src/components/workflow/ops/model-edit/tera-model-edit-drilldown.vue index 248a75cbd7..c6136572c4 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/model-edit/tera-model-edit-drilldown.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/model-edit/tera-model-edit-drilldown.vue @@ -41,6 +41,7 @@ class="ace-editor" :options="{ showPrintMargin: false }" /> + - + - + + + + + + + + + + @@ -85,25 +77,25 @@ diff --git a/packages/client/hmi-client/src/components/model/petrinet/tera-initial-table.vue b/packages/client/hmi-client/src/components/model/petrinet/tera-initial-table.vue index 250417a441..9d99911fc1 100644 --- a/packages/client/hmi-client/src/components/model/petrinet/tera-initial-table.vue +++ b/packages/client/hmi-client/src/components/model/petrinet/tera-initial-table.vue @@ -6,7 +6,7 @@ -
    +
    • @@ -16,22 +16,19 @@ {{ baseInitial }}
      @@ -47,7 +44,6 @@ @update-expression="emit('update-expression', $event)" @update-source="emit('update-source', $event)" /> -
    @@ -74,7 +70,6 @@ import { MiraModel, MiraTemplateParams } from '@/model-representation/mira/mira- import Accordion from 'primevue/accordion'; import AccordionTab from 'primevue/accordiontab'; import Button from 'primevue/button'; -import Divider from 'primevue/divider'; import TeraInputText from '@/components/widgets/tera-input-text.vue'; import type { FeatureConfig } from '@/types/common'; import TeraStratifiedMatrixModal from './model-configurations/tera-stratified-matrix-modal.vue'; @@ -125,8 +120,13 @@ const filterText = ref(''); diff --git a/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config-drilldown.vue b/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config-drilldown.vue index 55405d5d6a..536def7d58 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config-drilldown.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-config-drilldown.vue @@ -14,22 +14,17 @@ content-width="360px" > - @@ -178,6 +178,7 @@ + + @@ -286,6 +288,11 @@ const calibratedConfigObservables = computed(() => })) ); +// Check if the model configuration is the same as the original +const isModelConfigChanged = computed( + () => !isModelConfigsEqual(originalConfig.value, knobs.value.transientModelConfig) +); + // Save button is disabled if the model configuration name is empty, the values have changed, or the configuration is the same as the original const isSaveDisabled = computed( () => @@ -627,7 +634,6 @@ const applyConfigValues = (config: ModelConfiguration) => { state: omit(state, ['transientModelConfig']) }); } - logger.success(`Configuration applied ${config.name}`); }; const onEditDescription = async () => { @@ -794,9 +800,29 @@ onUnmounted(() => { padding: var(--gap-2); } -ul { - list-style: none; - padding-top: var(--gap-small); +.input-config { + ul { + list-style: none; + padding-top: var(--gap-4); + } + + li { + & > * { + border-bottom: 1px solid var(--gray-300); + border-right: 1px solid var(--gray-300); + } + + &:first-child > * { + border-top: 1px solid var(--gray-300); + border-top-left-radius: var(--border-radius); + border-top-right-radius: var(--border-radius); + } + + &:last-child > * { + border-bottom-left-radius: var(--border-radius); + border-bottom-right-radius: var(--border-radius); + } + } } button.start-edit { diff --git a/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-configuration-item.vue b/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-configuration-item.vue index 99659c4e72..ffb0b719bb 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-configuration-item.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/model-config/tera-model-configuration-item.vue @@ -1,15 +1,12 @@ @@ -17,7 +14,6 @@ import { ModelConfiguration } from '@/types/Types'; import { formatTimestamp } from '@/utils/date'; import Button from 'primevue/button'; -import Divider from 'primevue/divider'; import ContextMenu from 'primevue/contextmenu'; import { ref } from 'vue'; import { useConfirm } from 'primevue/useconfirm'; @@ -77,30 +73,42 @@ const onDeleteConfiguration = () => { diff --git a/packages/gollm/gollm_openai/prompts/config_from_document.py b/packages/gollm/gollm_openai/prompts/config_from_document.py index 10e4450dea..6ab4a72378 100644 --- a/packages/gollm/gollm_openai/prompts/config_from_document.py +++ b/packages/gollm/gollm_openai/prompts/config_from_document.py @@ -26,13 +26,13 @@ a. `target` should reference the id of the initial variable from the AMR model ODE semantics. b. `source` should reference the title or file name of the research paper. c. `type` should be set to "initial”. - d. You should extract a numerical value or an expression of the initial state from the user-provided text if possible and add it to `expression` + d. You should extract a numerical value or an expression of the initial state from the user-provided text if possible and add it to `expression`. If you can not find a value in the text leave expression and expressionMathml blank. e. `expression_mathml` should be `expression` written in MathML format. 5. For each parameter specified in the AMR model ODE semantics, create a parameter semantic object. Do not create new parameter semantic objects if they are not included in the original AMR model. You should set parameter semantic object fields using the following rules: a. `reference_id` should reference the id of the parameter. b. `source` should reference the title or file name of the research paper. c. `type` should be set to "parameter". - d. Be sure to extract parameter values from the user-provided text, and do not use the default values from the AMR model. + d. Be sure to extract parameter values from the user-provided text, and do not use the default values from the AMR model. If you can not find a value in the text set `type` to "Constant" and leave `value`, `minimum`, and `maximum` blank. - If the extracted parameter value is a single constant value, set the parameter `value` to the constant value and set `type` to "Constant". - If the extracted parameter value is a distribution with a maximum and minimum value, set `type` to only "Uniform" and populate the `minimum` and `maximum` fields. 6. `observableSemanticList` should be an empty list. From 79f8b03103514924794bb90c5d933449159a228a Mon Sep 17 00:00:00 2001 From: Yohann Paris Date: Wed, 9 Oct 2024 13:20:30 -0400 Subject: [PATCH 6/6] 5038 bug intervention policies are not described well in simulate (#5079) --- .../tera-intervention-summary-card.vue | 57 +++++++++++++++++++ .../tera-calibrate-ciemss-drilldown.vue | 2 +- .../tera-intervention-policy-card.vue | 54 ++++++++++-------- .../tera-intervention-policy-drilldown.vue | 24 +++++++- .../tera-intervention-summary-card.vue | 49 ---------------- .../tera-simulate-ciemss-drilldown.vue | 2 +- 6 files changed, 110 insertions(+), 78 deletions(-) create mode 100644 packages/client/hmi-client/src/components/intervention-policy/tera-intervention-summary-card.vue delete mode 100644 packages/client/hmi-client/src/components/workflow/ops/simulate-ciemss/tera-intervention-summary-card.vue diff --git a/packages/client/hmi-client/src/components/intervention-policy/tera-intervention-summary-card.vue b/packages/client/hmi-client/src/components/intervention-policy/tera-intervention-summary-card.vue new file mode 100644 index 0000000000..9de1c7a679 --- /dev/null +++ b/packages/client/hmi-client/src/components/intervention-policy/tera-intervention-summary-card.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/packages/client/hmi-client/src/components/workflow/ops/calibrate-ciemss/tera-calibrate-ciemss-drilldown.vue b/packages/client/hmi-client/src/components/workflow/ops/calibrate-ciemss/tera-calibrate-ciemss-drilldown.vue index 69ef6bfede..fe1753502f 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/calibrate-ciemss/tera-calibrate-ciemss-drilldown.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/calibrate-ciemss/tera-calibrate-ciemss-drilldown.vue @@ -498,7 +498,7 @@ import TeraSaveSimulationModal from '@/components/project/tera-save-simulation-m import { useClientEvent } from '@/composables/useClientEvent'; import { useDrilldownChartSize } from '@/composables/useDrilldownChartSize'; import { flattenInterventionData, getInterventionPolicyById } from '@/services/intervention-policy'; -import TeraInterventionSummaryCard from '@/components/workflow/ops/simulate-ciemss/tera-intervention-summary-card.vue'; +import TeraInterventionSummaryCard from '@/components/intervention-policy/tera-intervention-summary-card.vue'; import { getParameters } from '@/model-representation/service'; import type { CalibrationOperationStateCiemss } from './calibrate-operation'; import { renameFnGenerator, mergeResults, getErrorData } from './calibrate-utils'; diff --git a/packages/client/hmi-client/src/components/workflow/ops/intervention-policy/tera-intervention-policy-card.vue b/packages/client/hmi-client/src/components/workflow/ops/intervention-policy/tera-intervention-policy-card.vue index df2bf90db7..61032a08a5 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/intervention-policy/tera-intervention-policy-card.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/intervention-policy/tera-intervention-policy-card.vue @@ -1,15 +1,12 @@ @@ -17,7 +14,6 @@ import { formatTimestamp } from '@/utils/date'; import ContextMenu from 'primevue/contextmenu'; import { ref } from 'vue'; -import Divider from 'primevue/divider'; import Button from 'primevue/button'; import { InterventionPolicy } from '@/types/Types'; @@ -45,32 +41,42 @@ const toggleContextMenu = (event) => { diff --git a/packages/client/hmi-client/src/components/workflow/ops/intervention-policy/tera-intervention-policy-drilldown.vue b/packages/client/hmi-client/src/components/workflow/ops/intervention-policy/tera-intervention-policy-drilldown.vue index 87b2d1d3de..c4f8f0fd0a 100644 --- a/packages/client/hmi-client/src/components/workflow/ops/intervention-policy/tera-intervention-policy-drilldown.vue +++ b/packages/client/hmi-client/src/components/workflow/ops/intervention-policy/tera-intervention-policy-drilldown.vue @@ -45,7 +45,7 @@ - +